Не срабатывает функция с callback_query_handler

Рейтинг: 1Ответов: 0Опубликовано: 15.06.2023

Есть проблема, постараюсь ее кратко описать. Есть 2 инлайн кнопки в функции, на момент работы функции работает состояние. Одна из инлайн кнопок срабатывает. При вызове другой кнопки включается другое состояние и функция с callback_query_handler пытается перехватить ее call. Однако почему-то функция не срабатывает по нажатию на кнопку, зато срабатывает функция с @dp.callback_query_handler(lambda call: True)

Общая функция, которая принимает все коллбеки в себя:

@dp.callback_query_handler(lambda call: True) #срабатывает
async def all_callbacks(call):
    ...

FSM:

class AdminStates(StatesGroup):
    report = State()

Инлайн кнопка:

class REPORT:
    def __init__(self, number):
        self.REPORT_TO_CUSTOMER = InlineKeyboardMarkup(
            inline_keyboard=[
                [
                    InlineKeyboardButton(text='Пожаловаться', callback_data=f'report#{number}')
                ]
            ]
        )

Функция, которая должна срабатывать, но не срабатывает:

@dp.callback_query_handler(lambda call: call.data.split('#')[0] == 'report', state=AdminStates.report) # значение call возвращает верное значение!
async def process_report(call, state: FSMContext):
    print('fuck')

Основная кнопка для работы функции, указанной выше:

@dp.message_handler(state=LocationStates.location, content_types=['location'])
async def process_get_location(message: Message, state: FSMContext):
    await on_spot_msg.edit_text('Хотите пожаловаться в администрацию на работодателя?', reply_markup=keyboards.REPORT(order.idOrder).REPORT_TO_CUSTOMER)
    await state.finish()
    await AdminStates.report.set()
    print(await state.get_state()) # состояние AdminStates.report работает!

Ответы

Ответов пока нет.