@anastynero

Как ждать ответ от пользователя и проверять его(aiogram)?

Пользователь выбирает на клавиатуре категорию, предупреждающие, далее бот ему выводит картинку и должен ждать ответ от пользователя, сравнивать его с правильным ответом из БД и выводить сообщение верно или неверно. Знаю про FSM, но не понимаю как его тут применить.
async def text(message):
    if message.text == 'Предупреждающие':
        cur.execute("SELECT name, pic, description FROM signs WHERE category = '1'")
        finds = cur.fetchall()
        name, pic, description = random.choice(finds)
        text = f'{pic}'
        await bot.send_photo(message.chat.id, InputFile(text))
        text1 = 'Верно, это правило' + f'{name} /n {description}'
        text2 = 'Неверно! Правильный ответ:' + f'{name} /n {description}'
        if message.text == f'{name}':
            await bot.send_message(message.chat.id, text1)
        else:
            await bot.send_message(message.chat.id, text2)
  • Вопрос задан
  • 166 просмотров
Пригласить эксперта
Ответы на вопрос 1
RimMirK
@RimMirK
Вроде человек. Вроде учусь. Вроде пайтону
как в айограме не знаю, но в телеботе так:

m = bot.send_message(message.chat.id, "напишите что-то")
bot.regiser_next_step_handler(m, func)

def func(message):
    bot.send_message(message.chat.id, "вы написали: "+message.text)
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
CTRL+ Москва
от 250 000 до 320 000 ₽
CTRL+ Москва
от 200 000 до 300 000 ₽
CTRL+ Белград
от 250 000 до 320 000 ₽
22 нояб. 2024, в 00:55
500 руб./за проект
21 нояб. 2024, в 23:30
300000 руб./за проект
21 нояб. 2024, в 22:21
3000 руб./в час