You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Discord.py机器人网关连接异常及命令重复发送问题求助

Discord.py机器人运行数小时后重复发消息+网关连接异常

我使用discord.py开发的Discord机器人,运行数小时后出现异常:执行命令或有用户加入服务器时,机器人会重复发送消息。同时日志中出现网关连接相关错误,具体报错信息如下:

[2023-06-30 19:25:07] [INFO    ] discord.gateway: Shard ID 0 has connected to Gateway (Session ID: c8dbd2b6b4b92324b0200a1e0fd69f7e).
[2023-06-30 19:25:07] [INFO    ] client: succesfully connected
[2023-06-30 19:25:10] [ERROR   ] asyncio: Unclosed connection
client_connection: Connection<ConnectionKey(host='gateway-us-east1-c.discord.gg', port=443, is_ssl=True, ssl=None, proxy=None, proxy_auth=None, proxy_headers_hash=None)>
[2023-06-30 19:25:12] [INFO    ] discord.gateway: Shard ID 0 has connected to Gateway (Session ID: ad38a534b4afcea5c7a5ff120ce0ca6e).
[2023-06-30 19:25:12] [ERROR   ] asyncio: Unclosed connection
client_connection: Connection<ConnectionKey(host='gateway-us-east1-d.discord.gg', port=443, is_ssl=True, ssl=None, proxy=None, proxy_auth=None, proxy_headers_hash=None)>
[2023-06-30 19:25:12] [INFO    ] client: succesfully connected
[2023-06-30 19:35:47] [ERROR   ] discord.shard: Attempting a reconnect for shard ID 0 in 3.79s
Traceback (most recent call last):
  File "/home/msktermi/virtualenv/gold1/3.9/lib64/python3.9/site-packages/aiohttp/connector.py", line 1152, in _create_direct_connection
    hosts = await asyncio.shield(host_resolved)
  File "/home/msktermi/virtualenv/gold1/3.9/lib64/python3.9/site-packages/aiohttp/connector.py", line 874, in _resolve_host
    addrs = await self._resolver.resolve(host, port, family=self._family)
  File "/home/msktermi/virtualenv/gold1/3.9/lib64/python3.9/site-packages/aiohttp/resolver.py", line 33, in resolve
    infos = await self._loop.getaddrinfo(
  File "/opt/alt/python39/lib64/python3.9/asyncio/base_events.py", line 861, in getaddrinfo
    return await self.run_in_executor(
  File "/opt/alt/python39/lib64/python3.9/concurrent/futures/thread.py", line 58, in run
    result = self.fn(*self.args, **self.kwargs)
  File "/opt/alt/python39/lib64/python3.9/socket.py", line 954, in getaddrinfo
    for res in _socket.getaddrinfo(host, port, family, type, proto, flags):
socket.gaierror: [Errno -2] Name or service not known
Traceback (most recent call last):
  File "/home/msktermi/virtualenv/gold1/3.9/lib/python3.9/site-packages/discord/shard.py", line 192, in reidentify
    self.ws = await asyncio.wait_for(coro, timeout=60.0)
  File "/opt/alt/python39/lib64/python3.9/asyncio/tasks.py", line 479, in wait_for
    return fut.result()
  File "/home/msktermi/virtualenv/gold1/3.9/lib/python3.9/site-packages/discord/gateway.py", line 372, in from_client
    socket = await client.http.ws_connect(str(url))
  File "/home/msktermi/virtualenv/gold1/3.9/lib/python3.9/site-packages/discord/http.py", line 537, in ws_connect
    return await self.__session.ws_connect(url, **kwargs)
  File "/home/msktermi/virtualenv/gold1/3.9/lib64/python3.9/site-packages/aiohttp/client.py", line 779, in _ws_connect
    resp = await self.request(
  File "/home/msktermi/virtualenv/gold1/3.9/lib64/python3.9/site-packages/aiohttp/client.py", line 536, in _request
    conn = await self._connector.connect(
  File "/home/msktermi/virtualenv/gold1/3.9/lib64/python3.9/site-packages/aiohttp/connector.py", line 540, in connect
    proto = await self._create_connection(req, traces, timeout)
  File "/home/msktermi/virtualenv/gold1/3.9/lib64/python3.9/site-packages/aiohttp/connector.py", line 901, in _create_connection
    _, proto = await self._create_direct_connection(req, traces, timeout)
  File "/home/msktermi/virtualenv/gold1/3.9/lib64/python3.9/site-packages/aiohttp/connector.py", line 1166, in _create_direct_connection
    raise ClientConnectorError(req.connection_key, exc) from exc
aiohttp.client_exceptions.ClientConnectorError: Cannot connect to host gateway-us-east1-c.discord.gg:443 ssl:default [Name or service not known]
[2023-06-30 19:36:22] [ERROR   ] discord.shard: Attempting a reconnect for shard ID 0 in 1.64s
Traceback (most recent call last):
  File "/home/msktermi/virtualenv/gold1/3.9/lib/python3.9/site-packages/discord/gateway.py", line 372, in from_client
    socket = await client.http.ws_connect(str(url))
  File "/home/msktermi/virtualenv/gold1/3.9/lib/python3.9/site-packages/discord/http.py", line 537, in ws_connect
    return await self.__session.ws_connect(url, **kwargs)
  File "/home/msktermi/virtualenv/gold1/3.9/lib64/python3.9/site-packages/aiohttp/client.py", line 779, in _ws_connect
    resp = await self.request(
  File "/home/msktermi/virtualenv/gold1/3.9/lib64/python3.9/site-packages/aiohttp/client.py", line 560, in _request
    await resp.start(conn)
  File "/home/msktermi/virtualenv/gold1/3.9/lib64/python3.9/site-packages/aiohttp/client_reqrep.py", line 899, in start
    message, payload = await protocol.read()  # type: ignore[union-attr]
  File "/home/msktermi/virtualenv/gold1/3.9/lib64/python3.9/site-packages/aiohttp/streams.py", line 616, in read
    await self._waiter
asyncio.exceptions.CancelledError

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "/opt/alt/python39/lib64/python3.9/asyncio/tasks.py", line 490, in wait_for
return fut.result()
asyncio.exceptions.CancelledError

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

已尝试的解决手段:

  • 开启所有intents
  • 设置chunk_guild=False
  • 添加asyncio.sleep延迟

以上方法仅短暂有效,一段时间后问题依旧,请求技术排查与解决方法。


内容的提问来源于stack exchange,提问作者admin_sj

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.17 16:45:21