Обработчики
Команда в Телеграме это текст, который начинается с символа /, например /menu. Если такая команда встречается в тексте,
на неё можно нажать и ваш бот получит сигнал о том, что пользователь выбрал какую-то команду. Отправить команду в чат
пользователь может 3 способами:
- Набрать текст команды вручную
- Нажать на команду в тексте переписки, если есть
- Выбрать в Меню команд Telegram.
Наличие команд, таких как
/startили/menu, не означает что ваш бот должен как то отреагировать на эти команды. После создания команды в Telegram, вам необходимо в своем боте указать какие действия бот выполнить в ответ на использование команды. Делается это с помощью Обработчиков EnotPro.
Команды в botfather
Телеграм позволяет создавать до 100 команд публичных команд для бота через @botfather
Правила создания команд в botfather
- Команда должна начинаться с символа косой черты
«/» - Команда не может быть длиннее 32 символов
- Команды могут состоять из букв строчного латинского алфавита, цифр и подчёркивания.
- Команды не поддерживают заглавные буквы.
- Описание поддерживает заглавные, строчные буквы, а так же эмодзи.
- commandmode - ОпиСаНие
- co111andmode - описание
- command_mode - описание
Обработчики в EnotPro
Команды в EnotPro это комплекс, состоящий из условия и реакции.
- Условие - это текст/команда/регулярное выражение или любая другая сущность, на которую бот будет реагировать после получения события
- Реакция - это заранее настроенное действие, или набор действий, которые бот выполнит, при выполнении условия срабатывании.
Таким образом, вы создаете в EnotPro команду, у каждой команды есть свой триггер, в триггере вы указываете список реакций, которые необходимо выполнить при выполнении команды. Например, можно в ответ пользователю прислать какой-то текст, контент с опросом или предложить заполнить форму. Создаются команды EnotPro в соответствующем разделе меню:
Работа с обработчиками в EnotPro
Обработчики имеют довольно широкий спектр типов срабатываний. Рассмотрим все внимательно.
Типы
| Тип | Описание |
|---|---|
| Команды | Текстовые команды отправляемые пользователями в чате |
| Вход/выход | События входе или выходе пользователя |
| Системные сообщения | Системные сообщения отправляемые в чат |
| Вложения | Любые типы медиа отправляемые в чатах |
Настройки команд
Выполнение команд в Enotpro
По умолчанию бот обрабатывает все команды в порядке их создания, начиная с первой созданной. Такую последовательность обработки команд можно изменить, указав в настройках команды Приоритет проверки.
Интерфейс позволяющий настраивать поведение команд
| Функция | Описание |
|---|---|
| Команда | Функция отвечает за редактирование сущности команды. |
| Описание | Добавление описания для команды. Полезная функция, когда обработчик в виде регулярного выражения и сложно запомнить о чем регулярное выражение. |
| Продолжить | Определяет, сколько команд будет выполнено. По умолчанию только первая по условию. Важно прочитать |
| Приоритет | Задание приоритет порядку обработки команд. Важно прочитать |
| Задействовать в привате | Реагирование обработчиков в личном чате с ботом |
| Задействовать в чате | Реагирование обработчиков в в групповых чатах |
| Задействовать в каналах | Реагирование обработчиков в каналах |
| Игнорировать регистр | команда будет игнорировать регистр и одинаково реагировать команды с различным регистром, например: привет, ПРИвет, ПрИвет, ПРИВЕТ. |
Приоритет
Приоритет проверки изменяет последовательность обработки команд в боте. Сначала обработаются команды с установленным положительным значением Приоритета проверки, затем с нулевым значением в порядке их создания и после с отрицательным значением Приоритета проверки.
При создании команды Приоритет проверки имеет значение равное нулю. Чем больше число установленное в параметре: Приоритет проверке, тем раньше будет обработана команда. В параметре допускаются отрицательные значения. При обработке команд ботом, будет выполнена та команда, которая соответствует условиям для выполнения команды. Следующие команды не будут обработаны, если в настройках выполняемой команды не установлен параметр: Продолжить.
Продолжить
Включенный в команде параметр Продолжить в случае выполнения команды не остановит процесс обработки команд в боте, а позволит продолжить его.
Включенный в команде параметр Продолжить позволит выполнить несколько команд бота, в случае совпадении условий для их выполнения.