From ddc949b26116749bd0180492d3d2e3dd01ac997f Mon Sep 17 00:00:00 2001 From: "openclaw-docs-sync[bot]" Date: Sat, 2 May 2026 10:02:58 +0000 Subject: [PATCH] chore(sync): mirror docs from openclaw/openclaw@7020cfddbff5ee73a68ffd7dec3b18b3d20d4ea4 --- .openclaw-sync/source.json | 4 ++-- docs/.generated/config-baseline.sha256 | 4 ++-- docs/channels/telegram.md | 6 +++--- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/.openclaw-sync/source.json b/.openclaw-sync/source.json index 295fe7430..4ffa63599 100644 --- a/.openclaw-sync/source.json +++ b/.openclaw-sync/source.json @@ -1,5 +1,5 @@ { "repository": "openclaw/openclaw", - "sha": "1634f91a35b5e140bfd7912fa69a44c8137e41a9", - "syncedAt": "2026-05-02T09:57:31.211Z" + "sha": "7020cfddbff5ee73a68ffd7dec3b18b3d20d4ea4", + "syncedAt": "2026-05-02T10:01:05.541Z" } diff --git a/docs/.generated/config-baseline.sha256 b/docs/.generated/config-baseline.sha256 index 11d5747bd..7d5b51950 100644 --- a/docs/.generated/config-baseline.sha256 +++ b/docs/.generated/config-baseline.sha256 @@ -1,4 +1,4 @@ -ba41e5775c361dba63fec0441f943106d8cd0cb0f10c10fee36becc1555d5059 config-baseline.json +7d12cd37e835641b78986fa909208e34990a51b0cfe71480ecbd073db4576a0a config-baseline.json 7b1716d578d22e5b4388f56140b50d326f61327b760f8c580bdd9b971335fb85 config-baseline.core.json -74632b512b6470a155652c7d15b9e430738a05df3b5a85dca16cc4d84dcea764 config-baseline.channel.json +a2a949a99f5cc5960d4d7ae0159b6b48c4d6b1f813be67cda196457ab2f88034 config-baseline.channel.json fffe0e74eab92a88c3c57952a70bc932438ce3a7f5f9982688437f2cdaee0bcb config-baseline.plugin.json diff --git a/docs/channels/telegram.md b/docs/channels/telegram.md index 302ae4ddd..127bc0b52 100644 --- a/docs/channels/telegram.md +++ b/docs/channels/telegram.md @@ -260,7 +260,7 @@ curl "https://api.telegram.org/bot/getUpdates" - Routing is deterministic: Telegram inbound replies back to Telegram (the model does not pick channels). - Inbound messages normalize into the shared channel envelope with reply metadata and media placeholders. - Group sessions are isolated by group ID. Forum topics append `:topic:` to keep topics isolated. -- DM messages can carry `message_thread_id`; OpenClaw preserves the thread ID for replies but keeps DMs on the flat session by default. Configure `channels.telegram.direct..threadReplies: "inbound"` or `requireTopic: true` when you intentionally want DM topic session isolation. +- DM messages can carry `message_thread_id`; OpenClaw preserves the thread ID for replies but keeps DMs on the flat session by default. Configure `channels.telegram.dm.threadReplies: "inbound"`, `channels.telegram.direct..threadReplies: "inbound"`, `requireTopic: true`, or a matching topic config when you intentionally want DM topic session isolation. - Long polling uses grammY runner with per-chat/per-thread sequencing. Overall runner sink concurrency uses `agents.defaults.maxConcurrent`. - Long polling is guarded inside each gateway process so only one active poller can use a bot token at a time. If you still see `getUpdates` 409 conflicts, another OpenClaw gateway, script, or external poller is likely using the same token. - Long-polling watchdog restarts trigger after 120 seconds without completed `getUpdates` liveness by default. Increase `channels.telegram.pollingStallThresholdMs` only if your deployment still sees false polling-stall restarts during long-running work. The value is in milliseconds and is allowed from `30000` to `600000`; per-account overrides are supported. @@ -542,7 +542,7 @@ curl "https://api.telegram.org/bot/getUpdates" **Thread-bound ACP spawn from chat**: `/acp spawn --thread here|auto` binds the current topic to a new ACP session; follow-ups route there directly. OpenClaw pins the spawn confirmation in-topic. Requires `channels.telegram.threadBindings.spawnSessions` to remain enabled (default: `true`). - Template context exposes `MessageThreadId` and `IsForum`. DM chats with `message_thread_id` keep DM routing and reply metadata; they only use thread-aware session keys when the DM is configured with `threadReplies: "inbound"`, `threadReplies: "always"`, `requireTopic: true`, or a matching topic config. + Template context exposes `MessageThreadId` and `IsForum`. DM chats with `message_thread_id` keep DM routing and reply metadata on flat sessions by default; they only use thread-aware session keys when configured with `threadReplies: "inbound"`, `threadReplies: "always"`, `requireTopic: true`, or a matching topic config. Use top-level `channels.telegram.dm.threadReplies` for the account default, or `direct..threadReplies` for one DM. @@ -941,7 +941,7 @@ Primary reference: [Configuration reference - Telegram](/gateway/config-channels - access control: `dmPolicy`, `allowFrom`, `groupPolicy`, `groupAllowFrom`, `groups`, `groups.*.topics.*`, top-level `bindings[]` (`type: "acp"`) - exec approvals: `execApprovals`, `accounts.*.execApprovals` - command/menu: `commands.native`, `commands.nativeSkills`, `customCommands` -- threading/replies: `replyToMode` +- threading/replies: `replyToMode`, `dm.threadReplies`, `direct.*.threadReplies` - streaming: `streaming` (preview), `streaming.preview.toolProgress`, `blockStreaming` - formatting/delivery: `textChunkLimit`, `chunkMode`, `linkPreview`, `responsePrefix` - media/network: `mediaMaxMb`, `timeoutSeconds`, `pollingStallThresholdMs`, `retry`, `network.autoSelectFamily`, `network.dangerouslyAllowPrivateNetwork`, `proxy`