Не работает 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 все стало ок