Tools
リアクション
エージェントは、messageツールのreactアクションを使用して絵文字リアクションを追加および削除します。動作はチャンネルによって異なります。
仕組み
{ "action": "react", "messageId": "msg-123", "emoji": "thumbsup"}- リアクションを追加する場合は
emojiが必須です。 - 対応しているチャンネルでボットのリアクションを削除するには、
emojiを空文字列("")に設定します。 - 特定の絵文字を1つ削除するには、
remove: trueを設定します(空でないemojiが必要です)。 - ステータスリアクションに対応するチャンネルでは、リアクションに
trackToolCalls: trueを設定すると、ランタイムは同じターン中の後続のツール進捗リアクションに、そのリアクションが付いたメッセージを再利用できます。
チャンネルごとの動作
DiscordとSlack
- 空の
emojiを指定すると、メッセージに付けたボットのすべてのリアクションが削除されます。 remove: trueを指定すると、指定した絵文字だけが削除されます。
Nextcloud Talk
- リアクションの追加のみ対応しています。
emojiは必須で、空にできません。 - リアクションの削除はまだ削除呼び出しに接続されていません。
remove: trueは何もせず暗黙に処理されるのではなく、明示的なエラーとして拒否されます。 reaction機能を有効にして登録されたTalkボットが必要です(Nextcloud Talkチャンネルのドキュメントを参照)。
Telegram
- 空の
emojiを指定すると、ボットのリアクションが削除されます。 remove: trueでもリアクションが削除されますが、ツールの検証では引き続き空でないemojiが必要です。
- 空の
emojiを指定すると、ボットのリアクションが削除されます。 remove: trueは内部で空の絵文字に変換されます(ツール呼び出しでは引き続きemojiが必要です)。- WhatsAppでは、メッセージごとにボットのリアクション枠が1つあります。新しいリアクションを送信すると、複数の絵文字が積み重なるのではなく、既存のリアクションが置き換えられます。
Zalo Personal(zalouser)
- 追加と削除の両方で、空でない
emojiが必要です。 remove: trueを指定すると、その特定の絵文字リアクションが削除されます。
Feishu/Lark
- 別個のツールではなく、他のチャンネルと同じ
reactアクションを使用します(メッセージのリアクションIDによる追加、削除、一覧取得)。 - 追加には空でない
emojiが必要です(Feishuのemoji_typeにマッピングされます。例:SMILE、THUMBSUP、HEART)。 remove: trueには空でないemojiが必要で、その絵文字タイプに一致するボット自身のリアクションを削除します。- 空の
emojiとclearAll: trueを指定すると、メッセージに付けたボットのすべてのリアクションが削除されます。
Signal
- 受信リアクション通知は
channels.signal.reactionNotificationsで制御します。"off"は通知を無効にし、"own"(デフォルト)はユーザーがボットのメッセージにリアクションしたときにイベントを発行し、"all"はすべてのリアクションについてイベントを発行し、"allowlist"はchannels.signal.reactionAllowlistに含まれる送信者についてのみイベントを発行します。
iMessage
- 送信リアクションはiMessageのタップバック(
love、like、dislike、laugh、emphasize、question)です。リアクションを追加するには、emojiがこれらの種類のいずれかにマッピングされる必要があります。 - 認識されるタップバック種別なしで
remove: trueを指定すると、すべてのタップバック種別が削除されます。認識される種別を指定した場合は、その種別だけが削除されます。
リアクションレベル
チャンネルごとのreactionLevelは、エージェントが自身のリアクションを送信する頻度を制限します。値はoff、ack、minimal、extensiveです。
- Telegramのリアクション通知 -
channels.telegram.reactionLevel(デフォルト:minimal) - WhatsAppのリアクションレベル -
channels.whatsapp.reactionLevel(デフォルト:minimal) - Signalのリアクション -
channels.signal.reactionLevel(デフォルト:minimal)
関連項目
Was this useful?