Discourse Automation позволяет автоматизировать действия с помощью скриптов и триггеров. Настройка осуществляется через автоматически генерируемый интерфейс.
Руководство по установке
Этот плагин входит в состав ядра Discourse. Отдельная установка плагина не требуется.
Запуск автоматизаций в определённые даты, периодически или по определённым событиям
Автоматически генерируемые интерфейсы для настройки параметров вашей автоматизации
Настройка
Автоматизации можно создавать и обновлять через Администрирование → Плагины → Автоматизации или напрямую по адресу /admin/plugins/discourse-automation.
Первое принятое решение (Solved) Выдана награда пользователю Пользователь добавлен в группу Замороженная вики Повторяющийся Продвижение пользователя Вызов API Пользователь удалён из группы
Отправка личных сообщений с поддержкой заполнителей
Временная блокировка пользователя по электронной почте
Вызов API
Временно блокирует пользователя на указанный срок
Обязательные слова в теме
Тема
Требует наличия хотя бы одного из указанных слов в постах темы
Улучшает управление и модерацию постов на форуме за счёт автоматизации процесса классификации постов
Глобальное уведомление пользователю
Замороженная тема Первое принятое решение (Solved)
Отображает глобальное уведомление на сайте для конкретного пользователя
Членство в группе через награды
Повторяющийся Первый вход пользователя в систему
Автоматически добавляет пользователей в группу на основе полученных ими наград
Webhook Zapier
Продвижение пользователя Пользователь добавлен в группу Выдана награда пользователю Пользователь удалён из группы
Вызывает webhook Zapier
Доступные триггеры
Обратите внимание, что из-за своей природы каждый скрипт поддерживает только определённые триггеры. Например, скрипт, проверяющий содержимое поста, не имеет смысла запускать при добавлении пользователя в группу.
Все доступные триггеры указаны в таблице «Доступные скрипты» выше.
Большинство триггеров говорят сами за себя, но вот несколько, которые могут потребовать дополнительных пояснений:
Триггер
Описание
После обработки поста
Запускается после рендеринга поста для отображения
Вызов API
Запускается при вызове определённого API-эндпоинта
Замороженная вики
Запускается, когда вики не редактировалась в течение некоторого времени
Замороженная тема
Запускается, когда тема не получала ответов в течение определённого времени
Тема
Запускается при ответе на тему
Если вам нужна разъяснение по каким-либо другим триггерам, не стесняйтесь задавать вопросы ниже.
Вскоре появятся новые скрипты и триггеры!
Пользовательские автоматизации
Вы также можете создавать пользовательские автоматизации. Ознакомьтесь с руководством для разработчиков для получения дополнительной информации - Create custom Automations
А также совершенно новый скрипт — Членство в группах пользователей через бейджи. Он совсем свежий, поэтому, если попробуете, дайте знать, как всё прошло.
Теперь я чувствую себя очень-очень… не глупым, но почти. Где я могу создавать автоматизации? В разделе плагинов я могу только включать или отключать автоматизацию.
Мы больше не делаем этого для тем с тегом official для плагинов. Слишком много ценной информации было утеряно из-за таймеров тем. Теперь мы вручную курируем их и разделяем любые значимые обсуждения на отдельные тематические ветки с тегами (а также рекомендуем людям сразу создавать отдельные темы).
Автоматизация Discourse теперь включена в ядро Discourse, поэтому этот плагин больше не нужно устанавливать отдельно.
Размещено нами? Это изменение никак не повлияет на вас. Если вы используете тарифы Business или Enterprise, вы можете продолжать пользоваться этим плагином и ни о чём не беспокоиться.
Существует ли скрипт автоматизации, который может изменить категорию? Я хотел бы использовать его для создания более гибкой системы «Публикация по расписанию».
Представляю, что скрипт будет:
запускаться периодически,
проверять темы в заданной категории, которые содержат какой-либо маркер в ответе (например, отмечено как решённое или ответ содержит определённый текст, например «PUBLISH»),
если дата этого ответа (или статус «решено») находится в прошлом на заданный интервал (например, вчера или неделю назад),
удалять все ответы,
перемещать тему в указанную категорию,
по желанию добавлять настраиваемые теги.
Более продвинутая версия могла бы искать дату/время в триггерном ответе и публиковать тему, если текущее время уже наступило после указанной даты/времени.
Также она могла бы искать целевую категорию в этом сообщении (с настройкой скрипта для разрешённых целевых категорий). То же самое касается и тегов.
Здравствуйте, я не понимаю, для чего нужен этот триггер. Похоже, он может отправлять личные сообщения, но кому? Поскольку вики-страницу могут редактировать несколько пользователей. Спасибо.
Это довольно круто. Представьте, что автор темы, на которую я сослался, мог бы рассмотреть возможность спонсирования скрипта, в зависимости от того, насколько остро ему нужна эта функция.
Спасибо, Jammy, за быстрый ответ. Как всегда, кладезь знаний.
Привет, я не понимаю, как это работает. У меня есть пользовательское поле, которое может принимать два значения: «Да» или «Нет» (выпадающий список). Но при создании автоматизации меня просят указать только имя пользовательского поля, а не его значение. Как мне настроить триггер автоматизации для добавления пользователя в группу, если я не могу проверить значение пользовательского поля? Спасибо.
Значение пользовательского поля должно совпадать с названием группы. Так что, если ваш вопрос — «Что вам нравится больше?», а ваши ответы — «собаки» и «кошки», то полные названия групп должны быть именно «собаки» и «кошки». Нельзя называть их «любители собак» и «любители кошек».
Понял, значит, мой вариант не подходит: нельзя использовать пользовательское поле с ответами «Да» или «Нет», потому что название группы должно быть именно «Да» или «Нет»…
Могу ли я использовать функцию «Автоматическая разметка постов» на основе ключевых слов внутри поста или его заголовка? Похоже, что автоматическая разметка работает только по группам или категориям, что не очень полезно в моём случае.