python - RuntimeError:连接python discord bot时事件循环关闭
问题描述
我刚开始用 python 编写一个不和谐的机器人,虽然代码很简单,但我在尝试连接时总是收到 RuntimeError
我多次检查令牌
如果有人能告诉我我做错了什么,我将不胜感激
蟒蛇脚本:
import discord
from discord.ext import commands
bot = commands.Bot(command_prefix=':')
@bot.event
async def on_ready():
print('bot is ready')
bot.run('my_token')
这是回溯:
Traceback (most recent call last):
File "C:\Users\orang\Projects\PythonProjects\discord_lyrics_bot\venv\lib\site-packages\discord\http.py", line 293, in static_login
data = await self.request(Route('GET', '/users/@me'))
File "C:\Users\orang\Projects\PythonProjects\discord_lyrics_bot\venv\lib\site-packages\discord\http.py", line 247, in request
raise HTTPException(r, data)
discord.errors.HTTPException: 401 Unauthorized (error code: 0): 401: Unauthorized
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File ".\main.py", line 12, in <module>
bot.run('Bxb-8dRGeYHYLFD5-IXGhNfY1TnX3kKA')
File "C:\Users\orang\Projects\PythonProjects\discord_lyrics_bot\venv\lib\site-packages\discord\client.py", line 718, in run
return future.result()
File "C:\Users\orang\Projects\PythonProjects\discord_lyrics_bot\venv\lib\site-packages\discord\client.py", line 697, in runner
await self.start(*args, **kwargs)
File "C:\Users\orang\Projects\PythonProjects\discord_lyrics_bot\venv\lib\site-packages\discord\client.py", line 660, in start
await self.login(*args, bot=bot)
File "C:\Users\orang\Projects\PythonProjects\discord_lyrics_bot\venv\lib\site-packages\discord\client.py", line 509, in login
await self.http.static_login(token.strip(), bot=bot)
File "C:\Users\orang\Projects\PythonProjects\discord_lyrics_bot\venv\lib\site-packages\discord\http.py", line 297, in static_login
raise LoginFailure('Improper token has been passed.') from exc
discord.errors.LoginFailure: Improper token has been passed.
Exception ignored in: <function _ProactorBasePipeTransport.__del__ at 0x00000217D658C670>
Traceback (most recent call last):
File "C:\Users\orang\AppData\Local\Programs\Python\Python38\lib\asyncio\proactor_events.py", line 116, in __del__
self.close()
File "C:\Users\orang\AppData\Local\Programs\Python\Python38\lib\asyncio\proactor_events.py", line 108, in close
self._loop.call_soon(self._call_connection_lost, None)
File "C:\Users\orang\AppData\Local\Programs\Python\Python38\lib\asyncio\base_events.py", line 719, in call_soon
self._check_closed()
File "C:\Users\orang\AppData\Local\Programs\Python\Python38\lib\asyncio\base_events.py", line 508, in _check_closed
raise RuntimeError('Event loop is closed')
RuntimeError: Event loop is closed
解决方案
您使用了错误的不和谐令牌。首先,你泄露了你的机器人令牌
bot.run('Bxb-8dRGeYHYLFD5-IXGhNfY1TnX3kKA')
尽快再生你的脚趾。其次,确保您在 Bot Tab 中获取了令牌,并且您没有获得任何其他令牌。我可以说令牌太短并且是错误的令牌。
推荐阅读
- javascript - Firebase.database() 在应用程序超时或在 react-native 中进入后台后失败
- python - 打印成txt文件
- python - 如何删除数据帧的不必要变量以预测二进制输出?
- arrays - Ruby 类方法返回电子邮件数组
- pandas - 次要 y 偏移 2 个 x 刻度
- android - 加载文本时,Android EditText 会成为 XSS 的目标吗?
- java - 当 lambda 可能返回 null 时,如何使 IntelliJ IDEA 发出警告?
- swiftui - 替换已弃用的 PresentationLink?(Xcode 11 测试版 4)
- javascript - 如何将项目添加到列表中?
- sql - 基于最多两个日期的列值