Discord Python机器人跨设备运行异常,提示缺少intents参数
问题排查与解决方案
问题根源
两台电脑的discord.py版本不一致:
- 报错的电脑安装的是v2.0及以上版本,该版本强制要求初始化
commands.Bot时必须传入intents关键字参数 - 正常运行的电脑安装的是v1.x版本,该版本不需要
intents参数
解决方案
推荐适配新版本(更安全且功能更完善),步骤如下:
1. 在Discord开发者门户启用对应权限
- 打开你的机器人应用页面(Discord Developer Portal)
- 进入
Bot选项卡,找到Privileged Gateway Intents区域 - 开启
Message Content Intent(如果你的机器人需要读取消息内容响应命令)
2. 修改代码添加intents配置
更新后的代码示例:
import discord from discord.ext import commands # 初始化默认intents,按需开启额外权限 intents = discord.Intents.default() # 开启消息内容权限(v2.0默认关闭,必须手动开启才能读取命令消息) intents.message_content = True # 初始化Bot时传入intents参数 client = commands.Bot(command_prefix='>>', intents=intents) client.run('MYTOKEN')
备选方案:降级到旧版本(不推荐)
如果暂时不想修改代码,可以将报错电脑的discord.py降级到v1.x版本,比如:
pip install discord.py==1.7.3
注意:旧版本已停止维护,存在安全风险,仅作为临时应急方案。
内容的提问来源于stack exchange,提问作者Forever
相关产品推荐
相关产品推荐

