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() # Вызываем вашу функцию
