EnotPRO Logo EnotPRO

Триггеры

В этой статье поговорим об их назначениях и различиях.

Общий Триггер

Общие триггеры помогают избежать дублирования реакций. Если один и тот же набор действий (например, 5 реакций) нужно выполнять в разных местах (например, по команде /cmd и при нажатии кнопки в меню), вы можете вынести эти действия в отдельный «Общий триггер». Затем вместо того, чтобы копировать все 5 реакций, вы просто одной реакцией runTrigger запускаете этот общий триггер.

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

Глобальный Триггер

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

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

Решение — Глобальный триггер. Он работает как универсальный перехватчик и выполняет ваши реакции при любом событии от пользователя, независимо от того, найдётся для него другой подходящий триггер или нет.

Типы 🔗Глобальных Триггеров

  • Глобальный Триггер До
  • Глобальный Триггер После

Триггер ДО — выполняется всегда первым, до выполнения любого другого триггера. Триггер После — соответственно выполняется после выполнения всех остальных триггеров.

Пример

Пользователь запустил команду /my_command, в которой есть триггер с реакциями, тогда будут выполнены следующие триггеры в указанном порядке:

1 Глобальный Триггер До 2 Триггер Команды /cmd 3 Глобальный Триггер После

Обратите внимание, Глобальные триггеры будет выполнены не только в ответ на действие со стороны пользователя, но при поступлении любого события в бота.

© 2025 EnotPRO. Все права защищены.