@Evermillion

Как заставить бота ждать ответ от пользователя?

Имеется функция:
@dp.message_handler(commands=['reg_user'])
async def register_user(message: types.Message):
    user_id = message.from_user.id

    # Запрашиваем дату рождения
    await message.answer("Введите дату рождения в формате ДД.ММ.ГГГГ:")
    date_of_birth_msg = await dp.bot.wait_for(types.Message, chat_id=user_id)
    date_of_birth = date_of_birth_msg.text

    # Запрашиваем имя пользователя
    await message.answer("Введите имя пользователя:")
    name_msg = await dp.bot.wait_for(types.Message, chat_id=user_id)
    name = name_msg.text

    # Запрашиваем уровень пользователя
    await message.answer("Введите уровень доступа:")
    level_msg = await dp.bot.wait_for(types.Message, chat_id=user_id)
    level = level_msg.text

    # Сохраняем данные в базе данных
    conn = connect_to_database()
    cursor = conn.cursor()

    # Выполняем запрос для сохранения данных
    sql = "INSERT INTO users (user_id, date_of_birth, name, level) VALUES (%s, %s, %s, %s)"
    values = (user_id, date_of_birth, name, level)
    cursor.execute(sql, values)
    conn.commit()

    cursor.close()
    conn.close()

    await message.answer("Пользователь зарегистрирован!")


После вызова команды валится ошибка из-за wait_for. Как правильно заставить бота ждать ответ пользователя и после его получения переходить к следующему шагу (ввода имени)?
  • Вопрос задан
  • 387 просмотров
Решения вопроса 1
RimMirK
@RimMirK
Вроде человек. Вроде учусь. Вроде пайтону
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы