python - 为什么我的不和谐机器人会引发此错误?
问题描述
我正在开发一个基本的不和谐机器人,但我遇到了错误。
我有这个基本的 Discord 机器人:
import discord
from tweet import tweet
client = discord.Client()
@client.event
async def on_ready():
print("The bot is ready!")
@client.event
async def on_message(message):
if message.content.startswith("j!tweet"):
user = message.author.display_name
tweetToTweet = message.content
tweetToTweet = tweetToTweet.replace('j!tweet', '')
tweet(user, tweetToTweet)
await message.channel.send("Tweeted!")
client.run(MYTOKEN)
它引发了这个错误:
Traceback (most recent call last):
File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/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.7/lib/python3.7/asyncio/base_events.py", line 981, in create_connection
ssl_handshake_timeout=ssl_handshake_timeout)
File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/asyncio/base_events.py", line 1009, in _create_connection_transport
await waiter
File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/asyncio/sslproto.py", line 530, in data_received
ssldata, appdata = self._sslpipe.feed_ssldata(data)
File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/asyncio/sslproto.py", line 189, in feed_ssldata
self._sslobj.do_handshake()
File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/ssl.py", line 774, in do_handshake
self._sslobj.do_handshake()
ssl.SSLCertVerificationError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1076)
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/Users/usr/PycharmProjects/discordBot/app.py", line 22, in <module>
client.run(TOKEN)
File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/discord/client.py", line 640, in run
return future.result()
File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/discord/client.py", line 621, in runner
await self.start(*args, **kwargs)
File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/discord/client.py", line 584, in start
await self.login(*args, bot=bot)
File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/discord/client.py", line 442, in login
await self.http.static_login(token.strip(), bot=bot)
File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/discord/http.py", line 261, in static_login
data = await self.request(Route('GET', '/users/@me'))
File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/discord/http.py", line 165, in request
async with self.__session.request(method, url, **kwargs) as r:
File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/aiohttp/client.py", line 1012, in __aenter__
self._resp = await self._coro
File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/aiohttp/client.py", line 483, in _request
timeout=real_timeout
File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/aiohttp/connector.py", line 523, in connect
proto = await self._create_connection(req, traces, timeout)
File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/aiohttp/connector.py", line 859, in _create_connection
req, traces, timeout)
File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/aiohttp/connector.py", line 1004, in _create_direct_connection
raise last_exc
File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/aiohttp/connector.py", line 986, in _create_direct_connection
req=req, client_error=client_error)
File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/aiohttp/connector.py", line 939, in _wrap_create_connection
req.connection_key, exc) from exc
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:1076)')]
这个错误是什么意思?为什么会出现这种情况?目前我不知道错误是什么,所以如果我能找出问题所在,那就太好了。
解决方案
基本上,不和谐不允许您连接(这是我从图像中理解的)。我建议这样做而不是前 4 行:
import discord
from discord.ext import commands
import tweet
client = command.Bot(commands_prefix='YOUR_PREFIX')
推荐阅读
- ios - 如何在 Swift 中格式化美国电话号码?
- javascript - 使用 PHP 在 html 中添加内容后防止删除脚本
- c++ - 我的 dll 中的内存分配大小上限 20MB
- css - 如何在 Bootstrap 的背景图像中添加文本?
- c# - 从分钟转换为毫秒,然后转换为 Int
- c# - 用户设置中保存的列表错误:字符串未保存
- javascript - 可以在 Express.js 中伪造 req.ip 吗?
- android - 透明图像背景问题android
- selenium - 启动 Internet Explorer 时出现意外错误。IELaunchURL() 使用 Selenium 3.13.0 返回 HRESULT 80070012:IEDriverServer_x64_3.13.0
- android - SQL with between in 2 columns 语句