python问题中的不和谐机器人
Posted
技术标签:
【中文标题】python问题中的不和谐机器人【英文标题】:Discord bot in python issues 【发布时间】:2020-06-08 14:41:51 【问题描述】:我正在使用 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)')]
【问题讨论】:
这能回答你的问题吗? SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1108) Discord/python 【参考方案1】:首先,您应该小心,因为您的令牌在您提供给我们的错误中是可见的。任何拥有您的令牌的人都可以完全控制您的机器人,因此请务必在解决此问题后重新生成它。
尝试做:
client = discord.Client()
而不是:
client = commands.Bot(command_prefix='!')
我用那个命令运行它并且它工作了
【讨论】:
以上是关于python问题中的不和谐机器人的主要内容,如果未能解决你的问题,请参考以下文章
如何阻止不和谐机器人响应自身/所有其他机器人 [Python 3.6 中的不和谐机器人]
我的基于 python 的不和谐机器人没有响应输入的任何命令,并且初始方法没有打印任何内容
如何使用 youtubedl 的搜索功能而不是 url 让我的不和谐机器人播放音乐? (Python)