Я новичок и пытаюсь сделать телеграм бота с погодой. Но у меня выдает ошибку как только я пишу боту. Поможете исправить проблему?
вот такая ошибка
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'
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! ;)"
Богдан, слушай, недавно попробовал глянуть его ролики, я с тобой не согласен. Он там сначала показывает написание условного сайта, на условном django(с каким-то умопомрачительным объемом говнокода), но в конце все-же говорит что от первой программы до первых денег может пройти не один год, и что это работа далеко не для всех. Так что я бы не назвал его стандартным инфоцыганом, просто чувак снимает ролики про программированию и получает с этого деньги - не вижу ничего плохого. Незнаю, может я мало роликов посмотрел, но не увидел там никакого "зарабатывай 300к в секунду, пройдя наш курс".
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)
______
C:\Users\admin\Desktop\Yernur Study\Python>python Main.py
2022-02-01 03:14:39,452 (util.py:65 WorkerThread2) ERROR - TeleBot: "TypeError occurred, args=("'str' object is not callable",)
Traceback (most recent call last):
File "C:\Users\admin\AppData\Local\Programs\Python\Python310\lib\site-packages\telebot\util.py", line 59, in run
task(*args, **kwargs)
File "C:\Users\admin\Desktop\Yernur Study\Python\Main.py", line 22, in send_echo
answer = "In " + message.text + " now: " + w.detailed_status()
TypeError: 'str' object is not callable
"
Traceback (most recent call last):
File "C:\Users\admin\Desktop\Yernur Study\Python\Main.py", line 35, in
bot.polling(none_stop = True)
File "C:\Users\admin\AppData\Local\Programs\Python\Python310\lib\site-packages\telebot\__init.py", line 389, in polling
self.__threaded_polling(none_stop, interval, timeout)
File "C:\Users\admin\AppData\Local\Programs\Python\Python310\lib\site-packages\telebot\__init__.py", line 413, in __threaded_polling
self.worker_pool.raise_exceptions()
File "C:\Users\admin\AppData\Local\Programs\Python\Python310\lib\site-packages\telebot\util.py", line 108, in raise_exceptions
six.reraise(self.exc_info[0], self.exc_info[1], self.exc_info[2])
File "C:\Users\admin\AppData\Local\Programs\Python\Python310\lib\site-packages\six.py", line 719, in reraise
raise value
File "C:\Users\admin\AppData\Local\Programs\Python\Python310\lib\site-packages\telebot\util.py", line 59, in run
task(*args, **kwargs)
File "C:\Users\admin\Desktop\Yernur Study\Python\Main.py", line 22, in send_echo
answer = "In " + message.text + " now: " + w.detailed_status()
можете уточнить какой именно модуль скачен? если телебот удаляйте и пишите
pip install pyTelegramBotAPI==3.6.6
если pyTelegramBotAPI всё равно удаляйте и пишите
pip install pyTelegramBotAPI==3.6.6
думаю поможет.