Проверка отправки сообщения пользователем в чат в telegram-боте
Мне нужно проверить отправил ли пользователь чат-боту сообщение перед тем, как запускать следующую функцию. То есть чат-бот отправляет пользователю сообщение с просьбой ввести название города для вывода информации о погоде, после чего чат-бот должен подождать отправки сообщения пользователем для последующего запуска следующей функции. Код предоставлен ниже:
@bot.message_handler(func=lambda message: message.text == 'Прогноз погоди')
def handle_weather(message):
bot.send_message(message.chat.id, 'Введіть назву міста:')
#ПРОВЕРКА ДОЛЖНА БЫТЬ ЗДЕСЬ
handle_city(message)
def handle_city(message):
try:
city = message.text
owm = pyowm.OWM('2fd97ec2a34257e59b56ba466e5b52f0')
observation = owm.weather_manager().weather_at_place(city)
w = observation.weather
temperature = w.temperature('celsius')['temp']
wind_speed = w.wind()["speed"]
wind_deg = w.wind()["deg"]
humidity = w.humidity
response = f'Погода у місті {city}:\n\n' \
f'Температура: {temperature}°C\n' \
f'Хмарність: {w.detailed_status}\n'\
f'Швидкість вітру: {wind_speed}м/с\n'\
f'Кут вітру: {wind_deg}°\n'\
f'Вологість: {humidity}%'
except:
response="Місто не знайдено"
bot.send_message(message.chat.id, response)
Источник: Stack Overflow на русском