Не работает обработчик событий @router.callback_query

В проекте для телеграм-бота я всё импортировал как надо, создал роутер и тд. Но при нажатии на инлайн-клавиатуру ras не вызывается событие @router.callback_query, которое вызывается при нажатии на клавишу "ИСП". Другие клавиши не назначены, поэтому невозможно судить о работоспособности этого куска кода по действительным примерам.

@router.message(F.text == 'Расписание')
async def ras(message: Message):
    await message.answer('Выберите категорию товара', reply_markup=kb.ras)

@router.callback_query(F.date == 'ISP')
async def ISP(callback_query: CallbackQuery):
    await callback_query.answer('Ввывывыв')

ras = InlineKeyboardMarkup(inline_keyboard=[
    [InlineKeyboardButton(text='ИСП',callback_data='ISP')],
    [InlineKeyboardButton(text='ПД',callback_data='PD')],
    [InlineKeyboardButton(text='МНЭЭ',callback_data='MN')]])

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

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

Ну, во-первых, у вас очень странный конструктор клавиатуры, сделайте его нормальным, например так:

def ras_kb():
    kb = InlineKeyboardBuilder()
    kb.button(text="ИСП", callback_data='ISP')
    kb.button(text="ПД", callback_data='PD')
    kb.button(text="МНЭЭ", callback_data='MN')
    kb.adjust(1)
    return kb.as_markup()

далее ее уже можете использовать:

@router.message(F.text == 'Расписание')
async def ras(message: Message):
    await message.answer('Выберите категорию товара', reply_markup=ras_kb())

ну и у вас еще ошибка далее по коду. Вместо F.date должно быть F.data. Итоговый минимальный код будет таким:

from aiogram.utils.keyboard import InlineKeyboardBuilder

def ras_kb():
    kb = InlineKeyboardBuilder()
    kb.button(text="ИСП", callback_data='ISP')
    kb.button(text="ПД", callback_data='PD')
    kb.button(text="МНЭЭ", callback_data='MN')
    kb.adjust(1)
    return kb.as_markup()


@router.message(F.text == 'Расписание')
async def ras(message: Message):
    await message.answer('Выберите категорию товара', reply_markup=ras_kb())


@router.callback_query(F.data == 'ISP')
async def ISP(callback_query: CallbackQuery):
    await callback_query.answer('Ввывывыв')
→ Ссылка