Python+aiogram выдача вопросов с таймером и приём ответов
Не могу реализовать, сломал всю голову. Задача: вывод вопросов с кнопками, с каждым вопросом запускается таймер. Если таймер прошел, а кнопка не нажата - выводим следующий вопрос. Если нажали кнопку, тоже выводим следующий вопрос. В зависимости от того, нажат кнопка или нет - просто потом буду по разному данные записывать. question_for_user - список кортежей с информацией о вопросах
random.shuffle(questions_for_user)
await state.update_data(questions_data=questions_for_user)
await state.set_state(User.test)
await quiz(call, state, questions_for_user)
Функция quiz()
async def quiz(call: types.CallbackQuery, state: FSMContext, questions_list):
for row in range(len(questions_list)):
await call.bot.send_message(chat_id=call.from_user.id, text=f'{questions_list[row][0]}\n\n'
f'<b>Время на ответ:</b> {questions_list[row][6]} секунд',
reply_markup=await create_asks(questions_list[row][8], questions_list[row][3],
questions_list[row][4], questions_list[row][5]),
parse_mode='HTML')
await state.update_data(question_number=row, questions=questions_list)
await asyncio.sleep(int(questions_list[row][6]))
else:
await call.bot.send_message(chat_id=call.from_user.id, text='Спасибо , что уделили время!')
Ну и обработка кнопок, с которой пока не ясно, что делать. Перепробовал много, но постоянно теряется порядок вопросов:
@router.callback_query(User.test)
async def test_func(call: types.CallbackQuery, state: FSMContext):
if 'true_' in call.data or 'false_' in call.data:
await call.answer()
#что тут написат