Symptoms:
Webhook URL shows null in Telegram API (getWebhookInfo)
~14-17 second message delays (polling mode fallback)
Ngrok tunnel is healthy and responding (returns 401 for unauthorized requests as expected)
Manual curl to Telegram API from host shell works fine
OpenClaw gateway fails with network errors
Logs showing the problem:
Copy
{"subsystem":"telegram/network"}: fetch fallback: enabling sticky IPv4-only dispatcher (codes=ETIMEDOUT,ENETUNREACH)
{"subsystem":"gateway/channels/telegram"}: telegram setWebhook failed: Network request for 'setWebhook' failed!
Environment:
OpenClaw version: 2026.4.25 (aa36ee6)
Gateway mode: webhook configured with ngrok (https://undecocted-kathleen-snowy.ngrok-free.dev/telegram-webhook)
Config has webhookUrl and webhookSecret set correctly
Ngrok tunnel: Running and healthy (port 8787 → 127.0.0.1:8787)
What works:
Ngrok tunnel responds correctly (HTTP 401 for unauthorized webhook requests)
Manual curl https://api.telegram.org/bot<token>/setWebhook from host succeeds
Polling mode works (messages deliver, just slowly)
What doesn't work:
OpenClaw gateway cannot reach api.telegram.org to register webhook
IPv6 appears to fail, IPv4 fallback not resolving properly
Gateway logs show ETIMEDOUT/ENETUNREACH errors
Expected behavior: Gateway should successfully call Telegram API to register webhook URL.
Current workaround: Polling mode with ~14-17s delay.