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