python - discord runtimeError('不支持 SSL。')
问题描述
当我打开 Pycharm,创建并运行一个不和谐的机器人时,我收到此错误:
Traceback (most recent call last):
File "C:/Users/sghan/PycharmProjects/discordbot/milkbot.py", line 36, in <module>
client.run('NzE2OTk0ODcyNDAxMzMwMjA3.XtYgFA.JOVxgA__TwM9TKnFs905n6zftFM')
File "C:\ProgramData\Anaconda3\lib\site-packages\discord\client.py", line 640, in run
return future.result()
File "C:\ProgramData\Anaconda3\lib\site-packages\discord\client.py", line 621, in runner
await self.start(*args, **kwargs)
File "C:\ProgramData\Anaconda3\lib\site-packages\discord\client.py", line 584, in start
await self.login(*args, bot=bot)
File "C:\ProgramData\Anaconda3\lib\site-packages\discord\client.py", line 442, in login
await self.http.static_login(token.strip(), bot=bot)
File "C:\ProgramData\Anaconda3\lib\site-packages\discord\http.py", line 261, in static_login
data = await self.request(Route('GET','/users/@me'))
File "C:\ProgramData\Anaconda3\lib\site-packages\discord\http.py", line 165, in request
async with self.__session.request(method, url, **kwargs) as r:
File "C:\ProgramData\Anaconda3\lib\site-packages\aiohttp\client.py", line 1012, in __aenter__
self._resp = await self._coro
File "C:\ProgramData\Anaconda3\lib\site-packages\aiohttp\client.py", line 483, in _request
timeout=real_timeout
File "C:\ProgramData\Anaconda3\lib\site-packages\aiohttp\connector.py", line 523, in connect
proto = await self._create_connection(req, traces, timeout)
File "C:\ProgramData\Anaconda3\lib\site-packages\aiohttp\connector.py", line 859, in _create_connection
req, traces, timeout)
File "C:\ProgramData\Anaconda3\lib\site-packages\aiohttp\connector.py", line 953, in
_create_direct_connection
sslcontext = self._get_ssl_context(req)
File "C:\ProgramData\Anaconda3\lib\site-packages\aiohttp\connector.py", line 901, in _get_ssl_context
raise RuntimeError('SSL is not supported.')
RuntimeError: SSL is not supported.
源代码是这样的:
import discord
import asyncio
client = discord.Client()
@client.event
async def on_ready():
print('Logged in as')
print(client.user.name)
print(client.user.id)
print('------')
@client.event
async def on_message(message):
if message.content.startswith('!test'):
await client.send_message(message.channel,'test!!!!')
elif message.content.startswith('!say'):
await client.send_message(message.channel,'leave message')
msg = await client.wait_for_message(timeout=15.0, author=message.author)
if msg is None:
await client.send_message(message.channel,'Please enter within 15 seconds. Retry: !say')
return
else:
await client.send_message(message.channel, msg.content)
client.run('token')
解决方案
首先,更改您的TOKEN,您刚刚通过发布回溯来揭示它。
此外,您似乎使用的discord.py
是已折旧的旧版本。
尝试将您的discord.py
模块更新到 >= 1.3 的版本,然后重试。
discord.py
您应该通过运行以下命令转储当前版本:
pip3 uninstall discord.py
推荐阅读
- ruby - 使用 ruby 出错特殊字符 Google Sheets api v4
- alexa - Alexa 技能 - 测验
- c# - 在我的情况下,如何在 WPF TextBox 中使文本变为粗体?
- sql - 如何通过 Teradata 中的存储过程从 VT 返回数据?
- python - 在列表理解中使用带有 for 循环的 while 循环
- ruby-on-rails - 为什么我不能使用现成的凭据?
- php - 如何检查该组合是否存在于数组中
- azure - Azure 函数异常处理
- php - symfony + codeception - 无法抓取新服务
- datetime - cakephp 3.8.8 将字段截止日期保存为日期时间时,无法将“字符串”类型的值转换为整数