message 工具的 react
動作新增和移除 emoji 反應。行為會因頻道而異。
運作方式
- 新增反應時必須提供
emoji。 - 在支援的頻道上,將
emoji設為空字串("")可移除 Bot 的反應。 - 設定
remove: true可移除一個特定 emoji(需要非空的emoji)。 - 在有狀態反應的頻道上,反應中的
trackToolCalls: true會讓 runtime 在同一回合後續工具進度反應中重複使用該已反應的訊息。
頻道行為
Discord and Slack
Discord and Slack
- 空的
emoji會移除該訊息上 Bot 的所有反應。 remove: true只會移除指定的 emoji。
Google Chat
Google Chat
- 空的
emoji(或remove: true)會移除該訊息上 Bot 自己的反應;若已設定emoji,則篩選為該emoji。 remove: true只會移除指定的 emoji。
Nextcloud Talk
Nextcloud Talk
- 僅限新增反應:必須提供
emoji,且不得為空。 - 反應移除尚未接上刪除呼叫;
remove: true會以明確錯誤拒絕,而不是靜默地不執行任何動作。 - 需要 Talk Bot 註冊
reaction功能(請參閱 Nextcloud Talk 頻道文件)。
Telegram
Telegram
- 空的
emoji會移除 Bot 的反應。 remove: true也會移除反應,但為了工具驗證仍需要非空的emoji。
WhatsApp
- 空的
emoji會移除 Bot 反應。 remove: true會在內部對應為空 emoji(工具呼叫中仍需要emoji)。- WhatsApp 每則訊息有一個 Bot 反應槽;傳送新的反應會取代它,而不是堆疊多個 emoji。
Zalo Personal (zalouser)
Zalo Personal (zalouser)
- 新增和移除都需要非空的
emoji。 remove: true會移除該特定 emoji 反應。
Feishu/Lark
Feishu/Lark
- 使用與其他頻道相同的
react動作(透過訊息反應 ID 新增/移除/列出),而不是另一個工具。 - 新增需要非空的
emoji(對應到 Feishuemoji_type,例如SMILE、THUMBSUP、HEART)。 remove: true需要非空的emoji,並移除符合該 emoji 類型的 Bot 自己的反應。- 空的
emoji搭配clearAll: true會移除該訊息上 Bot 的所有反應。
Signal
Signal
- 入站反應通知由
channels.signal.reactionNotifications控制:"off"會停用;"own"(預設)會在使用者對 Bot 訊息作出反應時發出事件;"all"會對所有反應發出事件;"allowlist"只會針對channels.signal.reactionAllowlist中的傳送者發出事件。
iMessage
iMessage
- 出站反應是 iMessage tapback(
love、like、dislike、laugh、emphasize和question);emoji必須對應到其中一種,才能新增反應。 - 沒有可辨識 tapback 種類的
remove: true會移除所有 tapback 種類;有可辨識種類時,則只移除該一種。
反應等級
各頻道的reactionLevel 會限制代理傳送自己反應的頻率。值:off、ack、minimal 或 extensive。
- Telegram 反應通知 -
channels.telegram.reactionLevel(預設minimal) - WhatsApp 反應等級 -
channels.whatsapp.reactionLevel(預設minimal) - Signal 反應 -
channels.signal.reactionLevel(預設minimal)