Правила событий
Правила событий — это конструктор, который позволяет обработать событие бота ещё до того, как оно попадёт в аналитику или в историю переписки: скрыть чувствительные данные, засчитать конверсию по ключевому слову, записать значение в кастомное поле пользователя или вовсе проигнорировать событие.
Зачем это нужно
Бот в тексте сообщения пишет «Оплата на сумму 990 RUB» → автоматически засчитать конверсию с суммой и валютой, извлечёнными из текста, без правки кода бота.
Перед тем как попросить пользователя прислать одноразовый токен или пароль — скрыть его следующее сообщение в истории переписки, чтобы конфиденциальные данные не осели в чате.
При регистрации/обновлении пользователя стереть имя, фамилию, username и био — для конфиденциальности.
Пользователь написал «купить» — сразу зафиксировать это как конверсию, не дожидаясь отдельного события от разработчика.
Служебные технические сообщения бота (с меткой вроде
[service]) не засорять аналитику.Значение из сообщения записать напрямую в кастомное поле пользователя, чтобы потом использовать его в сегментах, рассылках и автоматизациях.
Чем это отличается от автоматизаций
Автоматизации реагируют на уже сохранённые события и общаются с пользователем — отправляют сообщения, ждут, вызывают вебхуки.
Правила событий работают на шаг раньше — в момент, когда данные только поступают в систему, до того, как событие ляжет в аналитику, а сообщение — в историю переписки. Они не отправляют пользователю сообщений, а решают, как именно это сырое событие сохранить: сохранить как есть, скрыть часть данных, засчитать как конверсию или не сохранять вовсе.
Из чего состоит правило
Любое правило — это три части:
Тип события
На какое событие бота реагировать (входящее сообщение, нажатие кнопки, отправка ботом сообщения и т. д.) — выбирается один
Условия
При каких обстоятельствах правило срабатывает (необязательно — без условий правило сработает на каждое такое событие)
Действия
Что сделать с событием, когда условия выполнены — можно указать несколько, выполняются по порядку
Как создать правило
Откройте раздел «Правила событий» и нажмите «Создать правило».
Наверху страницы есть строка «Примеры готовых правил» — можно кликнуть на любой пример, чтобы сразу подставить готовый шаблон и донастроить его под себя, а не собирать с нуля.
Пройдите шаги 1–4 (тип события → название/приоритет → условия → действия), описанные ниже.
Нажмите «Сохранить».
Шаг 1. Тип события
Тип события определяет, какие данные вообще доступны для проверки в условиях, и на каком «сырье» правило будет срабатывать:
Пользователь прислал сообщение
На любое входящее сообщение от пользователя — текст, фото, документ и т. д.
Нажатие на inline-кнопку
Когда пользователь нажимает кнопку под сообщением бота (callback)
Бот отправил сообщение
Когда бот отправляет пользователю сообщение, фото, видео и т. д.
Бот отредактировал сообщение
Когда бот меняет текст или подпись уже отправленного сообщения
Сохранение профиля пользователя
При создании или обновлении записи пользователя. Только для скрытия личных данных и записи кастомных полей — условия и большинство действий для этого типа недоступны, правило срабатывает на каждое сохранение профиля
Шаг 2. Название и приоритет
Название видно только вам — для удобства, чтобы различать правила в списке.
Приоритет — число, определяющее порядок срабатывания. Чем меньше число, тем раньше правило проверяется. Это важно, если на одно и то же событие настроено несколько правил: правила с действиями из группы «Игнорирование» (см. ниже) останавливают дальнейшую обработку события — следующие по очереди правила уже не сработают.
Включено — переключатель, которым можно временно отключить правило, не удаляя его.
Шаг 3. Условия
Условия — это развилка: правило применяется только если условия выполнены. Если условий нет — правило срабатывает на каждое событие выбранного типа.
Условия объединяются в группы:
Все условия (И)
Должны выполниться все условия в группе
Любое условие (ИЛИ)
Достаточно, чтобы выполнилось хотя бы одно
НЕ
Условие должно быть ложным
Группы можно вкладывать друг в друга («Добавить вложенную группу»), составляя произвольно сложную логику.
Внутри группы — отдельные условия-проверки. Набор доступных проверок зависит от выбранного типа события:
Текст содержит
В тексте сообщения (или подписи к медиа) встречается заданная подстрока; можно включить «регистр не важен»
Текст соответствует regex
Полное регулярное выражение по тексту сообщения (расширенная опция)
Тип сообщения (фото/видео/…)
Фильтрует исходящие сообщения бота по типу — например, только фото или только документы
Данные кнопки содержат
Подстрока в данных нажатой inline-кнопки (callback_data)
В JSON-данных кнопки поле равно / не равно
Если callback_data кнопки — JSON, ищет в нём поле по пути и сравнивает значение (расширенная опция)
ID типа события входит в список
Совпадение по числовым ID типов событий из системного справочника (расширенная опция)
Шаг 4. Действия
Можно добавить одно или несколько действий — выполняются по порядку сверху вниз. Действия из группы «Игнорирование» прерывают дальнейшую обработку события.
Игнорирование
Не сохранять это событие
Событие не попадёт в аналитику, но связанные сообщения по-прежнему сохранятся в истории переписки
Не сохранять связанные данные
Сообщение не запишется в историю переписки, но событие в аналитике останется
Полностью игнорировать событие
Прерывает обработку целиком: ни события в аналитике, ни записи в историю. Используйте осторожно
Конверсии
Засчитать конверсию
Регистрирует цель/конверсию — например, оплату или подписку. Нужно указать ID цели; сумму и валюту можно задать фиксированно либо вытащить из текста регулярным выражением (первая capture-группа — число)
Подменить тип события
Сохраняет событие под другим ID типа события — полезно для переклассификации
Профиль пользователя
Эти действия доступны только для типа события «Сохранение профиля пользователя»:
Записать в профиль пользователя
Записывает произвольное значение в указанное кастомное поле пользователя по ключу
Скрыть личные данные
Очищает выбранные поля профиля (имя, фамилия, username, био) — для конфиденциальности
Приватность
Не сохранять следующее сообщение
Взводит «окно ожидания»: следующее сообщение выбранного направления в этом чате запишется в историю переписки не как есть, а с плейсхолдером вместо текста. На аналитику это не влияет — скрывается только сырая переписка
Для действия «Не сохранять следующее сообщение» нужно указать:
Что скрыть — следующее входящее сообщение, следующее исходящее, или оба направления (сработает то, что придёт первым);
Окно ожидания (минут) — сколько минут ждать это сообщение, максимум 30. Если за это время ничего не пришло — окно закрывается само, ничего не скрывая.
Это удобно ставить на действие «Бот отправил сообщение» с условием вроде «текст содержит „пришлите токен“» — тогда именно ответ пользователя с чувствительными данными не осядет в истории переписки.
Готовые примеры
На странице создания правила есть блок с кликабельными шаблонами — сразу подставляют настроенное правило, которое можно донастроить под себя:
Поймать платёж в исходящем сообщении
Когда бот пишет «Оплата на сумму X RUB» — регистрирует конверсию с суммой и валютой из текста
Редактирование исходящего сообщения с словом «тест2»
Когда бот редактирует своё сообщение и в новом тексте есть «тест2» — игнорирует в аналитике
Скрыть имя/фамилию/username из аналитики
Стирает личные данные при сохранении профиля
Не сохранять служебные сообщения
Игнорирует исходящие сообщения с меткой [service] в тексте
Конверсия когда пользователь пишет «купить»
Когда пользователь шлёт сообщение со словом «купить» — фиксируется конверсия
Не сохранять ответ с токеном
Когда бот просит прислать токен — следующее входящее сообщение в этом чате сохранится как скрытое, а не как есть
Управление правилами
В общем списке («Правила событий») для каждого правила видно: название, на что оно реагирует, какие действия выполняет, приоритет и статус.
Переключатель в колонке «Статус» включает и выключает правило прямо из списка, без захода в редактирование.
Кнопка-карандаш открывает правило в редактировании.
Кнопка-корзина удаляет правило безвозвратно.
Последнее обновление