Skip to content

Bot fails when deploying with webhooks on gcloud #1393

Closed
@jiwidi

Description

@jiwidi

Steps to reproduce

Steps linked in this tutorial: https://seminar.io/2018/09/03/building-serverless-telegram-bot/

Expected behaviour

The bot should be correctly deployed on gcloud functions and act as as mirror bot.

Actual behaviour

The bot fails on a simple commnad:

def webhook(request):
    bot = telegram.Bot(token=os.environ["TELEGRAM_TOKEN"])
    if request.method == "POST":
        update = telegram.Update.de_json(request.get_json(force=True), bot)
        chat_id = update.message.chat.id
        # Reply with the same message
        bot.sendMessage(chat_id=chat_id, text=update.message.text)
    return "ok"

It seems to me that it fails instanciation the connection. Could be a urrlib issue as well.

I tried using urllib3==1.20 as I saw it as a solution for other issues but the error persists.

Configuration

Operating System:

Version of Python, python-telegram-bot & dependencies:
python 3.7
python-telegram-bot=1.11.0
urllib3==1.24.2

Logs

Retrying (Retry(total=0, connect=None, read=None, redirect=None)) after connection broken by 'NewConnectionError('<telegram.vendor.ptb_urllib3.urllib3.connection.VerifiedHTTPSConnection object at 0x2b45c2e30b00>: Failed to establish a new connection: [Errno -3] Temporary failure in name resolution')': /bot<BOTTOKEN>/sendMessage"

gaierror: [Errno -3] Temporary failure in name resolution During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/env/local/lib/python3.7/site-packages/telegram/vendor/ptb_urllib3/urllib3/connectionpool.py", line 617, in urlopen chunked=chunked) File "/env/local/lib/python3.7/site-packages/telegram/vendor/ptb_urllib3/urllib3/connectionpool.py", line 360, in _make_request self._validate_conn(conn) File "/env/local/lib/python3.7/site-packages/telegram/vendor/ptb_urllib3/urllib3/connectionpool.py", line 857, in _validate_conn super(HTTPSConnectionPool, self)._validate_conn(conn) File "/env/local/lib/python3.7/site-packages/telegram/vendor/ptb_urllib3/urllib3/connectionpool.py", line 289, in _validate_conn conn.connect() File "/env/local/lib/python3.7/site-packages/telegram/vendor/ptb_urllib3/urllib3/connection.py", line 284, in connect conn = self._new_conn() File "/env/local/lib/python3.7/site-packages/telegram/vendor/ptb_urllib3/urllib3/connection.py", line 150, in _new_conn self, "Failed to establish a new connection: %s" % e) telegram.vendor.ptb_urllib3.urllib3.exceptions.NewConnectionError: <telegram.vendor.ptb_urllib3.urllib3.connection.VerifiedHTTPSConnection object at 0x2a652ab239b0>: Failed to establish a new connection: [Errno -3] Temporary failure in name resolution During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/env/local/lib/python3.7/site-packages/telegram/utils/request.py", line 203, in _request_wrapper resp = self._con_pool.request(*args, **kwargs) File "/env/local/lib/python3.7/site-packages/telegram/vendor/ptb_urllib3/urllib3/request.py", line 70, in request **urlopen_kw) File "/env/local/lib/python3.7/site-packages/telegram/vendor/ptb_urllib3/urllib3/request.py", line 148, in request_encode_body return self.urlopen(method, url, **extra_kw) File "/env/local/lib/python3.7/site-packages/telegram/vendor/ptb_urllib3/urllib3/poolmanager.py", line 244, in urlopen response = conn.urlopen(method, u.request_uri, **kw) File "/env/local/lib/python3.7/site-packages/telegram/vendor/ptb_urllib3/urllib3/connectionpool.py", line 695, in urlopen **response_kw) File "/env/local/lib/python3.7/site-packages/telegram/vendor/ptb_urllib3/urllib3/connectionpool.py", line 695, in urlopen **response_kw) File "/env/local/lib/python3.7/site-packages/telegram/vendor/ptb_urllib3/urllib3/connectionpool.py", line 695, in urlopen **response_kw) File "/env/local/lib/python3.7/site-packages/telegram/vendor/ptb_urllib3/urllib3/connectionpool.py", line 666, in urlopen _stacktrace=sys.exc_info()[2]) File "/env/local/lib/python3.7/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: /bot425150643:AAHNaoHZhkEZCkgVGMg4t4uEWeUAWEoh6RA/sendMessage (Caused by NewConnectionError('<telegram.vendor.ptb_urllib3.urllib3.connection.VerifiedHTTPSConnection object at 0x2a652ab239b0>: Failed to establish a new connection: [Errno -3] Temporary failure in name resolution')) During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/env/local/lib/python3.7/site-packages/google/cloud/functions/worker.py", line 346, in run_http_function result = _function_handler.invoke_user_function(flask.request) File "/env/local/lib/python3.7/site-packages/google/cloud/functions/worker.py", line 217, in invoke_user_function return call_user_function(request_or_event) File "/env/local/lib/python3.7/site-packages/google/cloud/functions/worker.py", line 210, in call_user_function return self._user_function(request_or_event) File "/user_code/main.py", line 11, in webhook bot.sendMessage(chat_id=chat_id, text=update.message.text) File "/env/local/lib/python3.7/site-packages/telegram/bot.py", line 65, in decorator result = func(self, *args, **kwargs) File "/env/local/lib/python3.7/site-packages/telegram/bot.py", line 90, in decorator result = self._request.post(url, data, timeout=kwargs.get('timeout')) File "/env/local/lib/python3.7/site-packages/telegram/utils/req

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions