openclaw-lighthouse

Telegram bot replies to text but not to photos/files

Problem

Your Telegram bot answers normal text messages, but it does not answer when you send:

Why this happens

For media messages, OpenClaw must first download the file from Telegram.

In some networks, that download path is blocked or unstable unless a proxy is used.
So text works, but media download fails — and you get no reply.

Step-by-step fix

1) Add a Telegram proxy in config

Open this file:

~/.openclaw/openclaw.json

Add (or update) channels.telegram.proxy:

"channels": {
  "telegram": {
    "enabled": true,
    "dmPolicy": "pairing",
    "groupPolicy": "open",
    "streamMode": "partial",
    "proxy": "http://<proxy-host>:<proxy-port>"
  }
}

2) Restart gateway

openclaw gateway restart

3) Run a quick test

  1. Send a plain text message to the bot (should reply).
  2. Send one image only (should reply).
  3. Send image + caption (should reply).

If all 3 work, the fix is done.

Optional checks if it still fails

1) Check service health

openclaw status
openclaw gateway status
openclaw channels status --probe

2) Watch logs while sending one test image

openclaw logs --follow --json --local-time --max-bytes 300000

Look for media download errors (for example: MediaFetchError, fetch failed, timeout).

3) Compare IPv4 vs IPv6 route (advanced)

curl -4sv "https://api.telegram.org/file/bot<BOT_TOKEN>/<file_path>" -o /tmp/tg-test.jpg
curl -6sv "https://api.telegram.org/file/bot<BOT_TOKEN>/<file_path>" -o /tmp/tg-test-v6.jpg

If one works and the other fails, your network route is likely the cause.

Validation

Security note

Closed

Upstream status

References

Credits