АвтоматизацияЧто сделает бот

Ответы, модерация и награды

Выберите действие и его получателя. Оформите ответ Combot, добавьте кнопки, настройте несколько действий или случайный вариант сообщения.

В этой статье

Что бот сделает после срабатывания

Вы уже объяснили боту, какой вопрос или событие нужно заметить. Теперь выберите действие в части «ТО».

Ниже — все 14 типов действий. Доступный набор зависит от выбранного события. Для примеров с модераторскими командами сначала создайте команду ответом на сообщение и разрешите её вызов только нужным модераторам.

Кого затронет действие

Вернёмся к Анне и Илье. Анна ответила командой на сообщение Ильи. Если нужно предупредить Илью, в «Применить к» выбирают человека из ответа, а не автора команды.

В зависимости от события редактор предлагает:

  • К автору / Автор команды — кто написал сообщение или вызвал команду.
  • Пользователь из ответа — на чьё сообщение ответили.
  • Затронутый пользователь — например, участника, которого добавили или удалили.
  • Исполнитель — кто добавил или удалил участника.
  • Заявитель — кто просит вступить в чат.
  • Оба — обоих доступных пользователей. Если это один и тот же человек, он не получит одно действие дважды только из-за такого выбора.
  • Создатель ссылки — для заявки на вступление. Это человек, записанный создателем ссылки в каталоге Combot для этого чата.

Например, по ссылке Ильи пришла заявка, и вы хотите начислить XP именно Илье. Выберите создателя ссылки, а не заявителя. Это награда за заявку, ещё не за состоявшееся вступление. Если нужно сначала подтвердить результат приглашения, подойдёт команда благодарности после проверки модератором.

Важно, кто указан в каталоге Combot: технический создатель ссылки в Telegram может быть другим. Для двух разных получателей, например заявителя и создателя ссылки, задайте два отдельных действия с явно выбранным получателем.

Если нужный человек неизвестен, действие над ним пропускается. Бот не должен начислять XP новичку вместо неизвестного пригласившего. По общему счётчику реакций тоже нельзя выбрать неуказанного участника.

1. Отправить сообщение

Например: после вопроса «где запись» прислать ссылку на материалы и короткую инструкцию.

Можно оформить текст, добавить переменные и кнопки. Отправить ответ можно в исходный чат или настроенный канал логов. Куда именно и как оформить сообщение, разберём в разделе «Оформление ответа».

2. Удалить сообщение

Например: в топике без стикеров убирать новые стикеры, если такое правило заранее объявлено участникам. В условии выбираются этот топик и тип «Стикер», в действии — удаление.

Бот удаляет сообщение, которое запустило правило. Ему нужно право удаления сообщений.

У команды таким сообщением является сама команда. Если Анна отвечает /team_warn на реплику Ильи, это действие удалит /team_warn, а не реплику Ильи. Удаление предыдущей памятки самого бота — другая настройка.

3. Предупредить пользователя

Например: Анна видит нарушение правил общения и вызывает /team_warn ответом на сообщение участника.

Действие добавляет предупреждение — в обычной настройке одно. Оно относится к общей системе предупреждений чата. Если за несколько предупреждений у вас предусмотрен мьют или бан, предупреждение из Automation тоже может приблизить человека к этому последствию.

Поэтому сначала проверьте настройки предупреждений, а не только текст ответа бота.

4. Замьютить пользователя

Например: модератор назначает участнику спора паузу на 15 минут через заранее созданную команду ответом.

Мьют ограничивает возможность писать. Укажите длительность в минутах, часах, днях или неделях. Пустой срок означает постоянный мьют, а не «решим позже».

При необходимости предупреждение и мьют можно использовать вместе. Выбирайте это осознанно: короткая пауза и предупреждение — два разных последствия.

5. Забанить пользователя

Например: модератор убирает аккаунт, который размещает спам, и запрещает ему возвращаться.

Бан удаляет человека из чата и запрещает повторный вход до окончания или снятия бана. Укажите срок для временного ограничения; без срока бан постоянный.

В конструкторе ограничений бан не совмещается с киком или мьютом как другим вариантом того же ограничения.

6. Кикнуть пользователя

Например: человека добавили в рабочую группу по ошибке, и модератор хочет убрать его без постоянного запрета на возвращение.

Кик удаляет участника однократно. Вступить снова можно по обычным правилам чата: например, через приглашение или заявку. Если нужно именно запретить возвращение, выбирают бан.

7. Размьютить пользователя

Например: модератор решил закончить назначенную участнику паузу раньше.

Действие восстанавливает возможность писать в пределах общих прав чата. Оно не снимает все остальные ограничения и не засчитывает прохождение CAPTCHA. Если человек ещё должен пройти проверку для новичков, это отдельный вопрос.

8. Разбанить пользователя

Например: команда пересмотрела решение после обращения участника и хочет разрешить ему вернуться.

Разбан снимает запрет на вступление. Он не добавляет человека обратно автоматически: тому всё ещё нужно вступить доступным способом.

9. Удалить сообщения пользователя

Например: спамер успел прислать несколько объявлений до бана. Модератор хочет убрать и их.

В конструкторе эта очистка предлагается дополнительно после выбора бана или кика. Она работает с доступными Combot сообщениями и зависит от ограничений Telegram. Не рассчитывайте, что бот гарантированно удалит всю многолетнюю историю человека.

10. Удалить предупреждение

Например: предупреждение выдали по ошибке. Модератор снимает одно предупреждение через подготовленное правило.

Это уменьшает число предупреждений на одно. Если человека уже замьютили или забанили, снятие предупреждения само по себе не возвращает права. Для этого нужны отдельные действия.

11. Изменить XP

Например: Илья подробно помог новичку. Анна отвечает на его сообщение командой /reward_member, и Илья получает 25 XP.

Укажите 25, чтобы добавить опыт, или -25, чтобы его вычесть. Это изменение: при 100 XP добавление 25 даст 125, а не заменит общий опыт на 25.

Опыт должен быть включён в чате. Используются ненулевые целые числа от −99 999 до 99 999. Для примера с благодарностью в «Применить к» нужен пользователь из ответа.

12. Изменить REP

Например: вместе с опытом за полезное объяснение вы хотите добавить Илье одну единицу репутации.

Укажите 1; для вычитания — -1. Репутация должна быть включена. Допустимы ненулевые целые числа от −999 до 999. Здесь тоже задаётся изменение, а не новое итоговое значение.

Повторный вызов команды может снова начислить XP и REP. Если награда должна быть единственной, модераторам нужно следить за этим отдельно.

13. Одобрить заявку

Например: организаторы открытого урока подготовили отдельное приглашение и хотят пропускать по нему заявки без ручного нажатия.

Выберите событие «Заявка на вступление», нужную ссылку и действие одобрения. Если не ограничить источник и аудиторию, правило может одобрять гораздо больше заявок, чем вы собирались.

Ссылка не заменяет проверку оплаты или личности: её можно передать другому человеку.

14. Отклонить заявку

Например: для заявок по определённому приглашению временно настроен отказ, а заявки по другим ссылкам команда продолжает рассматривать.

Действие доступно для события заявки на вступление. Оно отклоняет заявку, но не равно постоянному бану человека.

Не оставляйте два пересекающихся правила, которые пытаются одновременно одобрить и отклонить одну заявку. Сначала проверьте, какие ссылки и пользователи подходят каждому из них.

Как оформить ответ бота и куда его отправить

Хороший автоматический ответ помогает человеку сделать следующий шаг. Например, после «где домашнее задание» достаточно короткой подсказки и кнопки с материалами. Не обязательно отправлять весь регламент курса.

Текст: один вопрос — один понятный ответ

Редактор похож на редактор приветствий Combot: можно оформить текст, добавить ссылки и переменные. В поле помещается до 4096 символов; следите за счётчиком.

Для поддержки ответ может выглядеть так:

Не получается войти в личный кабинет? Откройте инструкцию по кнопке ниже. Если она не помогла, напишите, на каком шаге возникла ошибка. Пароль в чат не отправляйте.

Текст нужен даже тогда, когда вы добавляете изображение. Одной ссылки в поле картинок недостаточно для пустого сообщения.

Как обратиться по имени

Переменная — это заготовка, которую бот заменит нужными сведениями. Например:

Добро пожаловать в {chat.title}! Материалы курса находятся в закреплённом сообщении.

Вместо {chat.title} появится название группы. С именем человека нужно быть внимательнее: автор события и новый участник не всегда одно лицо.

В меню есть:

  • {from.title} — отображаемое имя автора события. Например, обращение к человеку, который задал вопрос.
  • {from.username} — его username. Может пригодиться в заметке для модераторов, но есть не у каждого человека.
  • {from.id} — числовой ID пользователя. Например, чтобы команда могла точно понять, о каком аккаунте идёт речь.
  • {chat.title} — название чата. Удобно для приветствия или общего шаблона памятки.
  • {chat.username} — публичное имя чата, если оно есть.
  • {chat.id} — числовой ID чата, если он нужен в служебной заметке.
  • {message.id} — номер сообщения, связанного с событием. Например, для разбора обращения командой.
  • {message.timestamp} — временная отметка сообщения, когда она доступна. Не у каждого события есть само сообщение и все его сведения.

Не стройте весь ответ на поле, которое может оказаться пустым. Например, обращение по отображаемому имени обычно понятнее фразы, где ожидается обязательный username.

Если Анна добавила Илью в чат, {from.title} может содержать имя Анны: она инициировала событие. Поэтому универсальное приветствие выше обходится без имени. Выбор получателя действия сам по себе не меняет значения переменных.

Для команды модератора имя особенно важно. Если Анна вызвала команду на сообщении Ильи, {from.title} относится к Анне. Выбор Ильи для награды не меняет эту переменную. Поэтому ответ «Полезный ответ отмечен, спасибо за помощь!» безопаснее, чем случайно поблагодарить по имени модератора.

Кнопки: сразу дать нужную ссылку

Вместо «найдите на сайте раздел с материалами» добавьте кнопку «Открыть материалы» с прямой ссылкой.

Для каждой кнопки задаются текст и адрес. Кнопки можно располагать по строкам. Например, в первой строке — «Материалы», во второй — «Правила» и «Обратная связь». Если нужен значок пользовательского эмодзи, редактору потребуется его ID.

Это кнопки перехода по ссылкам. Сами по себе они не выдают роли, не начисляют награды, не запускают другой триггер и не засчитывают CAPTCHA.

Изображения: обложка к памятке

Например, к приветствию нового потока можно добавить ссылку на обложку курса. В разделе «Изображения» указывается адрес картинки, а «Показывать изображения над текстом» выбирает её положение.

Картинка показывается через предпросмотр ссылки Telegram. Это не отправка фотоальбома: несколько адресов не означают несколько фотографий отдельными вложениями.

Начните с одного доступного изображения и посмотрите результат в Telegram. Если предпросмотр не строится, проверьте саму ссылку — сохранение правила ещё не гарантирует появления картинки.

Куда отправить ответ

«Исходный чат» выбирайте для ответа участнику. Например, вопрос про записи пришёл в группу курса — памятка появляется там же.

«Канал логов» выбирайте для сообщений команде. Например, отправлять туда уведомления об изменениях рабочего чек-листа. Сначала подключите это назначение и убедитесь, что Combot может в него писать.

Внутри выбранного назначения можно настроить топики:

  • Текущий топик: например, ответить в той же «Поддержке», где задали вопрос.
  • Выбранный топик: например, по команде публиковать одну памятку сразу в «Поддержке» и «Вопросах новичков».
  • Общий топик: отправить сообщение в общую область, без отдельной темы.

Каждый выбранный топик получает отдельную отправку. Если один и тот же ID указан дважды в одном действии, дополнительная копия из-за этого не появится. Можно выбрать топики и у назначения логов, если оно поддерживает темы; номера должны относиться именно к нему, а не к исходной группе.

Больше топиков — больше отправок в расчёте лимита. Простой пример с числами есть в разделе «Лимиты».

Произвольные внешние чаты и личные сообщения участникам здесь не выбираются. Если канал логов недоступен, предназначенное команде сообщение не перенаправляется в общий чат.

Обычное сообщение или ответ на вопрос

«Обычное сообщение» подойдёт для приветствия или объявления, которое должно выглядеть самостоятельной репликой.

«Ответить на триггер» удобно для вопроса «как оплатить»: памятка будет связана с конкретным сообщением через «Ответить».

Используйте такой ответ в исходном месте обсуждения, где есть нужное сообщение. Если отправка уходит в другой чат или топик, не рассчитывайте сохранить связь с исходной репликой: проверьте, какой режим показывает редактор.

Как не копить одинаковые памятки

Сегодня про записи спросил Илья, через час — Марина. Если старый ответ уже не нужен, включите «Удалять предыдущий такой же»: при следующей отправке бот уберёт предыдущий ответ этой отправки.

У правила есть общая настройка. У каждой отправки можно выбрать:

  • «Использовать настройку триггера» — следовать общему выбору. Если вы поменяете его у правила, эта отправка тоже изменится.
  • «Без очистки» — сохранять ответы этой отправки, даже если общая очистка включена.
  • «Удалять предыдущий такой же» — включить очистку именно здесь.

Например, памятки участникам вы заменяете новыми, а сообщения в логах оставляете как историю. Для логов выберите «Без очистки».

Очистка учитывается отдельно для каждой отправки и каждого топика. Памятка в «Поддержке» заменяет свою предыдущую версию там; памятка в «Учёбе» — свою. Сообщения в логах удаляются в логах.

Две строки действий с одинаковым текстом всё равно хранят свои предыдущие ответы отдельно. Например, первое случайное приветствие заменяет предыдущий ответ своего действия, а не последнее приветствие из всего набора. Перестановка строк этого не меняет.

Настройка не ищет по чату весь одинаковый текст и не удаляет сообщения участников. Она также не означает «стереть через пять минут»: нужен следующий ответ. Старые памятки, отправленные до обновления механизма очистки, могут остаться. Проверяйте результат на новых отправках.

Несколько действий и разные варианты ответа

Иногда одного ответа мало. После нарушения нужно выдать предупреждение и объяснить правило. А приветствие хочется сделать менее однообразным. Для этих задач есть два режима.

Выполнить все действия

В режиме «Все действия» Combot идёт по списку сверху вниз.

Например, команда модератора:

  1. Выдаёт участнику предупреждение.
  2. Отправляет пояснение: «Пожалуйста, обсуждайте идеи без перехода на личности».
  3. Удаляет сообщение с самой командой.

Расположите действия в том порядке, в котором они нужны. Если предупреждение уже выдано, а сообщение отправить не удалось, предупреждение не отменится само. Поэтому после настройки проверьте и ответ бота, и результат для участника.

Длинный список может упереться в лимит действий. Например, отправки в несколько топиков с очисткой обходятся дороже одной памятки. Как это считается, разберём в разделе «Лимиты».

Выбрать один случайный ответ

В клубе можно подготовить три приветствия:

  • «Добро пожаловать! Расскажите немного о себе».
  • «Рады видеть вас в клубе. Начните с закреплённой памятки».
  • «Привет! Осмотритесь в топиках и присоединяйтесь к разговору».

Добавьте их как три действия отправки и выберите «Одно случайное». При вступлении Combot выберет одно действие из этого набора.

Случайный выбор не обещает чередование. Двум новичкам подряд может достаться одинаковый текст. Отдельные вероятности для каждого варианта здесь не задаются.

Звёздочка «Всегда»: обязательное плюс случайное

Допустим, в топике «Учёба» запрещены стикеры. Вы хотите убирать их всегда, а короткую просьбу отправлять стикеры в «Болталку» выбирать из трёх формулировок.

  1. Настройте триггер на стикер в «Учёбе». Действие удаления сообщения отметьте звёздочкой «Всегда».
  2. У трёх отправок памятки звёздочку не ставьте.
  3. Выберите «Одно случайное».

Бот выполнит обязательное удаление и одну выбранную отправку. Выбранные действия сохраняют свой порядок в списке.

Если звёздочка стоит везде, выполняются все отмеченные действия: выбирать больше не из чего. Если её нет нигде, выполняется одно случайное действие. Это выбор действий после совпадения условий, а не случайное решение, реагировать ли на правило вообще.