【问题标题】:Why do I get a Discord SSL verification error in my new bot? [duplicate]为什么我的新机器人出现 Discord SSL 验证错误? [复制]
【发布时间】:2020-09-24 22:34:17
【问题描述】:

大家好

今天我开始编写我的第一个 Discord 机器人,为简单起见选择了 Python 而不是 C#,但出现以下错误:

   Traceback (most recent call last):
  File "C:\Program Files (x86)\Python38-32\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:\Program Files (x86)\Python38-32\lib\asyncio\base_events.py", line 1050, in create_connection
    transport, protocol = await self._create_connection_transport(
  File "C:\Program Files (x86)\Python38-32\lib\asyncio\base_events.py", line 1080, in _create_connection_transport
    await waiter
  File "C:\Program Files (x86)\Python38-32\lib\asyncio\sslproto.py", line 529, in data_received
    ssldata, appdata = self._sslpipe.feed_ssldata(data)
  File "C:\Program Files (x86)\Python38-32\lib\asyncio\sslproto.py", line 189, in feed_ssldata
    self._sslobj.do_handshake()
  File "C:\Program Files (x86)\Python38-32\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:1108)

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

Traceback (most recent call last):
  File "C:\Users\Simon\Desktop\Venv\bot.py", line 19, in <module>
    client.run(token)
  File "C:\Program Files (x86)\Python38-32\lib\site-packages\discord\client.py", line 640, in run
    return future.result()
  File "C:\Program Files (x86)\Python38-32\lib\site-packages\discord\client.py", line 621, in runner
    await self.start(*args, **kwargs)
  File "C:\Program Files (x86)\Python38-32\lib\site-packages\discord\client.py", line 584, in start
    await self.login(*args, bot=bot)
  File "C:\Program Files (x86)\Python38-32\lib\site-packages\discord\client.py", line 442, in login
    await self.http.static_login(token.strip(), bot=bot)
  File "C:\Program Files (x86)\Python38-32\lib\site-packages\discord\http.py", line 261, in static_login
    data = await self.request(Route('GET', '/users/@me'))
  File "C:\Program Files (x86)\Python38-32\lib\site-packages\discord\http.py", line 165, in request
    async with self.__session.request(method, url, **kwargs) as r:
  File "C:\Program Files (x86)\Python38-32\lib\site-packages\aiohttp\client.py", line 1012, in __aenter__
    self._resp = await self._coro
  File "C:\Program Files (x86)\Python38-32\lib\site-packages\aiohttp\client.py", line 480, in _request
    conn = await self._connector.connect(
  File "C:\Program Files (x86)\Python38-32\lib\site-packages\aiohttp\connector.py", line 523, in connect
    proto = await self._create_connection(req, traces, timeout)
  File "C:\Program Files (x86)\Python38-32\lib\site-packages\aiohttp\connector.py", line 858, in _create_connection
    _, proto = await self._create_direct_connection(
  File "C:\Program Files (x86)\Python38-32\lib\site-packages\aiohttp\connector.py", line 1004, in _create_direct_connection
    raise last_exc
  File "C:\Program Files (x86)\Python38-32\lib\site-packages\aiohttp\connector.py", line 980, in _create_direct_connection
    transp, proto = await self._wrap_create_connection(
  File "C:\Program Files (x86)\Python38-32\lib\site-packages\aiohttp\connector.py", line 938, in _wrap_create_connection
    raise ClientConnectorCertificateError(
aiohttp.client_exceptions.ClientConnectorCertificateError: Cannot connect to host discordapp.com:443 ssl:True [SSLCertVerificationError: (1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: certificate has expired (_ssl.c:1108)')]

我正在使用来自 discord.py 网页的基本代码:

    import discord

client = discord.Client()

token = 'Token'

@client.event
async def on_ready():
    print('We have logged in as {0.user}'.format(client))

@client.event
async def on_message(message):
    if message.author == client.user:
        return

    if message.content.startswith('$hello'):
        await message.channel.send('Hello!')

client.run(token)

我已经尝试了一些我自己的解决方案和来自互联网的解决方案,但似乎都不起作用。


感谢您提前提供的所有帮助!

西蒙

【问题讨论】:

  • @Diggy。天哪,我真的不是最聪明的人。我(德语)将锁翻译为这个设置符号,并在搜索证书大约 10 分钟后放弃了。非常感谢!

标签: python ssl-certificate bots discord discord.py


【解决方案1】:

这很容易解决:

  1. 以管理员身份打开 IE
  2. 打开 Discord.com 并点击标签栏中的锁
  3. 安装证书并完成

【讨论】:

    猜你喜欢
    • 2022-12-07
    • 2022-12-18
    • 2021-05-21
    • 1970-01-01
    • 2017-07-22
    • 1970-01-01
    • 2023-01-13
    • 2022-06-13
    • 2019-01-12
    相关资源
    最近更新 更多