allowBots. Когда этот путь включен, защита от циклов между парами не позволяет двум ботам бесконечно отвечать друг другу.
Защита применяется основным обработчиком входящих ответов. Каждый поддерживающий канал преобразует входящее событие в универсальные данные: учетную запись или область действия, идентификатор беседы, идентификатор бота-отправителя и идентификатор бота-получателя. Ядро отслеживает пару участников в обоих направлениях (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, каналу и паре ботов. - Google Chat: собственные данные
sender.type=BOTдля принятых сообщений от ботов, сгруппированные по учетной записи, пространству и паре ботов. - Matrix: настроенные учетные записи ботов Matrix, сгруппированные по учетной записи Matrix, комнате и настроенной паре ботов.
- Slack: собственные данные
bot_idдля принятых сообщений от ботов, сгруппированные по учетной записи Slack, каналу и паре ботов.