Задать вопрос
@daxak

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

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

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

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

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

Похожие вопросы