Quescha.com
Search…
⌃K

Меню из сценария

для Телеграма
Разберем ситуацию, когда нам надо, чтобы меню в боте запускало нужные нам цепочки.
У нас будет три пункта меню, давайте их сделаем через @botfather
Переходим в botfather, выбираем наш бот далее Edit Bot -> Edit commands
Формируем наше меню одним сообщением с переносом строк как показано на скриншоте.
Меню готово и должно появиться в боте. Но пока оно никак не реагирует на нажатия. Необходимо связать пункты меню с цепочками в боте.
Создадим три цепочки, добавим каждой цепочке запуск по ключевым словам, где мы укажем наши команды из @botfather вида /command
Также не забудем указать запуск цепочки по тегу. Это необходимо нам для работы команды из сценария.
После этого назначения цепочки будут запускаться из меню, если бот не находится в режиме выполнения сценария. В режиме сценария все, что пишет пользователь боту, воспринимается им как ответ на конкретный блок сценария где он находится. Выходить из сценария на каждом блоке не совсем удобно, поэтому далее мы рассмотрим как сделать так, чтобы в режиме сценария мы могли вызывать пункты меню.
В настройках каждой цепочки мы перечислим через запятую все команды нашего меню в поле для выхода из сценария по ключевым словам.
Теперь создадим в каждой цепочке дополнительный блок, который будет обрабатывать пункты нашего меню и запускать нужную нам цепочку по тегу. Далее этот блок необходимо указать в настройках сценария в Сообщение при выходе из сценария (см. скрин выше)
В условиях блока мы используем шаблон [Exit], в который помещается слово для выхода из цепочки. В нашем случае это будет одна из команд меню.
Обратите внимание, что части выражений заключены в кавычки '[Exit]' = '/feedback'. Это необходимо из-за использования в нашей команде символа /, который также является математическим знаком деления. Мы даем понять интерпретатору выражений, что это строка. Без кавычек работать не будет.
Наше меню готово.