Aiogram. помогите с callback dp.callback_query_handler

введите сюда описание изображения

нужно что бы при нажатии на одну из этих кнопок, запускалась соответствующая функция.

код, который не работает (ничего не происходит. даже если туда запихнуть print()):

@dp.callback_query_handler(text="speakers")
async def audiodevice(message: types.Message):
    change_to_speakers()

код кнопок:

button_volume_headset = InlineKeyboardButton(text ="?", callback_data = 'headset')
button_volume_speakers = InlineKeyboardButton(text="?", callback_data = 'speakers')

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

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

В вашем коде Вы указали text вместо callback_data, поэтому ваше обработчик не срабатывает.

Отредактируйте этот фрагмент таким образом:

@dp.callback_query_handler(lambda c: c.data == 'speakers')
async def audiodevice(callback_query: types.CallbackQuery):
    await callback_query.answer()  # Отправляем подтверждение обработки callback запроса
    await change_to_speakers()  # Вызываем вашу функцию
→ Ссылка