есть бот который раз в день проводит опрос.
На данный момент существует проблема - если пользователь не завершил опрос, то новый опрос начнётся не с первого вопроса, а с того на который он не ответил в прошлый раз. Никак не пойму как это исправить, куда в коде поставить сброс состояния await state.clear()
К примеру если на вопрос Emails не ответили, то при новом опросе после фразы How many calls today? будет не High Priority Leads а Emails . Как это поправить, чтобы не зависимо от того на каком пользователе вопросе забил отвечать, при новом опросе вопросы шли по порядку?
await bot.send_message(users_chat_id, f'Hi, {name}. How many calls today?')
@dp.message_handler()
async def answer1(message: types.Message, state: FSMContext):
if await check_compleate(message.chat.id) :
print(f'принимаю ответ {message.chat.id} на первый вопрос')
await Questions.Q1.set()
async with state.proxy() as data:
data['answer1'] = message.text
await Questions.next()
await bot.send_message(message.chat.id, 'High Priority Leads')
@dp.message_handler(state=Questions.Q2)
async def answer2(message: types.Message, state: FSMContext):
if await check_compleate(message.chat.id) :
async with state.proxy() as data:
data['answer2'] = message.text
await Questions.next()
await bot.send_message(message.chat.id, 'Emails')
@dp.message_handler(state=Questions.Q3)
async def answer2(message: types.Message, state: FSMContext):
if await check_compleate(message.chat.id) :
async with state.proxy() as data:
data['answer3'] = message.text
await Questions.next()
await bot.send_message(message.chat.id, 'LI')