OpenClaw Telegram Bot Online but Not Replying: 10-Minute Fix Guide (2026)
This is one of the highest-frequency OpenClaw support issues: your Telegram bot shows online, but it does not reply.
This guide is optimized for speed: verify facts first, then fix the root cause.
0) Run these 4 commands first
openclaw status
openclaw gateway status
openclaw channels list
openclaw logs --follow
Then send a message to your bot and watch logs.
- Inbound logs exist, but no reply β check pairing / allowlist / group policy
- No inbound logs at all β check token / webhook / network reachability
1) Validate your bot token (always first)
# Replace TOKEN with your real bot token
curl "https://api.telegram.org/botTOKEN/getMe"
"ok":trueβ token is valid401 Unauthorizedβ token is invalid (regenerate in @BotFather)
After updating token:
openclaw config set channels.telegram.botToken "NEW_TOKEN"
openclaw gateway restart
2) Remove webhook conflicts (common polling blocker)
OpenClaw typically uses long polling. If Telegram still has a webhook URL set from an older setup, polling may not receive updates.
curl "https://api.telegram.org/botTOKEN/getWebhookInfo"
If url is not empty:
curl "https://api.telegram.org/botTOKEN/deleteWebhook"
openclaw gateway restart
3) Verify config location (frequent misconfiguration)
Telegram config must be under channels.telegram, not models.providers.
Correct example:
{
"channels": {
"telegram": {
"enabled": true,
"botToken": "123456:ABC..."
}
}
}
Run config diagnostics:
openclaw doctor
4) Pairing / allowlist is blocking DM replies
Default policy may require approval before the bot replies in DM.
openclaw pairing list telegram
openclaw pairing approve telegram <CODE>
If you intentionally want direct allow behavior (for your own account):
openclaw config set channels.telegram.dmPolicy "allowlist"
openclaw config set channels.telegram.allowFrom '["YOUR_NUMERIC_ID"]'
openclaw gateway restart
allowFromexpects numeric Telegram user IDs, not@username.
5) Works in DM, fails in groups: check privacy mode
If DM works but group messages are ignored:
- In
@BotFather, run/setprivacy - Select your bot and choose
Disable - Remove and re-add the bot to the group (important)
- Re-check group policy settings (
requireMention, sender policy)
You can capture chat.id from logs and apply explicit group rules.
6) Network checks: can the host reach Telegram API?
curl -v "https://api.telegram.org/botTOKEN/getMe"
nslookup api.telegram.org
If you deploy from mainland China, a stable VPS is usually more reliable than local network + proxy stacking.
Practical options:
- Tencent Cloud: easier CN purchase/ops flow
- Vultr: many global regions, fast provisioning
- DigitalOcean: excellent docs, strong baseline stability
7) Final verification checklist
openclaw status
openclaw gateway status --deep
openclaw doctor --deep
openclaw logs --follow
You should confirm:
- Gateway is
running - Telegram channel is enabled
- Inbound events appear when you send messages
- Bot replies (or logs an explicit policy decision, not silent failure)
8) 10-minute decision tree
- Online bot + no logs β token + webhook first
- Logs but no replies β pairing / allowlist / group policy
- DM works, group fails β disable privacy mode + re-add bot
- Random timeouts β network quality first, then move to stable VPS
If still unresolved, share these outputs in support:
openclaw status
openclaw gateway status --deep
openclaw doctor --deep
That gives enough signal for fast diagnosis instead of guesswork.