База знаний GetMyBot

Триггеры

Все типы срабатываний реакции: текст, команды, медиа, кнопки, события, расписание, вебхук.

На этой странице

Триггер задаёт событие, на которое откликается реакция. В разделе Триггер редактора можно включить несколько типов сразу. Они объединяются по «ИЛИ»: реакция сработает при любом из включённых триггеров. Дополнительные ограничения (метки, параметры, чаты) задаются отдельно в Условиях.

Текстовое сообщение

Срабатывает на текст или подпись к медиа. В поле «Что искать» выбирается режим:

  • Ключевые слова: список слов/фраз. Параметр «Совпадение»: содержит, точное совпадение, начинается с, регулярное выражение; плюс флажок «Учитывать регистр». Не больше 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.поле}}. Подробнее: Веб-запросы и вебхуки.

Что дальше