docs: clarify shared approval delivery

This commit is contained in:
Peter Steinberger
2026-03-30 08:02:58 +09:00
parent 52fb4a149a
commit d45b997ba9
3 changed files with 9 additions and 4 deletions

View File

@@ -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.*`)

View File

@@ -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

View File

@@ -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: