pytelegrambotapi - как задать значением переменной следующее сообщение

Хочу создать телеграм-бота который может дать информацию о погоде с помощью pytelegrambot api и pyowm. Мне нужно чтобы бот задал вопрос - "Город" и чтобы только следующее сообщение которое введет пользователь использовалось для значения переменной города (city)

vibor = 20

City = input("Введи свой город") <---ВОТ ТУТ ХОЧУ, ЧТОБЫ ВМЕСТО INPUT БЫЛО ЗНАЧЕНИЕ СООБЩЕНИЯ ОТ ПОЛЬЗОВАТЕЛЯ
while vibor != "0":
    owm = OWM('eff9bcb0aa125cf28fb71dfa097d6297')
    mgr = owm.weather_manager()
    observation = mgr.weather_at_place(City)
    w = observation.weather

    status = w.detailed_status  # 'clouds'
    wind = w.wind()  # {'speed': 4.6, 'deg': 330}
    humidity = w.humidity  # 87
    temp = w.temperature('celsius')  # {'temp_max': 10.5, 'temp': 9.7, 'temp_min': 9.0}
    rain = w.rain  # {}
    clouds = w.clouds  # 75

    info = [temp,humidity,wind,clouds,rain,status]
    vibor = input("Что хотите узнать?"
                  "\n1)Температура"
                  "\n2)Влажность"
                  "\n3)Ветер"
                  "\n4)Облака"
                  "\n5)Дождь"
                  "\n6)Статус"
                  "\n0)Выйти")
    if vibor == "1":
        print(info[0])
    elif vibor == "2":
        print(info[1])
    elif vibor == "3":
        print(info[2])
    elif vibor == "4":
        print(info[3])
    elif vibor == "5":
        print(info[4])
    elif vibor == "6":
        print(info[5])
    else: vibor = 0

Ответы (1 шт):

Автор решения: farkon00

Надо использовать register_next_step_handler первый аргумент - сообщение с вопросом, второй - какую функцию хотите вызвать.

→ Ссылка