如何解决Python 3.8 上的 Discord Bot
我想编写一个 Discord 机器人,用乒乓应答 ping。但我总是得到一个我不明白的错误消息列表。 我的代码:
import discord
client = discord.Client()
@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('Nzk4ODEyMDc5NTgxNTYwODgz.X_6duA.3tjXCaFqhSuj59rbpzB6EEl7C6s')
结果:
Traceback (most recent call last):
File "/Users/kyilmaz/Documents/Phyton/Discord/venv/lib/python3.8/site-packages/aiohttp/connector.py",line 969,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 1050,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 1080,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/kyilmaz/Documents/Phyton/Discord/rpgbot.py",line 17,in <module>
client.run('Nzk4ODEyMDc5NTgxNTYwODgz.X_6duA.3tjXCaFqhSuj59rbpzB6EEl7C6s')
File "/Users/kyilmaz/Documents/Phyton/Discord/venv/lib/python3.8/site-packages/discord/client.py",line 718,in run
return future.result()
File "/Users/kyilmaz/Documents/Phyton/Discord/venv/lib/python3.8/site-packages/discord/client.py",line 697,in runner
await self.start(*args,**kwargs)
File "/Users/kyilmaz/Documents/Phyton/Discord/venv/lib/python3.8/site-packages/discord/client.py",line 660,in start
await self.login(*args,bot=bot)
File "/Users/kyilmaz/Documents/Phyton/Discord/venv/lib/python3.8/site-packages/discord/client.py",line 509,in login
await self.http.static_login(token.strip(),bot=bot)
File "/Users/kyilmaz/Documents/Phyton/Discord/venv/lib/python3.8/site-packages/discord/http.py",line 293,in static_login
data = await self.request(Route('GET','/users/@me'))
File "/Users/kyilmaz/Documents/Phyton/Discord/venv/lib/python3.8/site-packages/discord/http.py",line 185,in request
async with self.__session.request(method,url,**kwargs) as r:
File "/Users/kyilmaz/Documents/Phyton/Discord/venv/lib/python3.8/site-packages/aiohttp/client.py",line 1117,in __aenter__
self._resp = await self._coro
File "/Users/kyilmaz/Documents/Phyton/Discord/venv/lib/python3.8/site-packages/aiohttp/client.py",line 520,in _request
conn = await self._connector.connect(
File "/Users/kyilmaz/Documents/Phyton/Discord/venv/lib/python3.8/site-packages/aiohttp/connector.py",line 535,in connect
proto = await self._create_connection(req,traces,timeout)
File "/Users/kyilmaz/Documents/Phyton/Discord/venv/lib/python3.8/site-packages/aiohttp/connector.py",line 892,in _create_connection
_,proto = await self._create_direct_connection(req,line 1051,in _create_direct_connection
raise last_exc
File "/Users/kyilmaz/Documents/Phyton/Discord/venv/lib/python3.8/site-packages/aiohttp/connector.py",line 1020,in _create_direct_connection
transp,proto = await self._wrap_create_connection(
File "/Users/kyilmaz/Documents/Phyton/Discord/venv/lib/python3.8/site-packages/aiohttp/connector.py",line 971,in _wrap_create_connection
raise ClientConnectorCertificateError(req.connection_key,exc) from exc
aiohttp.client_exceptions.ClientConnectorCertificateError: Cannot connect to host discord.com:443 ssl:True [SSLCertVerificationError: (1,'[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed:unable to get local issuer certificate (_ssl.c:1108)')]
我检查了我的 Discord Token 是否正确(我因为安全而重新生成),并且一切正常。
提前感谢您的帮助!
解决方法
if message.content.startswith('ping'):
await message.channel.send('pong')
应该是你需要调整的全部。
如果您需要更多帮助,欢迎您在不和谐时向我发送消息。 烤奶酪三明治#3267
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。