Меню с командами в Telegram боте
В Вашем кабинете BotHelp можно создать меню с командами для Telegram-ботов. Это встроенный функционал Telegram, который позволят пользователю в любой момент вызывать интерактивное меню бота с его командами.
Ключевые особенности меню с командами:
- Есть только для Telegram ботов.
- Создается для всего канала. Если для одного Telegram-канала настроено несколько ботов, то созданное меню команд будет отображаться в каждом боте.
- Каждая команда меню может переводить подписчика на определенный шаг в выбранном боте. Если подписчик запускает команду, во время прохождения бота, то этот бот для него останавливается. Для назначения доступны только боты, созданные для канала, для которого создается меню.
- При необходимости созданное меню можно деактивировать без его удаления. В таком случае меню команд будет недоступно для подписчиков, но в кабинете BotHelp оно останется.
Создание и настройка меню команд
Есть 2 способа настроить Меню команд в Телеграм
1 способ: в настройках цепочки бота в Ботхелп
Для этого необходимо нажать на шестерёнку в правом верхнем углу, выбрать пункт «Telegram меню для канала» и добавить команду.

2 способ: в настройках кабинета
Для этого перейдите в раздел Каналы, нажмите у нужного Telegram канала на меню «три точки». В выпадающем списке выберите «Создать меню команд»

1. В открывшемся окне добавить первую команду меню, нажав на кнопку «+ Добавить команду»
2. Задать название и описание команды
- Название команды может содержать только латинские буквы, цифры и «_»
3. Выбрать бота и его шаг, на который нужно переводить подписчика при вызове команды.
Название канала в окне с командами кликабельно, чтобы было удобно открыть канал, добавлять команды и сразу тестировать.

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

4. Обязательно сохраните меню нажатием на кнопку «Сохранить»
- При дальнейшем редактировании обязательно сохраняйте меню, чтобы изменения вступили в силу
5. Активируйте меню нажатие на кнопку «Активировать». Готово — меню создано и доступно для подписчиков.
Для подписчиков созданное меню будет отображаться в виде выпадающего списка и кнопки Menu:

ВАЖНО! Если Вы создали команду, название которой совпадает с уже созданным ключевым словом, то для подписчика отработает именно ключевое слово, а не команда.
Например, ключевое слово «/test» и команда «test» — ключевое слово должно быть именно со знаком «/», в названии команды этот знак не нужен, он подставляется автоматически. Если подписчик напишет боту «/test», то сработает именно ключевое слово.
ВАЖНО! Telegram требуется время (несколько секунд), чтобы изменения вступили в силу. После создания/изменения и сохранения меню команд попробуйте перезайти в чат с ботом, чтобы меню появилось/обновилось.
ВАЖНО! На данный момент подключение Меню доступно только Администраторам аккаунта, у Агентов нет такой возможности.
Частые вопросы:
Если меню активирует бота, который начинается с блока Вопрос, и подписчик уже проходил другого бота и остановился на шаге Вопрос, то куда запишется данный им ответ?
Ответ запишется в поле Вопрос, придет сообщение по введенной команде, после чего придет сообщение, которое идет после блока Вопрос. Задержка 24 часа берет отсчет от времени получения подписчиком этого блока.
Если вы не нашли ответ на свой вопрос, задайте его нам в чате внутри кабинета либо напишите на hello@bothelp.io
Получите 14 дней полного функционала платформы для создания рассылок, автоворонок и чат-ботов BotHelp:
Как создать постоянное меню для Telegram чат-бота
Используйте меню бота, чтобы помочь пользователям найти нужную информацию в вашем боте. Создавайте команды, которые запускают определенные цепочки. Открыть меню можно кликнув по иконке со знаком «/» в поле ввода сообщений .
Чтобы создать меню бота, на странице чат-бота откройте вкладку «Меню» и нажмите «Добавить элемент».

Введите название команды. Можно использовать до 30 символов в поле: латинские буквы, цифры и знак «_».

Введите описание — то, для чего можно использовать данную команду. В этом поле можно ввести до 200 различных символов, а также добавить эмодзи.

Выберите цепочку, которая запустится после выбора команды из списка.

Нажмите “Добавить”, чтобы добавить команду в меню.
Расширяйте меню дополнительными командами с помощью кнопки «Добавить элемент». После создания команд нажмите «Сохранить», чтобы сохранить созданные элементы.

Меню с командами готово к работе.
Вы также можете создать клавиатурное меню для пользователя из кнопок «Быстрые ответы». Вы можете добавить до 10 таких кнопок и добавить в них эмодзи.
Они отображаются у пользователя под полем ввода текста, скрываются при нажатии на соответствующий значок и пропадают после отправки следующего сообщения.
Как создать меню бота в виде именно меню?
Но там же только список с кнопками? Как на них повесить команды?
Не могу нормально отыскать.
Для написания бота использую Python3 и telebot (который pyTelegramBotAPI)
телеграм


тут появляется у бота рядом с кнопкой смайлов квадратная кнопка с четырьмя точками. По нажатию ее выходит меню. Мне нужно так же
- Вопрос задан более трёх лет назад
- 26711 просмотров
1 комментарий
Простой 1 комментарий
Как создать меню бота в виде именно меню?
Но там же только список с кнопками? Как на них повесить команды?
Не могу нормально отыскать.
Для написания бота использую Python3 и telebot (который pyTelegramBotAPI)

Qwentor ★★★★★
04.03.19 21:54:28 MSK
Отправляешь клавиатуру, при нажатии пользователем на кнопку боту прилетает callback_query от пользователя. В data будет значение callback_data нажатой кнопки.
inline_keyboard = [ [, , , , ]]
Для написания бота использую Python3 и telebot
Переходи не вебхуки.
И что непонятного в доке? Она в телеге простая совсем.
vvn_black ★★★★★
( 04.03.19 22:17:02 MSK )
Последнее исправление: vvn_black 04.03.19 22:22:41 MSK (всего исправлений: 1)
Ответ на: комментарий от vvn_black 04.03.19 22:17:02 MSK

а куда мне этот inline_keyboard ставить, чтобы это стало меню бота? т.е. чтобы по кнопке справа от поля ввода появлялось меню из кнопок, а не список команд просто
Qwentor ★★★★★
( 04.03.19 22:34:24 MSK ) автор топика
Ответ на: комментарий от vvn_black 04.03.19 22:17:02 MSK

Только ща понял, что ничего не понял. Я думал этот json надо ботфазеру отправить по /setcommands, чтобы он доступные команды отобразил. А вот нет. Куда это тогда?
Мне надо именно чтобы те команды, которые по /setcommands включил отображались не списком с комментариями, а кнопками
Qwentor ★★★★★
( 04.03.19 22:40:58 MSK ) автор топика
Ответ на: комментарий от Qwentor 04.03.19 22:40:58 MSK
Тогдя я тоже ничего не понял.) Думал что проблема в обработке нажатий на кнопки, поэтому пример для inline keyboard https://core.telegram.org/bots#inline-keyboards-and-on-the-fly-updating
vvn_black ★★★★★
( 04.03.19 22:44:55 MSK )
Ответ на: комментарий от Qwentor 04.03.19 22:40:58 MSK
Мне надо именно чтобы те команды, которые по /setcommands включил отображались не списком с комментариями, а кнопками
Если я всё-таки понял, то это просто кастомная клавиатура, добавляется к сообщению sendMessage:
vvn_black ★★★★★
( 04.03.19 22:57:29 MSK )
Последнее исправление: vvn_black 04.03.19 23:00:56 MSK (всего исправлений: 3)
Ответ на: комментарий от vvn_black 04.03.19 22:57:29 MSK

тут появляется у бота рядом с кнопкой смайлов квадратная кнопка с четырьмя точками. По нажатию ее выходит меню. Мне нужно так же
Qwentor ★★★★★
( 04.03.19 23:04:46 MSK ) автор топика
Ответ на: комментарий от Qwentor 04.03.19 23:04:46 MSK
Всё правильно, надо в sendMessage вставлять клавиатуру.
vvn_black ★★★★★
( 04.03.19 23:09:16 MSK )
Ответ на: комментарий от vvn_black 04.03.19 23:09:16 MSK

Блин, я туплю, а ты прав)