@daxak

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

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

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

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

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

Войти через центр авторизации
Похожие вопросы
11 мая 2024, в 00:19
1000 руб./за проект
10 мая 2024, в 23:51
30000 руб./за проект
10 мая 2024, в 23:33
2500 руб./за проект