Как вытянуть ссылку из inline клавиатуры aiogram

keyboard = types.InlineKeyboardMarkup()
online = types.InlineKeyboardButton('? Смотреть онлайн', url=f"{data['link']}")
watching = types.InlineKeyboardButton('❌ Статус: не смотрел', callback_data="change_status_but:yes")
keyboard.row(online).row(watching)

теперь когда нажимаю на вторую кнопку мне нужно изменить текст второй кнопки при этом оставить первую кнопку. Как это сделать?


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

Автор решения: Clark Devlin

В хендлере, где вызывается эта клавиатура можно достать ссылку из объекта callback

Этот код вернет словарь со вложенными списками, где будет клавиатура с ее кнопками, оттуда и можно будет достать url

@dp.callback_query_handler(text='test')
async def test(callback: types.CallbackQuery):
    print(callback['message']['reply_markup'])
→ Ссылка