简体   繁体   English

python问题中的Discord机器人

[英]Discord bot in python issues

I'm making a discord bot with Python following a video but my code won't execute, even though the one in video has no problem.我在视频后使用 Python 制作了一个不和谐的机器人,但我的代码无法执行,即使视频中的代码没有问题。 I tried to loop it up, but everything I tried didn't help.我试图循环它,但我尝试的一切都无济于事。

My code:我的代码:

import discord
from discord.ext import commands


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


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

client.run('MyToken')

Errors:错误:

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)')]

First of all, you should be careful because your token is visible in the error you gave us.首先,您应该小心,因为您的令牌在您提供给我们的错误中可见。 Anyone with your token will have full control of your bot so be sure to regenerate it after you get this problem fixed.任何拥有您令牌的人都可以完全控制您的机器人,因此请确保在解决此问题后重新生成它。

Try doing: client = discord.Client()尝试这样做: client = discord.Client()

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

I ran it with that command and it worked我用那个命令运行它并且它起作用了

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM