import pyowm
import telebot
owm = pyowm.OWM('ключOpenWeatherMap', language='ru')
bot = telebot.TeleBot('ключTelegramBot')
#from telebot import apihelper # вот этот код видел у кого-то, и прикрепил. Писало, что прокси не поддерживается socks5
#apihelper.proxy = {'https':'socks5://127.0.0.1:9050'}
@bot.message_handler(content_types=['text'])
def send_echo(message):
try:
observation = owm.weather_at_place(message.text)
w = observation.get_weather()
temp = w.get_temperature('celsius')['temp']
answer = ("В населенном пункте " + {message.text} + " сейчас " + {w.get_detailed_status()} + " °C")
answer += ("Округленная температура равна " + {round(temp)} + " °C")
if temp < 0:
answer += 'Очень холодно.'
elif temp < 5:
answer += 'Температура довольно низкая.'
elif temp < 15:
answer += 'Прохладно, но в целом все хорошо.'
else:
answer += 'Тепло.'
bot.send_message(message.chat.id, answer)
except pyowm.exceptions.api_response_error.NotFoundError:
bot.send_message(message.chat.id, 'О-ш-и-б-к-а. Введите название населенного пункта верно.')
bot.polling(none_stop=True)
Traceback (most recent call last):
File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/requests/packages/urllib3/connectionpool.py", line 542, in urlopen
httplib_response = self._make_request(conn, method, url,
File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/requests/packages/urllib3/connectionpool.py", line 341, in _make_request
self._validate_conn(conn)
File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/requests/packages/urllib3/connectionpool.py", line 761, in _validate_conn
conn.connect()
File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/requests/packages/urllib3/connection.py", line 204, in connect
conn = self._new_conn()
File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/requests/packages/urllib3/connection.py", line 133, in _new_conn
conn = connection.create_connection(
File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/requests/packages/urllib3/util/connection.py", line 88, in create_connection
raise err
File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/requests/packages/urllib3/util/connection.py", line 78, in create_connection
sock.connect(sa)
OSError: [Errno 65] No route to host
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/requests/adapters.py", line 360, in send
resp = conn.urlopen(
File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/requests/packages/urllib3/connectionpool.py", line 596, in urlopen
retries = retries.increment(method, url, error=e, _pool=self,
File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/requests/packages/urllib3/util/retry.py", line 245, in increment
raise six.reraise(type(error), error, _stacktrace)
File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/requests/packages/urllib3/packages/six.py", line 309, in reraise
raise value.with_traceback(tb)
File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/requests/packages/urllib3/connectionpool.py", line 542, in urlopen
httplib_response = self._make_request(conn, method, url,
File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/requests/packages/urllib3/connectionpool.py", line 341, in _make_request
self._validate_conn(conn)
File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/requests/packages/urllib3/connectionpool.py", line 761, in _validate_conn
conn.connect()
File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/requests/packages/urllib3/connection.py", line 204, in connect
conn = self._new_conn()
File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/requests/packages/urllib3/connection.py", line 133, in _new_conn
conn = connection.create_connection(
File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/requests/packages/urllib3/util/connection.py", line 88, in create_connection
raise err
File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/requests/packages/urllib3/util/connection.py", line 78, in create_connection
sock.connect(sa)
requests.packages.urllib3.exceptions.ProtocolError: ('Connection aborted.', OSError(65, 'No route to host'))
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/telebot/util.py", line 59, in run
task(*args, **kwargs)
File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/telebot/__init__.py", line 276, in __retrieve_updates
updates = self.get_updates(offset=(self.last_update_id + 1), timeout=timeout)
File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/telebot/__init__.py", line 246, in get_updates
json_updates = apihelper.get_updates(self.token, offset, limit, timeout, allowed_updates)
File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/telebot/apihelper.py", line 180, in get_updates
return _make_request(token, method_url, params=payload)
File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/telebot/apihelper.py", line 53, in _make_request
result = _get_req_session().request(method, request_url, params=params, files=files,
File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/requests/sessions.py", line 465, in request
resp = self.send(prep, **send_kwargs)
File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/requests/sessions.py", line 573, in send
r = adapter.send(request, **kwargs)
File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/requests/adapters.py", line 415, in send
raise ConnectionError(err, request=request)
requests.exceptions.ConnectionError: ('Connection aborted.', OSError(65, 'No route to host'))
"
Traceback (most recent call last):
File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/requests/packages/urllib3/connectionpool.py", line 542, in urlopen
httplib_response = self._make_request(conn, method, url,
File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/requests/packages/urllib3/connectionpool.py", line 341, in _make_request
self._validate_conn(conn)
File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/requests/packages/urllib3/connectionpool.py", line 761, in _validate_conn
conn.connect()
File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/requests/packages/urllib3/connection.py", line 204, in connect
conn = self._new_conn()
File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/requests/packages/urllib3/connection.py", line 133, in _new_conn
conn = connection.create_connection(
File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/requests/packages/urllib3/util/connection.py", line 88, in create_connection
raise err
File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/requests/packages/urllib3/util/connection.py", line 78, in create_connection
sock.connect(sa)
OSError: [Errno 65] No route to host
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/requests/adapters.py", line 360, in send
resp = conn.urlopen(
File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/requests/packages/urllib3/connectionpool.py", line 596, in urlopen
retries = retries.increment(method, url, error=e, _pool=self,
File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/requests/packages/urllib3/util/retry.py", line 245, in increment
raise six.reraise(type(error), error, _stacktrace)
File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/requests/packages/urllib3/packages/six.py", line 309, in reraise
raise value.with_traceback(tb)
File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/requests/packages/urllib3/connectionpool.py", line 542, in urlopen
httplib_response = self._make_request(conn, method, url,
File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/requests/packages/urllib3/connectionpool.py", line 341, in _make_request
self._validate_conn(conn)
File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/requests/packages/urllib3/connectionpool.py", line 761, in _validate_conn
conn.connect()
File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/requests/packages/urllib3/connection.py", line 204, in connect
Traceback (most recent call last):
File "/home/timurc/weather.py", line 11, in <module>
@bot.message_handler(content_types=['text'])
AttributeError: 'TeleBot' object has no attribute 'message_handler'