使用Python开发的Discord机器人无法上线该如何解决?
问题解决方案
从终端返回的报错信息可以直接定位核心问题:你传入的Discord机器人令牌无效。
具体排查步骤
- 确认你没有直接运行示例代码中的
client.run('discord token'),必须将单引号内的内容替换为你在Discord开发者平台对应应用的「Bot」板块下生成的专属机器人令牌,复制时要确保完整获取全部字符,不要多带空格、换行等多余内容。 - 如果已经替换过令牌仍报错,返回Discord开发者平台的Bot板块,点击重置令牌重新生成,旧令牌会在重置后立即失效,需替换为新生成的令牌后再运行代码。
- 注意不要将应用的客户端ID、客户端密钥和机器人令牌混淆,只有Bot板块下生成的令牌可用于机器人登录验证。
你最后看到的RuntimeError: Event loop is closed是Windows系统下discord.py的附带报错,令牌问题修复后该报错会同步消失,无需单独处理。
额外适配提示
如果你使用的是2.0及以上版本的discord.py,原有代码缺少意图声明会导致后续运行异常,可调整为如下写法:
import discord # 声明基础意图 intents = discord.Intents.default() # 如果需要读取消息内容,需要额外开启并在开发者平台打开对应权限 intents.message_content = True client = discord.Client(intents=intents) client.run('替换为你的机器人令牌')
调整后记得返回Discord开发者平台的Bot板块,下滑到「Privileged Gateway Intents」区域,打开你需要用到的权限开关,否则相关功能无法正常运行。
内容的提问来源于stack exchange,提问作者Daniel Geitz
相关产品推荐
相关产品推荐

