python-telegram-bot / python-telegram-bot

We have made you a wrapper you can't refuse
https://python-telegram-bot.org
GNU General Public License v3.0
25.91k stars 5.25k forks source link

[QUESTION] Failed to establish a new connection: [Errno 8] nodename nor servname provided, or not known #2535

Closed mtiTayyab closed 3 years ago

mtiTayyab commented 3 years ago
import logging

from telegram.ext import Updater, CommandHandler, MessageHandler, Filters
import telegram

# Enable logging
logging.basicConfig(format='%(asctime)s - %(name)s - %(levelname)s - %(message)s',
                    level=logging.INFO)

logger = logging.getLogger(__name__)
def start(update, context):
    update.message.reply_text('Hi!')

def echo(update, context):
    update.message.reply_text(update.message.text)

def main():
    request = telegram.utils.request.Request()
    bot = telegram.Bot'TOKEN', request=request)
    updater = Updater(bot=bot)

    dp = updater.dispatcher

    dp.add_handler(CommandHandler("start", start))

    dp.add_handler(MessageHandler(Filters.text, echo))

    updater.start_polling(timeout=1000)

    updater.idle()

if __name__ == '__main__':
    main()

Steps to reproduce

  1. Get the token update the TOKEN keyword in the above code.
  2. Start the application.

Expected behaviour

It should start listening for the incoming messages on the bot.

Actual behaviour

Instead it is failing to create a connection with api.telegram.org and the application is not starting.

Configuration

*Operating System:MacOS*

Version of Python, python-telegram-bot & dependencies: Python: 3.9.4

$ python -m telegram python-telegram-bot 13.5 Bot API 5.2 certifi 2020.12.05

Logs

Insert logs here (if necessary)

2021-05-27 16:13:16,678 - telegram.ext.updater - WARNING - Connection pool of Request object is smaller than optimal value (8)
2021-05-27 16:13:16,679 - apscheduler.scheduler - INFO - Scheduler started
2021-05-27 16:13:17,223 - telegram.vendor.ptb_urllib3.urllib3.connectionpool - WARNING - Retrying (Retry(total=2, connect=None, read=None, redirect=None)) after connection broken by 'NewConnectionError('<telegram.vendor.ptb_urllib3.urllib3.connection.VerifiedHTTPSConnection object at 0x110a37d60>: Failed to establish a new connection: [Errno 8] nodename nor servname provided, or not known')': /bot1882992928:AAE7rGBtKduK5c4FIr0yigUie-GKUrMdnGM/getMe
2021-05-27 16:13:17,226 - telegram.vendor.ptb_urllib3.urllib3.connectionpool - WARNING - Retrying (Retry(total=1, connect=None, read=None, redirect=None)) after connection broken by 'NewConnectionError('<telegram.vendor.ptb_urllib3.urllib3.connection.VerifiedHTTPSConnection object at 0x110a4b070>: Failed to establish a new connection: [Errno 8] nodename nor servname provided, or not known')': /bot1882992928:AAE7rGBtKduK5c4FIr0yigUie-GKUrMdnGM/getMe
2021-05-27 16:13:17,228 - telegram.vendor.ptb_urllib3.urllib3.connectionpool - WARNING - Retrying (Retry(total=0, connect=None, read=None, redirect=None)) after connection broken by 'NewConnectionError('<telegram.vendor.ptb_urllib3.urllib3.connection.VerifiedHTTPSConnection object at 0x110a4b190>: Failed to establish a new connection: [Errno 8] nodename nor servname provided, or not known')': /bot1882992928:AAE7rGBtKduK5c4FIr0yigUie-GKUrMdnGM/getMe
Traceback (most recent call last):
  File "/Users/tayiqb/projects/personal/random/telegram-bot-testing/venv/lib/python3.9/site-packages/telegram/vendor/ptb_urllib3/urllib3/connection.py", line 140, in _new_conn
    conn = connection.create_connection(
  File "/Users/tayiqb/projects/personal/random/telegram-bot-testing/venv/lib/python3.9/site-packages/telegram/vendor/ptb_urllib3/urllib3/util/connection.py", line 60, in create_connection
    for res in socket.getaddrinfo(host, port, family, socket.SOCK_STREAM):
  File "/usr/local/Cellar/python@3.9/3.9.4/Frameworks/Python.framework/Versions/3.9/lib/python3.9/socket.py", line 953, in getaddrinfo
    for res in _socket.getaddrinfo(host, port, family, type, proto, flags):
socket.gaierror: [Errno 8] nodename nor servname provided, or not known

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/Users/tayiqb/projects/personal/random/telegram-bot-testing/venv/lib/python3.9/site-packages/telegram/vendor/ptb_urllib3/urllib3/connectionpool.py", line 614, in urlopen
    httplib_response = self._make_request(conn, method, url,
  File "/Users/tayiqb/projects/personal/random/telegram-bot-testing/venv/lib/python3.9/site-packages/telegram/vendor/ptb_urllib3/urllib3/connectionpool.py", line 360, in _make_request
    self._validate_conn(conn)
  File "/Users/tayiqb/projects/personal/random/telegram-bot-testing/venv/lib/python3.9/site-packages/telegram/vendor/ptb_urllib3/urllib3/connectionpool.py", line 857, in _validate_conn
    super(HTTPSConnectionPool, self)._validate_conn(conn)
  File "/Users/tayiqb/projects/personal/random/telegram-bot-testing/venv/lib/python3.9/site-packages/telegram/vendor/ptb_urllib3/urllib3/connectionpool.py", line 289, in _validate_conn
    conn.connect()
  File "/Users/tayiqb/projects/personal/random/telegram-bot-testing/venv/lib/python3.9/site-packages/telegram/vendor/ptb_urllib3/urllib3/connection.py", line 284, in connect
    conn = self._new_conn()
  File "/Users/tayiqb/projects/personal/random/telegram-bot-testing/venv/lib/python3.9/site-packages/telegram/vendor/ptb_urllib3/urllib3/connection.py", line 149, in _new_conn
    raise NewConnectionError(
telegram.vendor.ptb_urllib3.urllib3.exceptions.NewConnectionError: <telegram.vendor.ptb_urllib3.urllib3.connection.VerifiedHTTPSConnection object at 0x110a4b2e0>: Failed to establish a new connection: [Errno 8] nodename nor servname provided, or not known

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/Users/tayiqb/projects/personal/random/telegram-bot-testing/venv/lib/python3.9/site-packages/telegram/utils/request.py", line 253, in _request_wrapper
    resp = self._con_pool.request(*args, **kwargs)
  File "/Users/tayiqb/projects/personal/random/telegram-bot-testing/venv/lib/python3.9/site-packages/telegram/vendor/ptb_urllib3/urllib3/request.py", line 68, in request
    return self.request_encode_body(method, url, fields=fields,
  File "/Users/tayiqb/projects/personal/random/telegram-bot-testing/venv/lib/python3.9/site-packages/telegram/vendor/ptb_urllib3/urllib3/request.py", line 148, in request_encode_body
    return self.urlopen(method, url, **extra_kw)
  File "/Users/tayiqb/projects/personal/random/telegram-bot-testing/venv/lib/python3.9/site-packages/telegram/vendor/ptb_urllib3/urllib3/poolmanager.py", line 244, in urlopen
    response = conn.urlopen(method, u.request_uri, **kw)
  File "/Users/tayiqb/projects/personal/random/telegram-bot-testing/venv/lib/python3.9/site-packages/telegram/vendor/ptb_urllib3/urllib3/connectionpool.py", line 691, in urlopen
    return self.urlopen(method, url, body, headers, retries,
  File "/Users/tayiqb/projects/personal/random/telegram-bot-testing/venv/lib/python3.9/site-packages/telegram/vendor/ptb_urllib3/urllib3/connectionpool.py", line 691, in urlopen
    return self.urlopen(method, url, body, headers, retries,
  File "/Users/tayiqb/projects/personal/random/telegram-bot-testing/venv/lib/python3.9/site-packages/telegram/vendor/ptb_urllib3/urllib3/connectionpool.py", line 691, in urlopen
    return self.urlopen(method, url, body, headers, retries,
  File "/Users/tayiqb/projects/personal/random/telegram-bot-testing/venv/lib/python3.9/site-packages/telegram/vendor/ptb_urllib3/urllib3/connectionpool.py", line 665, in urlopen
    retries = retries.increment(method, url, error=e, _pool=self,
  File "/Users/tayiqb/projects/personal/random/telegram-bot-testing/venv/lib/python3.9/site-packages/telegram/vendor/ptb_urllib3/urllib3/util/retry.py", line 376, in increment
    raise MaxRetryError(_pool, url, error or ResponseError(cause))
telegram.vendor.ptb_urllib3.urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='api.telegram.org', port=443): Max retries exceeded with url: /bot1882992928:AAE7rGBtKduK5c4FIr0yigUie-GKUrMdnGM/getMe (Caused by NewConnectionError('<telegram.vendor.ptb_urllib3.urllib3.connection.VerifiedHTTPSConnection object at 0x110a4b2e0>: Failed to establish a new connection: [Errno 8] nodename nor servname provided, or not known'))

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

Traceback (most recent call last):
  File "/Users/tayiqb/projects/personal/random/telegram-bot-testing/main.py", line 94, in <module>
    main()
  File "/Users/tayiqb/projects/personal/random/telegram-bot-testing/main.py", line 85, in main
    updater.start_polling(timeout=1000)
  File "/Users/tayiqb/projects/personal/random/telegram-bot-testing/venv/lib/python3.9/site-packages/telegram/ext/updater.py", line 305, in start_polling
    self._init_thread(self.dispatcher.start, "dispatcher", ready=dispatcher_ready)
  File "/Users/tayiqb/projects/personal/random/telegram-bot-testing/venv/lib/python3.9/site-packages/telegram/ext/updater.py", line 225, in _init_thread
    name=f"Bot:{self.bot.id}:{name}",
  File "/Users/tayiqb/projects/personal/random/telegram-bot-testing/venv/lib/python3.9/site-packages/telegram/bot.py", line 331, in id
    return self.bot.id
  File "/Users/tayiqb/projects/personal/random/telegram-bot-testing/venv/lib/python3.9/site-packages/telegram/bot.py", line 324, in bot
    self._bot = self.get_me()
  File "/Users/tayiqb/projects/personal/random/telegram-bot-testing/venv/lib/python3.9/site-packages/telegram/bot.py", line 127, in decorator
    result = func(*args, **kwargs)
  File "/Users/tayiqb/projects/personal/random/telegram-bot-testing/venv/lib/python3.9/site-packages/telegram/bot.py", line 408, in get_me
    result = self._post('getMe', timeout=timeout, api_kwargs=api_kwargs)
  File "/Users/tayiqb/projects/personal/random/telegram-bot-testing/venv/lib/python3.9/site-packages/telegram/bot.py", line 259, in _post
    return self.request.post(
  File "/Users/tayiqb/projects/personal/random/telegram-bot-testing/venv/lib/python3.9/site-packages/telegram/utils/request.py", line 350, in post
    result = self._request_wrapper(
  File "/Users/tayiqb/projects/personal/random/telegram-bot-testing/venv/lib/python3.9/site-packages/telegram/utils/request.py", line 259, in _request_wrapper
    raise NetworkError(f'urllib3 HTTPError {error}') from error
telegram.error.NetworkError: urllib3 HTTPError HTTPSConnectionPool(host='api.telegram.org', port=443): Max retries exceeded with url: /bot1882992928:AAE7rGBtKduK5c4FIr0yigUie-GKUrMdnGM/getMe (Caused by NewConnectionError('<telegram.vendor.ptb_urllib3.urllib3.connection.VerifiedHTTPSConnection object at 0x110a4b2e0>: Failed to establish a new connection: [Errno 8] nodename nor servname provided, or not known'))
Bibo-Joshi commented 3 years ago

Hi. Is there a reason why you instantiate the Request object and the Bot object yourself instead of letting Updater do that for you? I recommend doing that unless you have a specific reason. If that doesn't help, please check this wiki page.