Не работает FSM хендлер в aiogram

class new_channels_FORM(StatesGroup):
    new_YT_channels = State()


async def process_new_channels(callback_query: CallbackQuery, state: FSMContext):
    # Acknowledge the callback query to stop the "loading" state
    await callback_query.answer(cache_time=12)
    
    chosen_tg_channel_id, chosen_tg_channel_name  = callback_query.data.replace('new_channels_to_','').split('_AKA_')
    # Save the chosen Telegram channel info in the state
    await state.update_data(chosen_tg_channel_name=chosen_tg_channel_name)
    await state.update_data(chosen_tg_channel_id=chosen_tg_channel_id)
    
    await state.set_state(new_channels_FORM.new_YT_channels)
    await callback_query.message.reply(f'fasdfasdf')
    current_state = await state.get_state()
    print(f'current_state is {current_state}')
    
    
# State handler for new_YT_channels
@dp.message(new_channels_FORM.new_YT_channels)
async def process_name(message: Message, state: FSMContext):
    print('Something')

Хотя выводит 'current_state is new_channels_FORM:new_YT_channels'


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

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

Проблема была в том, что я разбил бота на несколько файлов и в каждом делал instance of dispatcher, по типу dp = Dispatcher(storage=storage) в каждом файле. После того как перенес это в bot_settings и начал импортить одну instance все стало ок

→ Ссылка