@Yernurus

Я новичок и пытаюсь сделать телеграм бота с погодой. Но у меня выдает ошибку как только я пишу боту. Поможете исправить проблему?

вот такая ошибка

C:\Users\admin\Desktop\Yernur Study\Python>python Main.py
Traceback (most recent call last):
File "C:\Users\admin\Desktop\Yernur Study\Python\Main.py", line 32, in
bot.polling(none_stop = True)
File "C:\Users\admin\AppData\Local\Programs\Python\Python310\lib\site-packages\telebot\__init__.py", line 664, in polling
self.__threaded_polling(non_stop, interval, timeout, long_polling_timeout, allowed_updates)
File "C:\Users\admin\AppData\Local\Programs\Python\Python310\lib\site-packages\telebot\__init__.py", line 726, in __threaded_polling
raise e
File "C:\Users\admin\AppData\Local\Programs\Python\Python310\lib\site-packages\telebot\__init__.py", line 686, in __threaded_polling
self.worker_pool.raise_exceptions()
File "C:\Users\admin\AppData\Local\Programs\Python\Python310\lib\site-packages\telebot\util.py", line 136, in raise_exceptions
raise self.exception_info
File "C:\Users\admin\AppData\Local\Programs\Python\Python310\lib\site-packages\telebot\util.py", line 88, in run
task(*args, **kwargs)
File "C:\Users\admin\Desktop\Yernur Study\Python\Main.py", line 15, in send_weather
observation = owm.weather_at_place(message.text)
AttributeError: 'OWM' object has no attribute 'weather_at_place'

_____________________

вот сам код:

import pyowm

import telebot

owm = pyowm.OWM('89404dfd6994a4f9b893748b52d3a0d7')

bot = telebot.TeleBot("5119790827:AAEvw3Ob3PpNQcyclsH9IW16rWqhLdSFuJM")

@bot.message_handler(content_types=['text'])
def send_weather(message):

observation = owm.weather_at_place(message.text)
w = observation.get_weather()
temp = w.get_temperature('celsius')["temp"]

answer = "In " + place + " now: " + w.get_detailed_status()
answer += "Temperature is nearly: " + str(temp) + "°C \n\n"

if(temp < 10):
answer += "Outside is so cold, please dress warmly! Don't forget the gloves and scarf"
elif(temp < 20):
answer += "Now is chilly, dress for the weather!"
else:
answer += "Warm, dress what you want! ;)"

bot.send_message(message.chat.id, answer)

bot.polling(none_stop = True)

_______________
pip install обеих модулей сделал
  • Вопрос задан
  • 325 просмотров
Пригласить эксперта
Ответы на вопрос 3
lxstvayne
@lxstvayne
Люблю Python
https://pypi.org/project/pyowm/
mgr = owm.weather_manager()
observation = mgr.weather_at_place('London,GB')
Ответ написан
Комментировать
bolossev666
@bolossev666
можете уточнить какой именно модуль скачен? если телебот удаляйте и пишите
pip install pyTelegramBotAPI==3.6.6
если pyTelegramBotAPI всё равно удаляйте и пишите
pip install pyTelegramBotAPI==3.6.6
думаю поможет.
Ответ написан
@moonbow
QA
метод weather_at_place() теперь в другом классе находится
вот пример вызова https://github.com/csparpa/pyowm#example
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы