Overview
Telegram is the recommended starting channel for ArgentOS. Setup takes under 5 minutes and the Bot API is reliable and well-documented.
Prerequisites
- A Telegram account
- ArgentOS gateway running (
argent gateway start)
Setup
Create a Bot with BotFather
- Open Telegram and search for @BotFather
- Send
/newbot
- Choose a display name (e.g., “My Argent Agent”)
- Choose a username ending in
bot (e.g., my_argent_bot)
- Copy the HTTP API token BotFather gives you
Add the Channel
argent channels add telegram
When prompted, paste your bot token. The CLI will verify the token and save it to your config.Configure (Optional)
Edit argent.json to customize Telegram-specific settings:{
"channels": {
"telegram": {
"enabled": true,
"token": "123456789:ABCdefGHIjklMNOpqrSTUvwxYZ",
"allowedUsers": [],
"polling": true,
"webhook": {
"enabled": false,
"url": "https://your-domain.com/webhook/telegram",
"port": 8443
}
}
}
}
Test
Send a message to your bot on Telegram. You should see it appear in the gateway logs and receive a response.argent gateway logs --follow
Polling vs Webhook
Polling (Default)
Webhook
The bot periodically checks for new messages. Simpler setup, works behind NAT.{
"channels": {
"telegram": {
"polling": true
}
}
}
Telegram pushes messages to your server. Lower latency, requires a public HTTPS endpoint.{
"channels": {
"telegram": {
"polling": false,
"webhook": {
"enabled": true,
"url": "https://your-domain.com/webhook/telegram",
"port": 8443
}
}
}
}
Security
Restricting Access
By default, anyone who finds your bot can message it. Use allowedUsers to restrict access.
{
"channels": {
"telegram": {
"allowedUsers": [123456789, 987654321]
}
}
}
Supported Features
| Feature | Supported |
|---|
| Text messages | Yes |
| Photos/images | Yes |
| Documents/files | Yes |
| Voice messages | Yes |
| Inline keyboards | Yes |
| Group chats | Partial |
| Threads/topics | No |