AttributeError: 'OWM' object has no attribute 'weather_at_place'
Написал код для телеграмбота, чтобы погоду говорил.
import telebot
import pyowm
owm = pyowm.OWM('dfbcec4399f62dca4a7f23700af60c68')
bot = telebot.TeleBot("1027786134:AAG0wLhZQdbTqn-spsCX_w0Dm0VrsVU9MJY")
@bot.message_handler(content_types=['text'])
def send_echo(message):
observation = owm.weather_at_place(message.text)
w = observation.get_weather()
temp = w.get_temperature("celsius")['temp']
answer = 'В городе (стране) ' + message.text + ' сейчас ' + w.get_detailed_status() + "\n"
answer += 'Температура сейчас в районе ' + str(temp) + "\n\n"
if temp < 10:
answer += 'Если не хочешь умереть от холода, то оденься тепло!'
elif temp < 20:
answer += 'Немного холодно, но шорты с футболкой - не лучший выбор.'
else:
answer += 'Не, ну в принципе тепло. Я бы даже сказал жарко.'
bot.send_message(message.chat.id, answer)
bot.polling(none_stop=True)
В итоге выдаёт следующее:
Traceback (most recent call last):
File "E:\pythonprogramms\telegrambot.py", line 21, in <module>
bot.polling(none_stop=True)
File "C:\Users\sleep\AppData\Local\Programs\Python\Python39\lib\site-packages\telebot\__init__.py", line 455, in polling
self.__threaded_polling(none_stop, interval, timeout, long_polling_timeout)
File "C:\Users\sleep\AppData\Local\Programs\Python\Python39\lib\site-packages\telebot\__init__.py", line 513, in __threaded_polling
raise e
File "C:\Users\sleep\AppData\Local\Programs\Python\Python39\lib\site-packages\telebot\__init__.py", line 479, in __threaded_polling
self.worker_pool.raise_exceptions()
File "C:\Users\sleep\AppData\Local\Programs\Python\Python39\lib\site-packages\telebot\util.py", line 118, in raise_exceptions
raise self.exception_info
File "C:\Users\sleep\AppData\Local\Programs\Python\Python39\lib\site-packages\telebot\util.py", line 69, in run
task(*args, **kwargs)
File "E:\pythonprogramms\telegrambot.py", line 7, in send_echo
observation = owm.weather_at_place(message.text)
AttributeError: 'OWM' object has no attribute 'weather_at_place'