Хочу обработать инлайн клавиатуру, с кнопкой для выхода из текущего state в главное меню.
Обычно использую такой синтаксис
@dp.callback_query_handler()
async def имя(callback_query: types.CallbackQuery):
Для обработки состояний
async def имя(message: types.Message, state: FSMContext):
...
dp.register_message_handler(имя, state=состояние)
Проблема в том, что во-первых просто обработать inline клавиатуру как обычно не получается, пока Dispatcher находится в состоянии, он вообще обработчик не вызывает
async def cancel(callback_query: types.CallbackQuery):
...
dp.register_callback_query_handler(cancel)
Во-вторых не знаю, как тогда получить state, чтобы вызвать у него метод finish().
Буду очень благодарен любой помощи!