LINUX.ORG.RU

Как создать меню бота в виде именно меню?

 , ,


1

2

Сабж
Нашел на stackoverflow такую инструкцию:

https://stackoverflow.com/questions/41956166/how-can-create-menu-for-telegram...

Но там же только список с кнопками? Как на них повесить команды?
Не могу нормально отыскать.

Для написания бота использую Python3 и telebot (который pyTelegramBotAPI)

★★★★

Отправляешь клавиатуру, при нажатии пользователем на кнопку боту прилетает callback_query от пользователя. В data будет значение callback_data нажатой кнопки.

Пример:

inline_keyboard = [
    [{'text': 'Кнопка 1', 'callback_data': 'Button1'},
     {'text': 'Кнопка 2', 'callback_data': 'Button2'},
     {'text': 'Кнопка 3', 'callback_data': 'Button3'},
     {'text': 'Кнопка 4', 'callback_data': 'Button4'},
     {'text': 'Кнопка 5', 'callback_data': 'Button5'}]]

Для написания бота использую Python3 и telebot

Переходи не вебхуки.

И что непонятного в доке? Она в телеге простая совсем.

vvn_black ★★★★ ()
Последнее исправление: vvn_black (всего исправлений: 1)
Ответ на: комментарий от vvn_black

а куда мне этот inline_keyboard ставить, чтобы это стало меню бота? т.е. чтобы по кнопке справа от поля ввода появлялось меню из кнопок, а не список команд просто

Qwentor ★★★★ ()
Ответ на: комментарий от vvn_black

Только ща понял, что ничего не понял. Я думал этот json надо ботфазеру отправить по /setcommands, чтобы он доступные команды отобразил. А вот нет. Куда это тогда?
Мне надо именно чтобы те команды, которые по /setcommands включил отображались не списком с комментариями, а кнопками

Qwentor ★★★★ ()
Ответ на: комментарий от Qwentor

Мне надо именно чтобы те команды, которые по /setcommands включил отображались не списком с комментариями, а кнопками

Если я всё-таки понял, то это просто кастомная клавиатура, добавляется к сообщению sendMessage:

{
    ...,
    'reply_markup': {                                                         
        'keyboard': [['/start']]} 
}

https://core.telegram.org/bots/api/#replykeyboardmarkup

vvn_black ★★★★ ()
Последнее исправление: vvn_black (всего исправлений: 3)