Но выходит ошибка.
Вотан код пагоды:
from pyowm import OWM from pyowm.utils import config as cfg from colorama import init from colorama import Fore, Back, Style # используйте Colorama, чтобы заставить Termcolor работать и на Windows init() print( Fore.BLACK) print( Back.YELLOW) config = cfg.get_default_config() config['language'] = 'ru' place = input("Какой город/страна?: ") print( Back.CYAN) owm = OWM('2302a1072316c2a336ceb0accc9265c9', config) mgr = owm.weather_manager() observation = mgr.weather_at_place(place) w = observation.weather # извлечение из словаря dict['key'] temp = w.temperature('celsius')['temp'] speed = w.wind()['speed'] # w.detailed_status - это строка, не метод print( "В городе " + (place) + " сейчас " + w.detailed_status + "!") print( "температура в районе " + str(temp)) print( "Скорость ветра " + str(speed)) print( "Влажность " + str(w.humidity)) # сначала нужна проверка < 20 if temp < 20: print( "Сейчас ппц как холодно! оденься очень тепло" ) elif temp < 10: print( "Сейчас холодно, желательно одеться по теплее" ) else: print( "Температура нормальная, одевай что хочешь " )
Вотан телеграм бот:
(эхо)
import telebot bot = telebot.TeleBot("1732855264:AAGYkxxK_sPhcBi_5jzYYi72DTOWfqx6jFY") @bot.message_handler( content_types=['text'] ) def send_echo( message ): bot.send_message(message.chat.id, message.text) bot.polling( none_stop = True )
И вот как я попытался сделать:
from pyowm import OWM from pyowm.utils import config as cfg import telebot owm = OWM('2302a1072316c2a336ceb0accc9265c9', config) bot = telebot.TeleBot("1732855264:AAGYkxxK_sPhcBi_5jzYYi72DTOWfqx6jFY") @bot.message_handler( content_types=['text'] ) def send_echo( message ): mgr = owm.weather_manager() observation = mgr.weather_at_place( message.text ) w = observation.weather # извлечение из словаря dict['key'] temp = w.temperature('celsius')['temp'] speed = w.wind()['speed'] # w.detailed_status - это строка, не метод answer = "В городе " + message.text + " сейчас " + w.detailed_status + "!" + "\n" answer += "температура в районе " + str(temp) + "\n\n" # сначала нужна проверка < 20 if temp < 20: answer += "Сейчас ппц как холодно! оденься очень тепло" elif temp < 10: answer += "Сейчас холодно, желательно одеться по теплее" else: answer += "Температура нормальная, одевай что хочешь" bot.send_message(message.chat.id, message.text) bot.polling( none_stop = True )