Контекст
В настоящее время при настройке триггеров в плагине Discourse Automation (например, Создано сообщение, Создана тема) нам предлагается фильтр “Категории”. Он работает как белый список: автоматизация выполняется только в выбранных категориях.
Проблема
Такой подход с белым списком создает неудобства и технический долг для сообществ, которые хотят применять «глобальные» автоматизации с лишь несколькими исключениями.
Если я хочу, чтобы автоматизация работала во всех категориях, кроме #staff:
- Первоначальная настройка: Мне нужно вручную выбрать каждую публичную категорию.
- Поддержка: Каждый раз, когда мы создаем новую категорию, автоматизация по умолчанию не будет выполняться в ней. Администраторам нужно не забыть вернуться в настройки автоматизации и добавить новую категорию в список.
Предлагаемое решение
Я предлагаю добавить поле “Исключить категории” (черный список).
Желаемое поведение:
- Если поле «Категории» оставлено пустым, а «Исключенные категории» заполнено: Выполнять во всем, кроме исключенных.
- Это обеспечивает устойчивость к будущим изменениям: Любая новая категория, созданная позже, автоматически получит эту автоматизацию без ручного вмешательства.
Пример использования
Сценарий: Предотвращение «конфликта ботов» в конкретных каналах
Цель: У меня есть две различные автоматизации:
- Бот приветствия: Отвечает новым пользователям в категории
#Introductions, чтобы дать им обзор форума. - Бот поддержки: Отвечает на темы в технических категориях, запрашивая логи/детали.
Проблема: Я хочу, чтобы Бот поддержки работал везде, кроме #Introductions. В настоящее время, чтобы предотвратить ответ Бота поддержки на сообщение с приветствием (и не запутать нового пользователя техническими вопросами), мне приходится использовать список «Включение» и вручную выбирать каждую техническую категорию.
Решение: Если бы я мог просто настроить Бот поддержки на Исключение: #Introductions, я мог бы гарантировать, что два бота никогда не будут мешать друг другу, без необходимости поддерживать огромный список разрешенных категорий для Бота поддержки.