Триггеры
Все типы срабатываний реакции: текст, команды, медиа, кнопки, события, расписание, вебхук.
На этой странице
Триггер задаёт событие, на которое откликается реакция. В разделе Триггер редактора можно включить несколько типов сразу. Они объединяются по «ИЛИ»: реакция сработает при любом из включённых триггеров. Дополнительные ограничения (метки, параметры, чаты) задаются отдельно в Условиях.
Текстовое сообщение
Срабатывает на текст или подпись к медиа. В поле «Что искать» выбирается режим:
- Ключевые слова: список слов/фраз. Параметр «Совпадение»: содержит, точное совпадение, начинается с, регулярное выражение; плюс флажок «Учитывать регистр». Не больше 100 ключевых слов в одном триггере и 200 символов в слове (см. Лимиты платформы); для больших словарей используйте коллекции.
- Ссылка: сообщение содержит URL.
- Email: содержит адрес почты.
- Упоминание (@username): содержит упоминание.
- Любой текст: любое текстовое сообщение.
Команда
Срабатывает на slash-команды. В поле «Команды (без «/»)» перечислите имена, например help, menu. Бот откликнется на /help и /menu.
Команда /start
Отдельный триггер на /start. Поле Payload ловит deep-link-параметр (/start <payload>); пустое значение: любой /start. Это основа для реферальных и кампанийных ссылок.
Нажатие inline-кнопки (callback)
Срабатывает на нажатие inline-кнопки. Поле «Данные кнопки (callback_data)» и «Совпадение» (точное, начинается с, содержит, регулярное выражение) определяют, какие кнопки ловить.
Медиа
Срабатывает на вложения выбранных типов: Фото, Видео, Видеосообщение, Документ, Аудио, Голосовое, GIF, Стикер, Кубик, Игра, Опрос, Контакт, Геолокация, Место, Альбом.
Системное событие
Срабатывает на события чата: Вступил по ссылке, Добавлен в чат, Покинул чат, Удалён из чата, Сменил статус, Заявка на вступление, Реакция на сообщение, Счётчик реакций. Полезно для приветствий, модерации и приёма заявок.
Кроме событий чата есть системные события платформы:
-
Метка истекла (
label_expired): у подписчика закончился срок временной метки. В реакции доступны{{event.label_name}},{{event.label_id}}и{{event.expired_at}}.Метка снимается не сразу: пока реакция выполняется, истёкшая метка ещё числится за подписчиком, и условие «есть метка» её увидит. Снимается она только после успешной обработки события, поэтому если реакция завершилась ошибкой, метка остаётся на месте и попытка повторится.
Событие приходит без чата: оно сообщает о подписчике, а не о сообщении в чате. Действие «Отправить сообщение» доставляется подписчику в личку, а
{{chat_id}}в подстановках остаётся пустым. «Изменить права» работает, если явно указать «Чат» (chat_id), например чат закрытого клуба; без него обработка завершается ошибкой и попытка будет повторена. Остальные действия, которым нужен чат события и у которых нет собственной явной цели, для этого события не выполняются.
Ответ и пересланное
- Ответ (reply) на сообщение: срабатывает, когда сообщение является ответом на другое.
- Пересланное сообщение: срабатывает на форварды.
Каждое N-е сообщение
Срабатывает на каждое N-е сообщение пользователя (поле «Каждое сообщение №»). Подходит для периодических подсказок или антифлуда.
По расписанию (даты)
Срабатывает в указанные моменты времени (список дат). Запланированная реакция рассылается активным подписчикам по наступлении срока: см. Рассылки.
Платёж
Срабатывает, когда меняется судьба счёта, выставленного ботом. Задаются Статус платежа (Оплачен, Не удался, Возвращён), Касса и Минимальная сумма, коп. Это вторая половина сценария «оплата → доступ», подробности: в статье Платежи и баланс.
Событие клиента / сайта
Срабатывает на событие клиента или сайта с указанным именем. Платформа сама записывает событие referral.joined, когда новый подписчик приходит по ссылке ?start=ref_<user_id>. Свойства события: referrer_tg_user_id – ID пригласившего, referrals_count – текущее общее число приглашённых им подписчиков, start_payload – исходный payload новичка.
Реакция с этим триггером выполняется от лица новичка, поэтому обычное действие «Отправить сообщение» отправит сообщение новичку. {{ctx.referrer_id}} и {{event.referrer_tg_user_id}} можно использовать в полях и контенте, поддерживающих подстановки, но сами по себе они не меняют адресата. Прямого динамического получателя у действия send_message нет. {{ctx.referrer_id}} также доступен отдельно в контексте самого первого /start новичка.
Входящий веб-запрос (вебхук)
Срабатывает на HTTP-запрос извне. Задаются Путь (полный URL формируется из адреса бота и пути), Секретный токен (для защиты) и Метод (POST / GET / PUT / ANY). Данные запроса попадают в контекст выполнения и доступны в действиях через {{ctx.поле}}. Подробнее: Веб-запросы и вебхуки.
Что дальше
- Условия и чаты: сузьте срабатывание по аудитории и месту.
- Действия: что бот делает в ответ.