OpenClaw Telegram Polling Errors — How to Fix (2026)

Fix OpenClaw Telegram polling errors including 409 Conflict, 429 Too Many Requests, and connection timeout issues.

Common Telegram Polling Errors

409 Conflict — Duplicate Polling

This is the most common error. It means two or more instances are using the same bot token. Telegram only allows one active polling connection per token.

# Fix: Stop all instances, then start only one
docker stop openclaw
# Wait 30 seconds for Telegram to release the session
sleep 30
docker start openclaw

429 Too Many Requests

You're hitting Telegram's rate limits. OpenClaw should handle this automatically with backoff, but if not:

{
  "telegram": {
    "pollingInterval": 2000,
    "rateLimitRetryAfter": 5000,
    "maxRetries": 3
  }
}

Connection Timeout

Network issues between your server and Telegram's API servers. Common with certain cloud providers.

# Test connectivity to Telegram API
curl -v https://api.telegram.org/bot<YOUR_TOKEN>/getMe

# If this times out, check DNS and firewall
nslookup api.telegram.org
traceroute api.telegram.org

Switch to Webhooks (Recommended)

Webhooks avoid most polling issues and are the recommended approach for production:

{
  "telegram": {
    "botToken": "YOUR_BOT_TOKEN",
    "mode": "webhook",
    "webhookUrl": "https://your-domain.com/api/telegram/webhook",
    "webhookSecret": "random-secret-string"
  }
}

Verify Webhook Is Set

# Check current webhook status
curl "https://api.telegram.org/botYOUR_TOKEN/getWebhookInfo"

# Manually set webhook if needed
curl "https://api.telegram.org/botYOUR_TOKEN/setWebhook" \
  -d "url=https://your-domain.com/api/telegram/webhook" \
  -d "secret_token=your-secret"

Frequently Asked Questions

What does Telegram 409 Conflict error mean?

The 409 Conflict error means two or more processes are trying to poll the same Telegram bot token simultaneously. This happens when you run multiple OpenClaw instances with the same bot token, or when a crashed instance left a polling session open.

Should I use polling or webhooks for Telegram?

Webhooks are recommended for production. They are more reliable, lower latency, and don't suffer from the 409 Conflict issue. Polling is easier for development and works behind firewalls without a public URL.

How do I switch from polling to webhooks?

Set the webhook URL in your openclaw.json: "telegram": { "mode": "webhook", "webhookUrl": "https://your-domain.com/api/telegram/webhook" }. Then restart OpenClaw. It will automatically register the webhook with Telegram.

Why is my Telegram bot slow to respond?

Slow responses usually mean the AI model is taking long to generate a reply. Check your model timeout settings and consider using a faster model for real-time chat. Network latency between your server and Telegram's servers can also contribute.

Can I use both polling and webhooks simultaneously?

No, Telegram only supports one active method per bot token. If you set a webhook, polling is automatically disabled. To switch back to polling, you must delete the webhook first using the Telegram deleteWebhook API.

Related Articles

Telegram Setup in One Click

Our managed deployment configures webhooks automatically — no polling errors, ever.

Connect Telegram Now