Capabilities
| Feature | Supported |
|---|---|
| Private chats | Yes |
| Group chats | Yes |
| Supergroups | Yes |
| Inline keyboards | Yes |
| File/media messages | Yes |
| Commands | Yes (/command) |
| Webhook mode | Yes |
| Long-polling mode | Yes |
Setup
Create a bot with BotFather
Open Telegram and message @BotFather:
Set webhook (optional)
For webhook mode, also set:If no webhook URL is set, profClaw uses long-polling automatically.
Environment Variables
Bot token from BotFather. Format:
1234567890:ABCdef...Public webhook URL. If not set, long-polling is used instead.
Secret token for webhook verification. Recommended for webhook mode.
Configuration Example
- .env (long-polling)
- .env (webhook)
- settings.yml
Bot Commands
Set up commands in BotFather for better UX:Usage in Groups
Add the bot to a group and it responds when:- Directly mentioned:
@your_bot_name What is... - Bot commands used:
/ask What is...
Notes
- Long-polling is simpler for development and doesn’t require a public URL.
- Webhook mode is recommended for production - lower latency and no missed messages.
- Telegram’s Bot API supports MarkdownV2 formatting for rich responses.
- Group bots require explicit permission to read all messages (or use commands only).
Related
- Chat Providers Overview - Compare all 27 supported channels
- WhatsApp - Business messaging via Meta’s Cloud API
- Signal - End-to-end encrypted messaging alternative
- profclaw channels - Enable and test the Telegram connection from the CLI