Как изменить текст инлайн кнопки? (aiogram)

Как изменить именно текст инлайн-кнопки, чтобы не делать по десять раз новую inline-клавиатуру или кнопку?


Ответы (1 шт):

Автор решения: DavidRomanov

Используйте либо

call.message.edit_text(...)

Либо

call.message.edit_reply_markup(reply_markup=...)

Вот простой пример


# Inline keyboard
async def button_ex(text: str) -> InlineKeyboardMarkup:
    markup = InlineKeyboardMarkup()
    button = InlineKeyboardButton(f"{text}", callback_data="update_button")
    markup.add(button)
    return markup


# Handlers
@dp.message_handler(commands="button")
async def test_button(message: Message):
    await message.answer("Привет, нажми на кнопку, чтобы она изменилась", reply_markup=await button_ex(text="Обновить"))


@dp.callback_query_handler(text="update_button")
async def update_button(call: CallbackQuery):
    await call.message.edit_reply_markup(reply_markup=await button_ex(text="Кнопка обновлена"))```
→ Ссылка