allowBots 的频道上编写的消息。当该路径启用时,成对循环保护会防止两个机器人身份无限期地互相回复。
该保护由核心入站回复运行器强制执行。每个受支持的频道都会将其入站事件映射为通用事实:账户或作用域、会话 id、发送方机器人 id 和接收方机器人 id。核心会以两个方向跟踪参与者配对(A 到 B 和 B 到 A 计为同一配对),应用滑动窗口预算,并在超出预算后于冷却期内抑制该配对。
默认值
当某个频道允许机器人发送的消息进入调度时,配对循环保护就会生效。内置默认值:
该保护不会影响人类发送的消息、单机器人部署、自发消息过滤,或仍在额度内的机器人回复。
配置共享默认值
设置channels.defaults.botLoopProtection 一次,即可让每个受支持的频道使用相同的基础配置。频道也可以提供更窄范围的覆盖配置;飞书有意只使用这一共享基础配置。
enabled: false。
按频道、账号或房间覆盖
支持的频道会将各自的配置按键逐项叠加到共享默认值之上。优先级如下,越具体的越优先:channels.<channel>.<room-or-space>.botLoopProtection,当该频道支持按会话覆盖时channels.<channel>.accounts.<account>.botLoopProtection,当该频道支持账号时channels.<channel>.botLoopProtection,当该频道支持顶层默认值时channels.defaults.botLoopProtection- 内置默认值
频道支持
- Discord:原生
author.bot事实,按 Discord 账号、频道和 bot 对进行键控。 - 飞书:对被接纳的 bot 发送的群消息使用原生
sender_type=bot事实,按飞书账号、会话和 bot 对进行键控。飞书仅使用channels.defaults.botLoopProtection。 - Google Chat:对被接纳的 bot 发送的消息使用原生
sender.type=BOT事实,按账号、空间和 bot 对进行键控。 - Matrix:已配置的 Matrix bot 账号,按 Matrix 账号、房间和已配置的 bot 对进行键控。
- Slack:对被接纳的 bot 发送的消息使用原生
bot_id事实,按 Slack 账号、频道和 bot 对进行键控。