diff --git a/docs/channels/discord.md b/docs/channels/discord.md index d9ad0cbbcc6..35ba524cc4e 100644 --- a/docs/channels/discord.md +++ b/docs/channels/discord.md @@ -956,6 +956,8 @@ Default slash command settings: When `target` is `channel` or `both`, the approval prompt is visible in the channel. Only resolved approvers can use the buttons; other users receive an ephemeral denial. Approval prompts include the command text, so only enable channel delivery in trusted channels. If the channel ID cannot be derived from the session key, OpenClaw falls back to DM delivery. + Discord also renders the shared approval buttons used by other chat channels. The native Discord adapter mainly adds approver DM routing and channel fanout. + Gateway auth for this handler uses the same shared credential resolution contract as other Gateway clients: - env-first local auth (`OPENCLAW_GATEWAY_TOKEN` / `OPENCLAW_GATEWAY_PASSWORD` then `gateway.auth.*`) diff --git a/docs/channels/telegram.md b/docs/channels/telegram.md index c984aeb4563..6784193cf2c 100644 --- a/docs/channels/telegram.md +++ b/docs/channels/telegram.md @@ -812,6 +812,8 @@ openclaw message poll --channel telegram --target -1001234567890:topic:42 \ Approvers must be numeric Telegram user IDs. Telegram becomes an exec approval client when `enabled` is true and at least one approver can be resolved, either from `execApprovals.approvers` or from the account's numeric owner config (`allowFrom` and direct-message `defaultTo`). Approval requests otherwise fall back to other configured approval routes or the exec approval fallback policy. + Telegram also renders the shared approval buttons used by other chat channels. The native Telegram adapter mainly adds approver DM routing, channel/topic fanout, and typing hints before delivery. + Delivery rules: - `target: "dm"` sends approval prompts only to resolved approver DMs diff --git a/docs/tools/exec-approvals.md b/docs/tools/exec-approvals.md index 6da2d82eee4..d4cd8c71025 100644 --- a/docs/tools/exec-approvals.md +++ b/docs/tools/exec-approvals.md @@ -387,8 +387,9 @@ independent config under `approvals.plugin`. Enabling or disabling one does not The config shape is identical to `approvals.exec`: `enabled`, `mode`, `agentFilter`, `sessionFilter`, and `targets` work the same way. -Channels that support interactive exec approval buttons (such as Telegram) also render buttons for -plugin approvals. Channels without adapter support fall back to plain text with `/approve` instructions. +Channels that support shared interactive replies render the same approval buttons for both exec and +plugin approvals. Channels without shared interactive UI fall back to plain text with `/approve` +instructions. ### Same-chat approvals on any channel @@ -410,8 +411,8 @@ Discord and Telegram can also act as native approval-delivery adapters with chan - Discord: `channels.discord.execApprovals.*` - Telegram: `channels.telegram.execApprovals.*` -These native delivery adapters are opt-in. They add DM routing, channel fanout, and interactive UI on -top of the shared same-chat `/approve` flow. +These native delivery adapters are opt-in. They add DM routing and channel fanout on top of the +shared same-chat `/approve` flow and the shared approval buttons. Shared behavior: