Почему в aiogram 2 раза нужно писать боту чтобы перешел на следующее состояние FSM
Почему то нужно писать 2 раза чтобы он перешел на след.шаг
@dp.message_handler(state=CellarImport.count)
async def enter_volume(message: types.Message, state: FSMContext):
answer = message.text
await state.update_data(answer3=answer)[![введите сюда описание изображения][1]][1]
if answer in '1234567890':
await CellarImport.next()
else:
await message.answer('Введи количество повторов рассылки цифрами ?')
Ответы (1 шт):
Автор решения: oleksandrigo
→ Ссылка
Смотрите в момент первого ввода у вас стейт будет CellarImport.count, вы ввели 3, она записалась в стейт и после того как прошлась проверка на число, вы переходите на следующий стейт. Всё. Больше ничего и не должно делаться.
Однако вы потом снова пишите 3 и как я могу догадаться у вас есть ещё один хендлер который реагирует на новое значение стейта и выдает данные которые мы видим на скрине.
Что делать? Сразу после await CellarImport.next() отправьте сообщение типа message.answer или bot.send_message. Таким образом оно выведется сразу после первой тройки.
