-
-
Notifications
You must be signed in to change notification settings - Fork 2.4k
Open
Labels
Status: Needs TriageThis has not been labeled or discussed for handling yet.This has not been labeled or discussed for handling yet.Type: FeatureNew feature or request.New feature or request.
Description
Type of feature request
Other
Description of the feature you're suggesting
My internet access went down for an hour or two.
Several hours after,I noticed that the bot was offline on my server.
Checked the log (now overwritten because I restarted it) and I remember that aiohttps module complained about not able to resolve discord.com:443 with “Temporary failure in name resolution”.
Exception not catched and program stopped.
I don't think it is a good way to deal with such case. If it is possible I would suggest the good old retry with exponential backoff (configurable maybe?)
Trying to reproduce the failure I got this exception:
[2025-11-20 21:12:01] [CRITICAL] red.main: The main bot task didn't handle an exception and has crashed
Traceback (most recent call last):
File "/data/venv/lib/python3.11/site-packages/aiohttp/connector.py", line 1203, in _create_direct_connection
hosts = await self._resolve_host(host, port, traces=traces)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/data/venv/lib/python3.11/site-packages/aiohttp/connector.py", line 880, in _resolve_host
return await asyncio.shield(resolved_host_task)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/data/venv/lib/python3.11/site-packages/aiohttp/connector.py", line 917, in _resolve_host_with_throttle
addrs = await self._resolver.resolve(host, port, family=self._family)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/data/venv/lib/python3.11/site-packages/aiohttp/resolver.py", line 33, in resolve
infos = await self._loop.getaddrinfo(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "uvloop/loop.pyx", line 1529, in getaddrinfo
socket.gaierror: [Errno -3] Temporary failure in name resolution
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/data/venv/lib/python3.11/site-packages/redbot/__main__.py", line 470, in red_exception_handler
red_task.result()
File "/data/venv/lib/python3.11/site-packages/redbot/__main__.py", line 369, in run_bot
await red.start(token)
File "/data/venv/lib/python3.11/site-packages/redbot/core/bot.py", line 1298, in start
await self.login(token)
File "/data/venv/lib/python3.11/site-packages/discord/client.py", line 675, in login
data = await self.http.static_login(token)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/data/venv/lib/python3.11/site-packages/discord/http.py", line 839, in static_login
data = await self.request(Route('GET', '/users/@me'))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/data/venv/lib/python3.11/site-packages/discord/http.py", line 654, in request
async with self.__session.request(method, url, **kwargs) as response:
File "/data/venv/lib/python3.11/site-packages/aiohttp/client.py", line 1197, in __aenter__
self._resp = await self._coro
^^^^^^^^^^^^^^^^
File "/data/venv/lib/python3.11/site-packages/aiohttp/client.py", line 581, in _request
conn = await self._connector.connect(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/data/venv/lib/python3.11/site-packages/aiohttp/connector.py", line 544, in connect
proto = await self._create_connection(req, traces, timeout)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/data/venv/lib/python3.11/site-packages/aiohttp/connector.py", line 944, in _create_connection
_, proto = await self._create_direct_connection(req, traces, timeout)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/data/venv/lib/python3.11/site-packages/aiohttp/connector.py", line 1209, in _create_direct_connection
raise ClientConnectorError(req.connection_key, exc) from exc
aiohttp.client_exceptions.ClientConnectorError: Cannot connect to host discord.com:443 ssl:default [Temporary failure in name resolution]
[2025-11-20 21:12:01] [WARNING] red.main: Attempting to die as gracefully as possible...
[2025-11-20 21:12:01] [INFO] red.main: Shutting down from unhandled exception
Anything else?
No response
Metadata
Metadata
Assignees
Labels
Status: Needs TriageThis has not been labeled or discussed for handling yet.This has not been labeled or discussed for handling yet.Type: FeatureNew feature or request.New feature or request.