Creating an auto responder automation

:bookmark: Это руководство объясняет, как настроить автоответчик с помощью плагина Automation в Discourse. Автоответчик может автоматически отвечать на сообщения или личные сообщения, содержащие определённые ключевые слова.

:person_raising_hand: Требуемый уровень пользователя: Администратор

Автоответчик в Discourse может автоматически отвечать на сообщения, содержащие определённые ключевые слова или фразы. Эта функция помогает модераторам и администраторам сосредоточиться на более сложных задачах, автоматизируя ответы на распространённые запросы или ситуации.

Краткое содержание

Это руководство охватывает:

  • Создание нового скрипта автоответчика
  • Выбор и настройку триггера
  • Настройку пар «слово/ответ»
  • Включение автоматизации

Создание нового скрипта

  1. Перейдите на страницу автоматизации вашего сайта по адресу example.discourse.com/admin/plugins/automation
  2. Нажмите + Create, чтобы создать новый скрипт
  3. Выберите опцию Auto Responder
  4. Снова нажмите + Create, чтобы продолжить

Выбор триггера

Выберите один из двух вариантов триггера:

  1. Создание/редактирование сообщения
  2. Создание личного сообщения

Варианты триггера «Создание/редактирование сообщения»

  • Тип действия: Ограничить сообщения, которые создаются или редактируются
  • Тип темы: Ограничить все темы, только публичные темы или только личные сообщения
  • Категории: Ограничить конкретными категориями
  • Исключить подкатегории: Запускать только если тема находится именно в указанных категориях (не в их подкатегориях)
  • Теги: Ограничить сообщения в темах с определёнными тегами
  • Ограниченные группы: Ограничить сообщения от пользователей в определённых группах
  • Исключённые группы: Пропустить, если пользователь, создавший сообщение, принадлежит к одной из этих групп
  • Ограниченные группы входящих: Ограничить личные сообщения в определённых групповых почтовых ящиках
  • Игнорировать автоматические: Пропустить, если у отправителя адрес электронной почты noreply или сообщение отправлено из автоматического источника (применяется только к сообщениям, созданным по электронной почте)
  • Допустимые уровни доверия: Ограничить сообщения от пользователей с определёнными уровнями доверия
  • Только исходное сообщение: Запускать только на исходном сообщении (OP) темы
  • Только первое сообщение: Ограничить первым сообщением пользователя
  • Только первая тема: Ограничить первой темой пользователя
  • Пропустить через email: Пропустить триггер, если сообщение было создано по электронной почте
  • Особенности сообщения: Ограничить сообщения, содержащие определённые элементы (изображения, ссылки, код или файлы)

Варианты триггера «Создание личного сообщения»

  • Пользователи: Ограничить личные сообщения, отправленные определённым пользователям
  • Группа: Ограничить личные сообщения, отправленные определённой группе
  • Игнорировать сотрудников: Пропустить, если отправитель является сотрудником
  • Игнорировать автоматические: Пропустить, если у отправителя адрес электронной почты noreply или сообщение отправлено из автоматического источника (применяется только к личным сообщениям, созданным по электронной почте)
  • Игнорировать участников группы: Пропустить, если отправитель является участником указанной группы
  • Допустимые уровни доверия: Ограничить личные сообщения от пользователей с определёнными уровнями доверия

Настройка параметров скрипта

После настройки триггера настройте следующие параметры:

  1. Пары «слово/ответ»: Определите ключевые слова и соответствующие ответы
  2. Пользователь, отправляющий ответ: Выберите учётную запись пользователя для автоматических ответов (по умолчанию — пользователь System)
  3. Чекбокс «Один раз»: Ограничить автоматизацию так, чтобы она срабатывала только один раз на тему

Настройка пар «слово/ответ»

  1. Нажмите кнопку Configure рядом с list of word / answer pairs
  2. Введите пары ключ/значение:
    • Ключ: Ключевое слово или фраза (без учёта регистра)
    • Значение: Текст автоматического ответа

:information_source: Параметр key интерпретируется как строка регулярного выражения с учётом границ слов. Экранируйте специальные символы, такие как ., с помощью обратного слэша (например, \\.). Вы можете протестировать свои регулярные выражения на regex101.com с использованием синтаксиса Ruby.

:mega: Используйте %%KEY%% в поле value как заполнитель для обнаруженного ключевого слова. Вы также можете использовать %%SENDER_USERNAME%% как заполнитель для имени пользователя, отправляющего ответ.

:bulb: Если несколько пар «слово/ответ» соответствуют одному и тому же сообщению, все соответствующие ответы объединяются в один ответ (разделённые пустыми строками).

Включение автоматизации

  1. Установите чекбокс Enabled в нижней части экрана
  2. Нажмите Update, чтобы сохранить изменения

:warning: Автоматизацию можно сохранить без включения, оставив чекбокс Enabled снятым.

9 лайков

Is it possible to limit the auto-response to the initial post for a topic? One might think that Once would do that, but (in obvious retrospect) that’s only correct if the topic is created after the automation.

1 лайк

Alternately (or additionally?), could the auto-post be back-dated to come immediately after the topic OP (and then merged in that order)?

1 лайк

My use case: replying to topics in a certain category with a new poll for that topic.

1 лайк

So… you have a category of old discussions, and when someone replies there you get an auto-response that is not useful, but does contain information that is useful in response to a topic being created… correct? :smiley:

If that is the case, unfortunately I do not think this automation currently supports that behavior. I ran through the other automations, and I think the only one that might work would be triage with AI, but that seems expensive to get the results you are looking for. :sweat_smile:

3 лайка

Yes, correct. How hard would it be to make a new option for this one where it would only respond to new topics?

1 лайк

4 posts were split to a new topic: Can the auto-responder fire on @mentions?

A post was split to a new topic: Post Created / Edited Trigger for Send PMs Automation

Are there any other template variables available in the reply? I would like to be able to access the username of the person who PM’ed a group.

Currently, Use %%KEY%% in the value field as a placeholder for the detected trigger word is the only template variable available for us in the auto responder automation.

There doesn’t seem to be a built-in variable for accessing the username of the person who PM’ed a group in the auto responder automation. This is a limitation in the current implementation, as other Discourse features (like email templates, AI personas, and the “Send PMs” automation script) do have various user-related variables available.

With that in mind, this is similar to a few other requests we’ve had for this type of feature.

  1. A request to add variables for users’ real names to the “Send PMs” script
  2. A feature request for canned reply variables for direct message recipients

If this is a feature you’re interested in, I would encourage you to create a Feature topic, with more information about what type of template variables you would like to see added to this automation. The more people who show interest in a feature, the more likely it is to make it into Discourse. This sounds like a neat idea and we’d love to know more about what you are looking for. :slightly_smiling_face:

2 лайка

Is it possible to use a wildcard to trigger a response for any topic that doesn’t meet any of the key pairs that you create?

Also, if multiple keywords are mentioned in the same topic, how is the response chosen?
Alphabetical, or top down?

Hi @tknospdr,

The auto responder trigger detection is designed to respond to specific regex patterns that you define in your key/value pairs. There’s no explicit feature for a “catch-all” that would trigger when no other key pairs match.

However, since the keys are evaluated as regex strings, you can create a very broad regex pattern as your last entry that would match almost any content. Something like .* would work as a catch-all regex, though this would match everything (including content that matches your other patterns).

When multiple keywords are found in a post or topic, the auto responder will respond with ALL matching responses. The responses will be posted in the same order that the key/value pairs were added or are listed in the configuration.

This means if your post contains keywords that match multiple patterns, you’ll receive multiple automated responses in the sequence they appear in your word/answer pairs list.

1 лайк

Oh, that’s not good. This is for our ticketing system and I would hate to spam a customer with 2 or 3 different e-mail responses when they request help.

It would be awesome if there was a setting to:
:white_check_mark: Combine multiple key pair matches into one reply.

Until then I’ll go back to the original use case and put in the .* and use a unified generic response. Except that it would then need to only fire if {user} has not posted in {category} for {x} days.