Не отвечает на callback router, просто не реагирует, как исправить?

@router.callback_query(F.data.startswith('show_cards'))
async def handle_show_cards(callback_query: types.CallbackQuery):
    await callback_query.message.answer('Показ карточек...')

Кнопка есть и она нажимается, но она не реагирует на нажатие.


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

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

Как написали выше, возможно событие обрабатывается где-то выше в коде.

Из вариантов которые ещё могу предложить, заменить starts_with на contains, если после show_cards есть какие-то еще данные (напр. номер карточки: "show_cards_123") и нет похожих по названию коллбеков:

@router.callback_query(F.data.contains('show_cards'))

Если show_cards идет без дополнительных данных (после названия коллбека нет дополнительных данных которые нужно парсить, только это название), можно использовать такой вариант:

@router.callback_query(F.data == "show_cards")

Так же необходимо удостовериться, что роутер зарегистрирован в dispatcher

→ Ссылка