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

Меню в боте

Разберём, как сделать меню в Telegram-боте, пункты которого запускают нужные цепочки или блоки.

Меню в боте 1

Два подхода
  • Каждая команда → своя цепочка — простой вариант, подходит для большинства случаев.
  • Все команды в одной цепочке — удобно, когда меню переключает блоки внутри одного сценария.

Шаг 1. Создание меню в @BotFather

Допустим, в меню будет три пункта. Создадим их через @BotFather:

  1. Откройте @BotFather, выберите своего бота.
  2. Перейдите в Edit Bot → Edit Commands.
  3. Сформируйте меню одним сообщением с переносами строк — как на скриншотах ниже.

Меню в боте 2

Меню в боте 3

Меню в боте 4

Меню появилось, но не работает

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


Шаг 2. Связь меню с цепочками

Для каждого пункта меню:

  1. Создайте отдельную цепочку.
  2. В настройках цепочки добавьте «Запуск по ключевым словам».
  3. В качестве ключевого слова укажите команду из @BotFather — вида /command.

Меню в боте 5

Меню в боте 6

Теперь нажатие пункта меню будет запускать соответствующую цепочку.


Меню внутри одного сценария

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

  1. Все команды вида /command добавьте в одну цепочку (в настройки запуска по ключевым словам).

  2. На стартовом блоке цепочки подключите сценарий действий «до запуска».

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

    [Answer] = '/command1'  →  запуск блока 1
    [Answer] = '/command2' → запуск блока 2
    [Answer] = '/command3' → запуск блока 3

Так после команды /command1 будет запущен указанный блок — внутри одного сценария.

Меню в боте 7