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

Рейтинг: 0Ответов: 1Опубликовано: 12.01.2023

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

Ответы

▲ 0

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

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="Кнопка обновлена"))```