allowBots をサポートするチャンネル上で、他のボットが書き込んだメッセージを受信できます。この経路が有効な場合、ペアループ保護により、2 つのボット ID が互いに際限なく返信し続けることを防止します。
このガードは、コアの受信返信ランナーによって適用されます。対応する各チャンネルは、受信イベントをアカウントまたはスコープ、会話 ID、送信元ボット ID、受信先ボット ID という汎用情報にマッピングします。コアは参加者ペアを双方向で追跡し(A から B と B から A は同じペアとしてカウント)、スライディングウィンドウの上限を適用し、上限を超えた後はクールダウン期間中そのペアを抑制します。
デフォルト
チャンネルがボット作成メッセージをディスパッチに到達させる場合、ペアループ保護は常に有効です。組み込みのデフォルトは次のとおりです。
このガードは、人間が作成したメッセージ、単一ボットのデプロイ、自己メッセージのフィルタリング、または上限以内に収まるボット返信には影響しません。
共有デフォルトの設定
channels.defaults.botLoopProtection を一度設定すると、対応するすべてのチャンネルに同じ基準値が適用されます。チャンネルによっては、より限定的なオーバーライドも公開されます。Feishu は意図的に、この共有基準値のみを使用します。
enabled: false を設定してください。
チャンネル、アカウント、ルーム単位のオーバーライド
対応するチャンネルは、キーごとに独自の設定を共有デフォルトへ重ねて適用します。優先順位は、適用範囲が狭い順に次のとおりです。channels.<channel>.<room-or-space>.botLoopProtection(チャンネルが会話単位のオーバーライドをサポートする場合)channels.<channel>.accounts.<account>.botLoopProtection(チャンネルがアカウントをサポートする場合)channels.<channel>.botLoopProtection(チャンネルがトップレベルのデフォルトをサポートする場合)channels.defaults.botLoopProtection- 組み込みのデフォルト
チャンネルの対応状況
- Discord:ネイティブの
author.bot情報を使用し、Discord アカウント、チャンネル、ボットペアをキーとします。 - Feishu:受け入れられたボット作成のグループメッセージについて、ネイティブの
sender_type=bot情報を使用し、Feishu アカウント、チャット、ボットペアをキーとします。Feishu はchannels.defaults.botLoopProtectionのみを使用します。 - Google Chat:受け入れられたボット作成メッセージについて、ネイティブの
sender.type=BOT情報を使用し、アカウント、スペース、ボットペアをキーとします。 - Matrix:設定済みの Matrix ボットアカウントを使用し、Matrix アカウント、ルーム、設定済みボットペアをキーとします。
- Slack:受け入れられたボット作成メッセージについて、ネイティブの
bot_id情報を使用し、Slack アカウント、チャンネル、ボットペアをキーとします。