Connecting to Telegram
Supported Message Types
Version v4.15.0.
| Message Type | Receive Support | Send Support | Notes |
|---|---|---|---|
| Text | Yes | Yes | |
| Image | Yes | Yes | |
| Voice | Yes | Yes | |
| Video | Yes | Yes | |
| File | Yes | Yes |
Proactive message push: Supported.
1. Create a Telegram Bot
First, open Telegram and search for BotFather. Click Start, then send /newbot and follow the prompts to enter your bot's name and username.
After successful creation, BotFather will provide you with a token. Please keep it secure.
If you need to use the bot in group chats, you must disable the bot's Privacy mode. Send the /setprivacy command to BotFather, select your bot, and then choose Disable.
2. Configure AstrBot
- Enter the AstrBot admin panel
- Click
Platformsin the left sidebar - Click
Add Adapterabove the bot list - Select
telegram
Fill in the configuration fields that appear:
- ID: Enter any value to distinguish between different messaging platform instances.
- Enable: Check this option.
- Bot Token: Your Telegram bot's
token.
Please ensure your network environment can access Telegram. You may need to configure a proxy using Settings → Network → Proxy & Dependency Sources → HTTP Proxy.
Streaming Output
The Telegram platform supports streaming output. Open Config, select the configuration profile used by the Telegram bot, enable Streaming Output under AI → Common Settings → Message Handling, and click Save Configuration.
Private Chat Streaming
In private chats, AstrBot uses the sendMessageDraft API (added in Telegram Bot API v9.3) for streaming output. This displays a "typing" draft preview animation in the chat interface, creating a more natural "typewriter" effect. It avoids issues with the traditional approach such as message flickering, push notification interference, and API edit frequency limits.
Group Chat Streaming
In group chats, since the sendMessageDraft API only supports private chats, AstrBot automatically falls back to the traditional send_message + edit_message_text approach.
WARNING
sendMessageDraft requires python-telegram-bot>=22.6.
