@daxak

Как после срабатывания функции-хендлера в telegram bot получить следующее сообщение?

@dp.message_handler(commands=['weather'])
async def echo(message: types.Message):
    await message.answer("Введите город")

Как мне прочитать город в следующем сообщении. Используется aiogram
  • Вопрос задан
  • 394 просмотра
Решения вопроса 1
@AlbertForest
Я в таких случаях в бд ставлю флаг ожидания данных с указанием типа (допустим это поле waitdata).
При получении каждого сообщения проверяю наличие этого флага.
Примерно так
@dp.message_handler(content_types=['text'])
async def echo(message: types.Message):
    # если мы чего-то ждем от пользователя
    if user.waitdata:
        # если ждем город
        if user.waitdata == "city':
            #Следующее сообщение можно считать городом
            # сохраняем город

(Это не рабочий код, а пример. Перепишите под себя)
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы
22 нояб. 2024, в 22:26
3500 руб./за проект
22 нояб. 2024, в 21:47
3000 руб./за проект
22 нояб. 2024, в 21:44
50000 руб./за проект