Перейти к основному содержимому

Триггер команды (command_trigger)

Срабатывает когда пользователь отправляет боту команду — /start, /help или любую кастомную. Каждый узел command_trigger — это одна команда. Для нескольких команд используйте несколько узлов на холсте.

Когда использовать

  • Точка входа в бота (команда /start)
  • Навигация по разделам (/menu, /help, /settings)
  • Админские команды (/stats, /broadcast)
  • Команды с ограниченным доступом (только для админов)

Настройки

Доступны в UI (панель свойств):

ПолеОписаниеПо умолчанию
КомандаТекст команды, например /start/start
Описание (для BotFather)Отображается в списке команд Telegram
Показать в менюДобавить команду в синюю кнопку «Меню»true
Только для администраторовКоманда доступна только администраторам бота (adminOnly)false
Требуется запуск ботаКоманда доступна только пользователям, которые уже запускали бота (/start) (requiresAuth)false
Следующий узелНода, к которой перейти после срабатывания (autoTransitionTo)

Как выглядит в редакторе

Command trigger — панель свойств

Справа — панель свойств: команда /setlink, описание для BotFather, следующий узел (condition), расширенные настройки.

Если команда — /start, в панели свойств появляется секция Deep Link. Она позволяет обрабатывать переход пользователя по ссылке вида t.me/bot?start=параметр.

ПолеОписание
Режим совпаденияexact — точное совпадение, startsWith — начинается с
ПараметрЗначение deep link для фильтрации (например ref)
Сохранить в переменнуюВключить сохранение значения параметра
Имя переменнойИмя пользовательской переменной (например referrer_id)

Автоматический трекинг

При переходе по ссылке t.me/bot?start=<args>:

  • Значение args автоматически сохраняется в переменную {deep_link_param}
  • При прямом /start (без параметра) — {deep_link_param} = "direct"

Эти значения сохраняются только при первом визите и не перезаписываются.

Источники (deep_link_param) отображаются в графиках на вкладке «Аналитика» — можно отслеживать откуда приходят пользователи.

Клавиатура

Кнопки задаются через отдельную keyboard-ноду, подключённую к узлу сообщения после триггера. Триггер команды не содержит кнопок напрямую.

Примеры JSON

Простой стартовый триггер

{
"id": "trigger_start",
"type": "command_trigger",
"position": { "x": 100, "y": 300 },
"data": {
"command": "/start",
"description": "Запустить бота",
"showInMenu": true,
"autoTransitionTo": "welcome_message"
}
}
{
"id": "trigger_start_ref",
"type": "command_trigger",
"position": { "x": 100, "y": 300 },
"data": {
"command": "/start",
"description": "Запустить бота",
"showInMenu": true,
"deepLinkMatchMode": "startsWith",
"deepLinkParam": "ref_",
"deepLinkSaveToVar": true,
"deepLinkVarName": "referrer_id",
"autoTransitionTo": "welcome_ref"
}
}

Связанные ноды


Техническая документация: lib/templates/command-trigger