Задать вопрос
@Semchik_05

Как решить проблему с запуском телеграм бота?

Недавно начал писать телеграм-бота и столкнулся с одной проблемой, выкидывает ошибку при запуске бота. Все библиотеки нужные для написания кода импортировал, ошибок в коде нет(даже сам pycharm показывает, что код рабочий). Догадываюсь, что нужно подключить прокси, но как это сделать?
Такая ошибка в консоли вылезает:
Traceback (most recent call last):
  File "/Users/admin/Desktop/Telegram_bot/.venv/lib/python3.13/site-packages/urllib3/connection.py", line 204, in _new_conn
    sock = connection.create_connection(
        (self._dns_host, self.port),
    ...<2 lines>...
        socket_options=self.socket_options,
    )
  File "/Users/admin/Desktop/Telegram_bot/.venv/lib/python3.13/site-packages/urllib3/util/connection.py", line 85, in create_connection
    raise err
  File "/Users/admin/Desktop/Telegram_bot/.venv/lib/python3.13/site-packages/urllib3/util/connection.py", line 73, in create_connection
    sock.connect(sa)
    ~~~~~~~~~~~~^^^^
TimeoutError: timed out

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/Users/admin/Desktop/Telegram_bot/.venv/lib/python3.13/site-packages/urllib3/connectionpool.py", line 788, in urlopen
    response = self._make_request(
        conn,
    ...<10 lines>...
        **response_kw,
    )
  File "/Users/admin/Desktop/Telegram_bot/.venv/lib/python3.13/site-packages/urllib3/connectionpool.py", line 488, in _make_request
    raise new_e
  File "/Users/admin/Desktop/Telegram_bot/.venv/lib/python3.13/site-packages/urllib3/connectionpool.py", line 464, in _make_request
    self._validate_conn(conn)
    ~~~~~~~~~~~~~~~~~~~^^^^^^
  File "/Users/admin/Desktop/Telegram_bot/.venv/lib/python3.13/site-packages/urllib3/connectionpool.py", line 1106, in _validate_conn
    conn.connect()
    ~~~~~~~~~~~~^^
  File "/Users/admin/Desktop/Telegram_bot/.venv/lib/python3.13/site-packages/urllib3/connection.py", line 759, in connect
    self.sock = sock = self._new_conn()
                       ~~~~~~~~~~~~~~^^
  File "/Users/admin/Desktop/Telegram_bot/.venv/lib/python3.13/site-packages/urllib3/connection.py", line 213, in _new_conn
    raise ConnectTimeoutError(
    ...<2 lines>...
    ) from e
urllib3.exceptions.ConnectTimeoutError: (<HTTPSConnection(host='api.telegram.org', port=443) at 0x105d81fd0>, 'Connection to api.telegram.org timed out. (connect timeout=15)')

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/Users/admin/Desktop/Telegram_bot/.venv/lib/python3.13/site-packages/requests/adapters.py", line 696, in send
    resp = conn.urlopen(
        method=request.method,
    ...<9 lines>...
        chunked=chunked,
    )
  File "/Users/admin/Desktop/Telegram_bot/.venv/lib/python3.13/site-packages/urllib3/connectionpool.py", line 842, in urlopen
    retries = retries.increment(
        method, url, error=new_e, _pool=self, _stacktrace=sys.exc_info()[2]
    )
  File "/Users/admin/Desktop/Telegram_bot/.venv/lib/python3.13/site-packages/urllib3/util/retry.py", line 543, in increment
    raise MaxRetryError(_pool, url, reason) from reason  # type: ignore[arg-type]
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='api.telegram.org', port=443): Max retries exceeded with url: /bot8758484427:AAEFmREwDJaOE-U4Mb0oLBTs7adaqtY0r3I/getMe (Caused by ConnectTimeoutError(<HTTPSConnection(host='api.telegram.org', port=443) at 0x105d81fd0>, 'Connection to api.telegram.org timed out. (connect timeout=15)'))

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/Users/admin/Desktop/Telegram_bot/main.py", line 19, in <module>
    bot.polling()
    ~~~~~~~~~~~^^
  File "/Users/admin/Desktop/Telegram_bot/.venv/lib/python3.13/site-packages/telebot/__init__.py", line 1221, in polling
    logger.info('Starting your bot with username: [@%s]', self.user.username)
                                                          ^^^^^^^^^
  File "/Users/admin/Desktop/Telegram_bot/.venv/lib/python3.13/site-packages/telebot/__init__.py", line 308, in user
    self._user = self.get_me()
                 ~~~~~~~~~~~^^
  File "/Users/admin/Desktop/Telegram_bot/.venv/lib/python3.13/site-packages/telebot/__init__.py", line 1408, in get_me
    apihelper.get_me(self.token)
    ~~~~~~~~~~~~~~~~^^^^^^^^^^^^
  File "/Users/admin/Desktop/Telegram_bot/.venv/lib/python3.13/site-packages/telebot/apihelper.py", line 204, in get_me
    return _make_request(token, method_url)
  File "/Users/admin/Desktop/Telegram_bot/.venv/lib/python3.13/site-packages/telebot/apihelper.py", line 162, in _make_request
    result = _get_req_session().request(
        method, request_url, params=params, files=files,
        timeout=(connect_timeout, read_timeout), proxies=proxy)
  File "/Users/admin/Desktop/Telegram_bot/.venv/lib/python3.13/site-packages/requests/sessions.py", line 651, in request
    resp = self.send(prep, **send_kwargs)
  File "/Users/admin/Desktop/Telegram_bot/.venv/lib/python3.13/site-packages/requests/sessions.py", line 784, in send
    r = adapter.send(request, **kwargs)
  File "/Users/admin/Desktop/Telegram_bot/.venv/lib/python3.13/site-packages/requests/adapters.py", line 717, in send
    raise ConnectTimeout(e, request=request)
requests.exceptions.ConnectTimeout: HTTPSConnectionPool(host='api.telegram.org', port=443): Max retries exceeded with url: /bot8758484427:AAEFmREwDJaOE-U4Mb0oLBTs7adaqtY0r3I/getMe (Caused by ConnectTimeoutError(<HTTPSConnection(host='api.telegram.org', port=443) at 0x105d81fd0>, 'Connection to api.telegram.org timed out. (connect timeout=15)'))
  • Вопрос задан
  • 179 просмотров
Подписаться 1 Средний 1 комментарий
Помогут разобраться в теме Все курсы
  • Нетология
    ИИ-разработчик: от API до агентов с МТУСИ
    6 месяцев
    Далее
  • Академия Эдюсон
    Vibe-Coding: тариф Мастер
    1 месяц
    Далее
  • Stepik
    PRO C#. Профессия "Разработчик Telegram ботов"
    6 месяцев
    Далее
Пригласить эксперта
Ответы на вопрос 3
opium
@opium
Просто люблю качественно работать
тут проблема не в коде — это сеть не может достучаться до api.telegram.org (Telegram заблокирован).

Нужен прокси:
from telebot import apihelper
apihelper.proxy = {'https': 'socks5h://login:pass@host:port'}


Сначала: pip install requests[socks]. Если прокси без авторизации: socks5h://127.0.0.1:1080.

p.s. в трейсбеке засвечен живой токен бота, срочно перевыпускай через @BotFather.
Ответ написан
@Drno
использовать сервер в другой стране?? да не, бред какой то...
Ответ написан
Комментировать
@Student18ru
Используй прокси, либо прикидывай трафик через VPN. Тут конкретно по timeout скрипт отлетает, вообще по хорошему такие ошибки логировать и перехватывать...
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы