message 工具的 react
动作来添加和移除表情反应。行为会因渠道而异。
工作原理
- 在添加反应时,
emoji是必需的。 - 将
emoji设置为空字符串(""),可移除机器人在支持该功能的频道中的反应。 - 将
remove: true设置为移除一个特定表情符号(要求emoji非空)。 - 在具有状态反应的频道中,反应上的
trackToolCalls: true允许运行时重用该已反应消息,用于同一轮中的后续工具进度反应。
Channel Behavior
Discord and Slack
Discord and Slack
- An empty
emojiwill remove all of the bot’s reactions on that message. remove: truewill only remove the specified emoji.
Nextcloud Talk
Nextcloud Talk
- Add-only reactions:
emojiis required and cannot be empty. - Reaction removal is not yet wired to a delete call;
remove: truereturns a clear error rather than silently doing nothing. - Requires a bot registered in Talk with the
reactionfeature enabled (see Nextcloud Talk channel docs).
Telegram
Telegram
- An empty
emojiwill remove the bot’s reaction. remove: truealso removes reactions, but tool validation still requires a non-emptyemoji.
WhatsApp
- An empty
emojiwill remove the bot reaction. remove: trueis internally mapped to an empty emoji (butemojiis still required in the tool call).- WhatsApp has a single bot-reaction slot per message; sending a new reaction replaces it instead of stacking multiple emoji.
Zalo Personal (zalouser)
Zalo Personal (zalouser)
- Both adding and removing require a non-empty
emoji. remove: truewill remove that specific emoji reaction.
Feishu/Lark
Feishu/Lark
- Uses the same
reactoperation as other channels (add/remove/list via reaction ID) rather than a separate tool. - Adding requires a non-empty
emoji(mapped to Feishu’semoji_type, e.g.SMILE,THUMBSUP,HEART). remove: truerequires a non-emptyemojiand removes the bot’s own reaction matching that emoji type.clearAll: truewith an emptyemojiwill remove all of the bot’s reactions on that message.
Signal
Signal
- Incoming reaction notifications are controlled by
channels.signal.reactionNotifications:"off"disables them,"own"(default) emits events when users react to bot messages,"all"emits events for all reactions, and"allowlist"emits only for senders inchannels.signal.reactionAllowlist.
iMessage
iMessage
- Outgoing reactions are iMessage tapbacks (
love,like,dislike,laugh,emphasize, andquestion);emojimust map to one of these types in order to add a reaction. - Using
remove: truewithout a recognizable tapback type removes all tapback types; if a recognizable type exists, only that one is removed.
反应级别
按频道设置的reactionLevel 会限制代理发送自身反应的频率。可选值:off、ack、minimal 或 extensive。
- Telegram 反应通知 -
channels.telegram.reactionLevel(默认minimal) - WhatsApp 反应级别 -
channels.whatsapp.reactionLevel(默认minimal) - Signal 反应 -
channels.signal.reactionLevel(默认minimal)
相关内容
- Agent Send - 包含
react的message工具 - Channels - 特定于频道的配置