Я хотел бы сделать нумерацию страниц для своего встроенного меню в боте Telegram, чтобы кнопка «назад» возвращалась в предыдущее меню, но я не знаю, как это сделать, кроме как создание отдельного обработчика для каждой кнопки «Назад». Буду признателен, если приведёте пример правильной нумерации страниц. Спасибо всем.
def menu_1():
keyboard = InlineKeyboardBuilder()
keyboard.add(InlineKeyboardButton(text="button 1",callback_data='b_1'))
keyboard.add(InlineKeyboardButton(text="button 2", callback_data='b_2'))
keyboard.adjust(2)
return keyboard.as_markup(resize_keyboard=True)
def menu_2():
keyboard = InlineKeyboardBuilder()
keyboard.add(InlineKeyboardButton(text="button 3", callback_data='b_3'))
keyboard.add(InlineKeyboardButton(text="button 4", callback_data='b_4'))
keyboard.add(InlineKeyboardButton(text="back", callback_data='back_to_menu_1'))
keyboard.adjust(2, 1)
return keyboard.as_markup(resize_keyboard=True)
def menu_3():
keyboard = InlineKeyboardBuilder()
keyboard.add(InlineKeyboardButton(text="button 5",callback_data='b_5'))
keyboard.add(InlineKeyboardButton(text="button 6",callback_data='b_6'))
keyboard.add(InlineKeyboardButton(text="back", callback_data='back_to_menu_2'))
keyboard.adjust(2, 1)
return keyboard.as_markup(resize_keyboard=True)
@user_router_inline.callback_query(F.data == 'back_to_menu_1')
async def configuration_channel_captions(callback: types.CallbackQuery):
await callback.message.edit_text(text="this is menu number 1",
reply_markup=menu_1())
await callback.answer()
@user_router_inline.callback_query(F.data == 'back_to_menu_2')
async def configuration_channel_captions(callback: types.CallbackQuery):
await callback.message.edit_text(text="this is menu number 2",
reply_markup=menu_2())
await callback.answer()
Подробнее здесь: https://stackoverflow.com/questions/784 ... iogram-3-5