python中的Discord bot问题

2024-04-24 14:56:20 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在用Python制作一个不和谐的机器人,但我的代码不会执行,即使视频中的代码没有问题。我试着把它循环起来,但我尝试的一切都没用

我的代码:

import discord
from discord.ext import commands


client = commands.Bot(command_prefix='!')


@client.event
async def on_ready():
    print('Hello server!')

client.run('MyToken')

错误:

Traceback (most recent call last):
  File "/Users/Petr/Desktop/Projects/Own repo/Python/discordBot/venv/lib/python3.8/site-packages/aiohttp/connector.py", line 936, in _wrap_create_connection
    return await self._loop.create_connection(*args, **kwargs)  # type: ignore  # noqa
  File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/asyncio/base_events.py", line 1046, in create_connection
    transport, protocol = await self._create_connection_transport(
  File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/asyncio/base_events.py", line 1076, in _create_connection_transport
    await waiter
  File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/asyncio/sslproto.py", line 529, in data_received
    ssldata, appdata = self._sslpipe.feed_ssldata(data)
  File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/asyncio/sslproto.py", line 189, in feed_ssldata
    self._sslobj.do_handshake()
  File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/ssl.py", line 944, in do_handshake
    self._sslobj.do_handshake()
ssl.SSLCertVerificationError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1108)

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

Traceback (most recent call last):
  File "/Users/Petr/Desktop/Projects/Own repo/Python/discordBot/bot.py", line 12, in <module>
    client.run('ZMrX0vZ6HlhdHiOLuD-6j1uF-Gzkq2lo')
  File "/Users/Petr/Desktop/Projects/Own repo/Python/discordBot/venv/lib/python3.8/site-packages/discord/client.py", line 640, in run
    return future.result()
  File "/Users/Petr/Desktop/Projects/Own repo/Python/discordBot/venv/lib/python3.8/site-packages/discord/client.py", line 621, in runner
    await self.start(*args, **kwargs)
  File "/Users/Petr/Desktop/Projects/Own repo/Python/discordBot/venv/lib/python3.8/site-packages/discord/client.py", line 584, in start
    await self.login(*args, bot=bot)
  File "/Users/Petr/Desktop/Projects/Own repo/Python/discordBot/venv/lib/python3.8/site-packages/discord/client.py", line 442, in login
    await self.http.static_login(token.strip(), bot=bot)
  File "/Users/Petr/Desktop/Projects/Own repo/Python/discordBot/venv/lib/python3.8/site-packages/discord/http.py", line 261, in static_login
    data = await self.request(Route('GET', '/users/@me'))
  File "/Users/Petr/Desktop/Projects/Own repo/Python/discordBot/venv/lib/python3.8/site-packages/discord/http.py", line 165, in request
    async with self.__session.request(method, url, **kwargs) as r:
  File "/Users/Petr/Desktop/Projects/Own repo/Python/discordBot/venv/lib/python3.8/site-packages/aiohttp/client.py", line 1012, in __aenter__
    self._resp = await self._coro
  File "/Users/Petr/Desktop/Projects/Own repo/Python/discordBot/venv/lib/python3.8/site-packages/aiohttp/client.py", line 480, in _request
    conn = await self._connector.connect(
  File "/Users/Petr/Desktop/Projects/Own repo/Python/discordBot/venv/lib/python3.8/site-packages/aiohttp/connector.py", line 523, in connect
    proto = await self._create_connection(req, traces, timeout)
  File "/Users/Petr/Desktop/Projects/Own repo/Python/discordBot/venv/lib/python3.8/site-packages/aiohttp/connector.py", line 858, in _create_connection
    _, proto = await self._create_direct_connection(
  File "/Users/Petr/Desktop/Projects/Own repo/Python/discordBot/venv/lib/python3.8/site-packages/aiohttp/connector.py", line 1004, in _create_direct_connection
    raise last_exc
  File "/Users/Petr/Desktop/Projects/Own repo/Python/discordBot/venv/lib/python3.8/site-packages/aiohttp/connector.py", line 980, in _create_direct_connection
    transp, proto = await self._wrap_create_connection(
  File "/Users/Petr/Desktop/Projects/Own repo/Python/discordBot/venv/lib/python3.8/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: unable to get local issuer certificate (_ssl.c:1108)')]

Tags: inpyselfvenvliblinesiterepo
1条回答
网友
1楼 · 发布于 2024-04-24 14:56:20

首先,您应该小心,因为您的令牌在您给我们的错误中是可见的。任何拥有您的令牌的人都将完全控制您的机器人,因此请确保在修复此问题后重新生成它

试着做: client = discord.Client()

而不是: client = commands.Bot(command_prefix='!')

我用那个命令运行它,它成功了

相关问题 更多 >