惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

量子位
博客园 - 三生石上(FineUI控件)
D
DataBreaches.Net
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
GbyAI
GbyAI
P
Proofpoint News Feed
Microsoft Security Blog
Microsoft Security Blog
月光博客
月光博客
I
InfoQ
V
Visual Studio Blog
罗磊的独立博客
Engineering at Meta
Engineering at Meta
Vercel News
Vercel News
Jina AI
Jina AI
L
LangChain Blog
Apple Machine Learning Research
Apple Machine Learning Research
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
B
Blog
The Cloudflare Blog
小众软件
小众软件
雷峰网
雷峰网
V
V2EX
人人都是产品经理
人人都是产品经理
Stack Overflow Blog
Stack Overflow Blog

Recent Commits to openclaw:main

test: merge chat side-result checks · openclaw/openclaw@ddd2c2a test: merge cron history checks · openclaw/openclaw@f7eb746 test: merge responsive navigation shell checks · openclaw/openclaw@c2e4b47 docs(changelog): add codex oauth fixes · openclaw/openclaw@628e6cd test: merge navigation routing cases · openclaw/openclaw@5d8cecb Tests: mock channel registry bundled fallback · openclaw/openclaw@2b08233 Secrets: avoid broad web search discovery for single plugin config · openclaw/openclaw@a464f59 test: merge config view browser checks · openclaw/openclaw@20cf511 fix(status): align oauth health with runtime · openclaw/openclaw@eed7116 feat: add macOS screen snapshots for monitor preview (#67954) thanks … · openclaw/openclaw@f377db1 fix: report shared auth scopes in hello-ok (#67810) thanks @BunsDev · openclaw/openclaw@0b6c39b Auto-reply: avoid eager bundled route fallback · openclaw/openclaw@3ea1bf4 Tests: narrow session binding contract setup · openclaw/openclaw@54e4e16 fix(macOS): enable undo/redo in webchat composer text input (#34962) · openclaw/openclaw@00951dc Tests: speed up channel setup promotion · openclaw/openclaw@82b529a Docs: refresh agent instructions · openclaw/openclaw@5775fe2 fix(auth): serialize OAuth refresh across agents to fix #26322 (#67876) · openclaw/openclaw@8e79080 test: allow ollama public surface boundary test · openclaw/openclaw@7d4f1a6 Docs: add test performance guardrails · openclaw/openclaw@89706d3 Tests: restore context-engine usage proof · openclaw/openclaw@e4c4f95 Tests: slim context engine runtime coverage · openclaw/openclaw@74c198f ci: retry failed custom checkouts · openclaw/openclaw@0ee5baf test: trim duplicate provider auth onboarding cases · openclaw/openclaw@1ffc02e matrix: fix sessions_spawn --thread subagent session spawning (#67643) · openclaw/openclaw@1ce2596 test: reduce auth choice fixture churn · openclaw/openclaw@857b9cd test: mock health status config boundaries · openclaw/openclaw@9d5ab4a test: mock onboard config io boundary · openclaw/openclaw@299694d test: mock legacy state plugin boundaries · openclaw/openclaw@2713089 test: mock channel install boundaries · openclaw/openclaw@b945248 test: mock doctor preview channel boundaries · openclaw/openclaw@b1a3ad4
docs(channels): document ackReactionScope for Slack & Tel...
drclaw-iq · 2026-05-23 · via Recent Commits to openclaw:main
Original file line numberDiff line numberDiff line change

@@ -1048,20 +1048,47 @@ When a `message` tool call runs inside a Slack thread and targets the same chann

10481048
10491049

## Ack reactions

10501050
1051-

`ackReaction` sends an acknowledgement emoji while OpenClaw is processing an inbound message.

1051+

`ackReaction` sends an acknowledgement emoji while OpenClaw is processing an inbound message. `ackReactionScope` decides _when_ that emoji is actually sent.

1052+
1053+

### Emoji (`ackReaction`)

10521054
10531055

Resolution order:

10541056
10551057

- `channels.slack.accounts.<accountId>.ackReaction`

10561058

- `channels.slack.ackReaction`

10571059

- `messages.ackReaction`

1058-

- agent identity emoji fallback (`agents.list[].identity.emoji`, else "👀")

1060+

- agent identity emoji fallback (`agents.list[].identity.emoji`, else `"eyes"` / 👀)

10591061
10601062

Notes:

10611063
10621064

- Slack expects shortcodes (for example `"eyes"`).

10631065

- Use `""` to disable the reaction for the Slack account or globally.

10641066
1067+

### Scope (`messages.ackReactionScope`)

1068+
1069+

The Slack provider reads scope from `messages.ackReactionScope` (default `"group-mentions"`). There is no Slack-account or Slack-channel-level override today; the value is global to the gateway.

1070+
1071+

Values:

1072+
1073+

- `"all"`: react in DMs and groups.

1074+

- `"direct"`: react in DMs only.

1075+

- `"group-all"`: react on every group message (no DMs).

1076+

- `"group-mentions"` (default): react in groups, but only when the bot is mentioned (or in group mentionables that opted in). **DMs are excluded.**

1077+

- `"off"` / `"none"`: never react.

1078+
1079+

<Note>

1080+

The default scope (`"group-mentions"`) does not fire ack reactions in direct messages. To see the configured `ackReaction` (for example `"eyes"`) on inbound Slack DMs, set `messages.ackReactionScope` to `"direct"` or `"all"`. `messages.ackReactionScope` is read at Slack provider startup, so a gateway restart is needed for the change to take effect.

1081+

</Note>

1082+
1083+

```json5

1084+

{

1085+

messages: {

1086+

ackReaction: "eyes",

1087+

ackReactionScope: "all", // react in DMs and groups

1088+

},

1089+

}

1090+

```

1091+
10651092

## Text streaming

10661093
10671094

`channels.slack.streaming` controls live preview behavior:

Original file line numberDiff line numberDiff line change

@@ -792,9 +792,9 @@ curl "https://api.telegram.org/bot<bot_token>/getUpdates"

792792

</Accordion>

793793
794794

<Accordion title="Ack reactions">

795-

`ackReaction` sends an acknowledgement emoji while OpenClaw is processing an inbound message.

795+

`ackReaction` sends an acknowledgement emoji while OpenClaw is processing an inbound message. `ackReactionScope` decides *when* that emoji is actually sent.

796796
797-

Resolution order:

797+

**Emoji (`ackReaction`) resolution order:**

798798
799799

- `channels.telegram.accounts.<accountId>.ackReaction`

800800

- `channels.telegram.ackReaction`

@@ -806,6 +806,16 @@ curl "https://api.telegram.org/bot<bot_token>/getUpdates"

806806

- Telegram expects unicode emoji (for example "👀").

807807

- Use `""` to disable the reaction for a channel or account.

808808
809+

**Scope (`messages.ackReactionScope`):**

810+
811+

The Telegram provider reads scope from `messages.ackReactionScope` (default `"group-mentions"`). There is no Telegram-account or Telegram-channel-level override today.

812+
813+

Values: `"all"` (DMs + groups), `"direct"` (DMs only), `"group-all"` (every group message, no DMs), `"group-mentions"` (groups when the bot is mentioned; **no DMs** — this is the default), `"off"` / `"none"` (disabled).

814+
815+

<Note>

816+

The default scope (`"group-mentions"`) does not fire ack reactions in direct messages. To get an ack reaction on inbound Telegram DMs, set `messages.ackReactionScope` to `"direct"` or `"all"`. The value is read at Telegram provider startup, so a gateway restart is needed for the change to take effect.

817+

</Note>

818+
809819

</Accordion>

810820
811821

<Accordion title="Config writes from Telegram events and commands">