Telegram inline bot that “plays” text like a voice note: it reveals your message gradually (chunk-by-chunk) at a selected speed, with an inline keyboard to show the full text or replay. This bot was created with a single purpose - to counter people who abuse voice messages. Built with C++23, CMake, and tgbot-cpp.
- Inline mode: type
@anti_VM_bot some textin any chat → choose a speed preset. - Gradual reveal: the bot edits the inline message repeatedly, revealing more words over time.
- Long text flow: save a longer text in a private chat, then send it via inline mode (Telegram inline mode limitations).
- Accumulative mode: keep the already-revealed text in the message while it grows.
- Inline keyboard actions:
- Show full text (opens the full message in an alert)
- Listen again (replays gradual reveal)
In private chat with the bot:
/start— help + speed presets/save— start long-text flow (send the text after this command)/clear— delete saved text/a— option for inline query to enable “accumulative” mode (@anti_VM_bot /a your text)
- In any chat, type:
@anti_VM_bot hello this is a test - Pick a speed preset from the inline results
- The message will start “playing” (gradually updating)
- Send
/saveto the bot - Send the long text
- In any chat, type:
@anti_VM_bot(empty query) - Pick a speed preset
Use /a at the beginning of the inline query:
@anti_VM_bot /a this text will accumulate
- Storage is in-memory (saved texts and message state reset on restart)
- “Premium” is currently a prototype
For a closer look at asynchrony, I decided to create this bot using the userver framework, where modern technologies will already be added. Repo with userver framework