我的不和谐机器人无法运行,我得到的只是一个长错误?

时间:2020-09-05 16:53:57

标签: python discord discord.py

两年前,我写了一个Discord机器人(带有discord.py的异步分支),现在我正试图重写它。但是每次我尝试运行非常简单的代码(一旦启动,就应该在Python shell中打印“ Bot is ready”),我会收到一条超长的错误消息,我不知道该怎么办。 有人可以帮忙吗?

这是错误消息:

Traceback (most recent call last):
  File "C:\Users\sepp66\AppData\Local\Programs\Python\Python38\lib\site-packages\aiohttp\connector.py", line 936, in _wrap_create_connection
    return await self._loop.create_connection(*args, **kwargs)  # type: ignore  # noqa
  File "C:\Users\sepp66\AppData\Local\Programs\Python\Python38\lib\asyncio\base_events.py", line 1050, in create_connection
    transport, protocol = await self._create_connection_transport(
  File "C:\Users\sepp66\AppData\Local\Programs\Python\Python38\lib\asyncio\base_events.py", line 1080, in _create_connection_transport
    await waiter
  File "C:\Users\sepp66\AppData\Local\Programs\Python\Python38\lib\asyncio\sslproto.py", line 529, in data_received
    ssldata, appdata = self._sslpipe.feed_ssldata(data)
  File "C:\Users\sepp66\AppData\Local\Programs\Python\Python38\lib\asyncio\sslproto.py", line 189, in feed_ssldata
    self._sslobj.do_handshake()
  File "C:\Users\sepp66\AppData\Local\Programs\Python\Python38\lib\ssl.py", line 944, in do_handshake
    self._sslobj.do_handshake()
ssl.SSLCertVerificationError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: certificate has expired (_ssl.c:1123)

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

Traceback (most recent call last):
  File "E:/Programmieren/GavBot 2.0/GavBot.py", line 13, in <module>
    client.run("NzUxODM5NzE0ODQ3NDkwMDY5.X1O7TA.3zxpKURW1fIaAUZF2ML2x0bjy2s")
  File "C:\Users\sepp66\AppData\Local\Programs\Python\Python38\lib\site-packages\discord\client.py", line 678, in run
    return future.result()
  File "C:\Users\sepp66\AppData\Local\Programs\Python\Python38\lib\site-packages\discord\client.py", line 658, in runner
    await self.start(*args, **kwargs)
  File "C:\Users\sepp66\AppData\Local\Programs\Python\Python38\lib\site-packages\discord\client.py", line 621, in start
    await self.login(*args, bot=bot)
  File "C:\Users\sepp66\AppData\Local\Programs\Python\Python38\lib\site-packages\discord\client.py", line 472, in login
    await self.http.static_login(token.strip(), bot=bot)
  File "C:\Users\sepp66\AppData\Local\Programs\Python\Python38\lib\site-packages\discord\http.py", line 288, in static_login
    data = await self.request(Route('GET', '/users/@me'))
  File "C:\Users\sepp66\AppData\Local\Programs\Python\Python38\lib\site-packages\discord\http.py", line 185, in request
    async with self.__session.request(method, url, **kwargs) as r:
  File "C:\Users\sepp66\AppData\Local\Programs\Python\Python38\lib\site-packages\aiohttp\client.py", line 1012, in __aenter__
    self._resp = await self._coro
  File "C:\Users\sepp66\AppData\Local\Programs\Python\Python38\lib\site-packages\aiohttp\client.py", line 480, in _request
    conn = await self._connector.connect(
  File "C:\Users\sepp66\AppData\Local\Programs\Python\Python38\lib\site-packages\aiohttp\connector.py", line 523, in connect
    proto = await self._create_connection(req, traces, timeout)
  File "C:\Users\sepp66\AppData\Local\Programs\Python\Python38\lib\site-packages\aiohttp\connector.py", line 858, in _create_connection
    _, proto = await self._create_direct_connection(
  File "C:\Users\sepp66\AppData\Local\Programs\Python\Python38\lib\site-packages\aiohttp\connector.py", line 1004, in _create_direct_connection
    raise last_exc
  File "C:\Users\sepp66\AppData\Local\Programs\Python\Python38\lib\site-packages\aiohttp\connector.py", line 980, in _create_direct_connection
    transp, proto = await self._wrap_create_connection(
  File "C:\Users\sepp66\AppData\Local\Programs\Python\Python38\lib\site-packages\aiohttp\connector.py", line 938, in _wrap_create_connection
    raise ClientConnectorCertificateError(
aiohttp.client_exceptions.ClientConnectorCertificateError: Cannot connect to host discord.com:443 ssl:True [SSLCertVerificationError: (1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: certificate has expired (_ssl.c:1123)')]

这是我的代码:

from discord.ext import commands

client = commands.Bot(command_prefix="g!")

@client.event
async def on_ready():
    print("Bot is ready")

client.run(token)

有人知道导致异常的原因吗?

1 个答案:

答案 0 :(得分:1)

似乎您收到一条错误消息,指出SSL证书无效,这可能意味着您的discord.py版本已过时。

尝试在CMD中运行此命令以查看它是否可以解决您的问题:

pip install --upgrade discord.py