aiogram2 не доходит состояние или что-то типа того
почему состояние не доходит до второй функции?
@dp.callback_query_handler(lambda callback : callback.data.startswith('task_management:'))
async def task_management(callback : types.CallbackQuery, state : FSMContext):
#await callback.message.delete()
decision = callback.data.split(':')[1]
driver_id = extract_numbers(callback.message.caption.split('айди:')[1])
if decision == 'good':
await driver_task_done(driver_id)
await bot.send_message(driver_id, 'Диспетчер подтвердил правильность выполненого вами задания!\n\nВаш статус изменен на "Ожидание нового задания"')
await bot.send_message(callback.from_user.id, await username(driver_id) + ', выполнил задние')
elif decision == 'bad':
async with state.proxy() as data:
data['user_id'] = driver_id
await bot.send_message(callback.from_user.id, 'Опишите проблему')
await FSMAdmin.bad_decision.set()
print(await state.get_state())
@dp.message_handler(state=FSMAdmin.bad_decision)
async def send_problem_to_driver(message : types.Message, state : FSMContext):
print(await state.get_state())
async with state.proxy() as data:
driver_id = data['user_id']
await bot.send_message(driver_id, f'Выполненое вами задание было отвергнуто диспетчером\n\nПричина {message.text}\n\n'
f'Отправьте накладную заново когда исправите ошибки')
await message.answer('Ответ отправлен водителю')
await state.finish()
Если в хандлере фукции send_problem_to_driver установить state = '*', то print(await state.get_state()) будет возвращать None