Почему бот отправляет только первые четыре сообщения, а дальше повторяет последнее?
Пытаюсь создать телеграм бот, который принимает несколько фотографий и задает несколько вопросов юзеру. Столкнулся с такой проблемой: бот делает первые четыре запроса, а потом возвращает на предпоследний запрос.
@dp.message_handler(commands=["start"])
async def cmd_start(message: types.Message):
await message.answer("Пришлите фото")
photo_delivered: set[int] = set()
async def say_thanks(user: types.User):
if user.id in photo_delivered:
return
photo_delivered.add(user.id)
await bot.send_message(user.id, "Запрос 1")
async def photo_handler(message: types.Message):
await say_thanks(message.from_user)
photo = message.photo.pop()
await photo.download(f'newImages/{str(random.randint(1, 99))}.jpg')
dp.register_message_handler(photo_handler, content_types=['photo'])
@dp.message_handler(content_types="text")
async def get_req1(message: types.Message):
req1 = message.text
await message.answer("Запрос 2")
@dp.message_handler(content_types= 'text')
async def get_req2(message: types.Message):
req2 = message.text
await message.answer("Запрос 3")
@dp.message_handler()
async def get_req3(message: types.Message):
req3 = message.text
await message.answer("Запрос 4")
@dp.message_handler()
async def get_req4(message: types.Message):
req4 = message.text
await message.answer("Запрос 5")
@dp.message_handler()
async def get_req5(message: types.Message):
req5 = message.text
пример получившегося см. изображение
Источник: Stack Overflow на русском