2.3 KiB
2.3 KiB
Build a Telegram AI Agent with nanobot
This guide connects nanobot to Telegram so an allowed Telegram user can message a self-hosted AI agent backed by your normal nanobot config, tools, memory, and workspace.
What this guide builds
- a Telegram bot created through BotFather
- the
telegramchannel enabled in nanobot - a running nanobot gateway
- one test message from an allowed Telegram account
Prerequisites
- A working nanobot CLI reply:
nanobot agent -m "Hello!"
- A Telegram account.
- A bot token from
@BotFather. - Your Telegram user ID for
allowFrom.
Install nanobot
python -m pip install nanobot-ai
nanobot onboard --wizard
Enable the Telegram channel
Install the optional channel dependency:
nanobot plugins enable telegram
Merge this snippet into ~/.nanobot/config.json:
{
"channels": {
"telegram": {
"enabled": true,
"token": "YOUR_BOT_TOKEN",
"allowFrom": ["YOUR_USER_ID"]
}
}
}
Telegram uses long polling by default. Webhook mode is available for public HTTPS deployments; start with long polling for the first test.
Run nanobot gateway
nanobot channels status
nanobot gateway
Leave the gateway running while you test messages.
Test a message
Open Telegram, message the bot from the user in allowFrom, and send:
Hello from Telegram
The reply should use the same model and workspace as your local CLI check.
Security notes
- Keep
allowFromto your own user ID until the bot is stable. - Do not use
allowFrom: ["*"]unless the bot is isolated or intentionally public. - Rotate the BotFather token if it is pasted into logs or shared files.
- Review tool access before adding group chats or more users.
Troubleshooting
- If the channel is not listed, run
nanobot plugins enable telegramagain in the same Python environment. - If messages do not arrive, run
nanobot gateway --verboseand check the bot token and allowed user ID. - If Telegram Web shows unsupported rich messages, keep
richMessagesdisabled.