Есть клавиатуры в файле x.py вида:
def kb_pg0():
ib.add(types.InlineKeyboardButton(text="➡️", callback_data="pg_1"))
kb = inlinebuilder.as_markup()
return kb
И функция для приёма callback в основном файле:
@dp.callback_query(Text(startswith="pg_"))
async def callbacks_num(call: types.CallbackQuery):
action = call.data.split("_")[1]
if action == "0":
await call.message.edit_text("текст страницы 0", reply_markup=x.kb_pg0())
elif action == "1":
await call.message.edit_text("текст страницы 1", reply_markup=x.kb_pg1())
elif action == "2":
await call.message.edit_text("текст страницы 2", reply_markup=x.kb_pg2())
elif action == "3":
await call.message.edit_text("текст страницы 3", reply_markup=x.kb_pg3())
elif action == "4":
await call.message.edit_text("текст страницы 4", reply_markup=x.kb_pg4())
await call.answer()
Клавиатуры как ожидается не меняются, причём если предварительно очищать параметр reply_markup результат не измениться:
@dp.callback_query(Text(startswith="pg_"))
async def callbacks_num(call: types.CallbackQuery):
action = call.data.split("_")[1]
if action == "0":
await call.message.edit_reply_markup(reply_markup=None)
await call.message.edit_text(x.pg1, reply_markup=x.kb_pg0())
elif action == "1":
await call.message.edit_reply_markup(reply_markup=None)
await call.message.edit_text(x.pg1, reply_markup=x.kb_pg1())
elif action == "2":
await call.message.edit_reply_markup(reply_markup=None)
await call.message.edit_text(x.pg2, reply_markup=x.kb_pg2())
elif action == "3":
await call.message.edit_reply_markup(reply_markup=None)
await call.message.edit_text(x.pg3, reply_markup=x.kb_pg3())
elif action == "4":
await call.message.edit_reply_markup(reply_markup=None)
await call.message.edit_text(x.pg4, reply_markup=x.kb_pg4())
await call.answer()
Подскажите как исправить?