import pyowm
owm = pyowm.OWM('your-api-key')
def get_weather(city):
observation = owm.weather_at_place(city)
weather = observation.get_weather()
temperature = weather.get_temperature('celsius')['temp']
status = weather.get_detailed_status()
return f"Current weather in {city}: {status}. Temperature: {temperature}°C"
Эта функция получает текущую погоду для заданного города, используя API сайта OpenWeatherMap. Мы извлекаем температуру и детальный статус погоды, а затем формируем строку с информацией о погоде.
Теперь мы можем создать обработчик команды "/weather", который будет вызывать функцию get_weather и отправлять пользователю информацию о погоде для заданного города:
def weather(update, context):
text = update.message.text
city = text.split(' ')[1]
weather = get_weather(city)
context.bot.send_message(chat_id=update.effective_chat.id, text=weather)
updater.dispatcher.add_handler(CommandHandler('weather', weather))
Мы добавили обработчик команды "/weather", который получает название города из сообщения пользователя и вызывает функцию get_weather для получения информации о погоде. Затем мы отправляем полученную информацию пользователю.
Теперь наш бот имеет три функции: отправку случайной цитаты, отправку случайной картинки кота и получение информации о погоде для заданного города. Мы можем продолжать добавлять новые функции, чтобы сделать наш бот еще более полезным и интересным для пользователей.