подскажите как сделать в телеграм боте многоступенчатое меню без отправки сообщений
проблема в том что не могу сделать переход, хочу чтобы при нажатии кнопки открывалось второе меню с функциями, и там же была кнопка назад которая бы возвращала все назад, и все это происходило без отправки ботом команд пользователю
small_function = ReplyKeyboardMarkup(
keyboard = [
[
KeyboardButton(text="Показать функции", callback_data='functions')
]
],
resize_keyboard=True
)
all_functions = ReplyKeyboardMarkup(
keyboard = [
[
KeyboardButton(text="function 1", callback_data='Fddddddddddddddd')
],
[
KeyboardButton(text="function 2", callback_data='Fddddddddddddddd')
],
[
KeyboardButton(text="Вернуться назад", callback_data='Fddddddddddddddd')
],
],
resize_keyboard=True
)
#insert my keyboard
sent_message = await bot.send_message(chat_id=chat_id, text=msg,parse_mode = "Markdown", reply_markup=small_function)
print(sent_message.message_id)
#PIN my message
await bot.pin_chat_message(chat_id=chat_id, message_id=sent_message.message_id,disable_notification = None)
@bot.callback_query_handler(func=lambda call: True)
async def answer(call):
Ответы (1 шт):
Автор решения: Pavlo G
→ Ссылка
Не буду писать полностью код, только скажу, что для этого Вам пригодится метод:
bot.edit_message_reply_markup(
chat_id=message.chat.id,
message.id=message.message_id,
reply_markup="Ваша клавиатура")
Так вы сможете изменять клавиатуру без отправки лишних сообщений.