Skip to content

Telegram: Hot-reload breaks polling, dmPolicy=allowlist drops inbound messages #11011

@anooprdawar

Description

@anooprdawar

Summary

Telegram channel has two issues discovered during setup:

Issue 1: Hot-reload breaks polling silently

After a config change that touches channels.telegram.* settings, the Telegram provider restarts but polling gets stuck. No errors are logged - the provider just stops receiving updates.

Workaround: Toggle the channel off/on:

  1. Set channels.telegram.enabled = false, reload (SIGUSR1)
  2. Set channels.telegram.enabled = true, reload (SIGUSR1)

This reliably fixes the stuck polling.

Issue 2: dmPolicy: "allowlist" drops messages

When using:

{
  "dmPolicy": "allowlist",
  "allowFrom": ["8095791887"]
}

Messages are received (visible in debug logs as raw-update) but never routed to a session. No agent run starts, no response is sent.

With dmPolicy: "open" and allowFrom: ["*"], the same messages are received AND processed correctly.

Expected: allowlist with a specific user ID should route that user's messages to the appropriate session.

Environment

  • OpenClaw version: 2026.2.3-1
  • Node: v22.15.0
  • Platform: macOS 15.6.1 (arm64)
  • Telegram polling mode (no webhook)

Reproduction

  1. Configure Telegram with dmPolicy: "allowlist" and a specific user ID
  2. Send a message from that user
  3. Observe: raw-update logged, but no session run or response

Logs

Config reload shows success:

config hot reload applied (channels.telegram.dmPolicy, channels.telegram.allowFrom)
[default] starting provider (@slate_honsla_bot)

But no lane enqueue for the telegram session, only for session:agent:main:main.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workingstaleMarked as stale due to inactivity

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions