使用Discord库运行机器人代码失败,提示缺少intents参数
解决discord.Client初始化时的intents缺失错误
这个错误源于discord.py v2.0+版本的强制要求:创建discord.Client实例必须传入intents参数,这是Discord API用来管控机器人可接收事件与数据范围的机制。
修复方案:
修改代码配置Intents
由于你的机器人需要监听成员加入事件(on_member_join),必须启用成员相关的特权意图。修改后的完整代码:import discord # 初始化Intents:启用默认权限 + 成员事件权限 intents = discord.Intents.default() intents.members = True # 传入intents创建Client实例 client = discord.Client(intents=intents) @client.event async def on_member_join(member): welcome_channel = member.guild.get_channel(CHANNEL_ID) await welcome_channel.send(f"Welcome {member.mention} to the server!") client.run(TOKEN)在Discord开发者后台开启对应特权意图
仅代码配置无效,需到Discord开发者门户完成权限开启:- 打开Discord开发者门户,找到你的机器人应用
- 进入「Bot」页面,下滑至「Privileged Gateway Intents」板块
- 开启「Server Members Intent」选项并保存
补充说明
discord.Intents.default()会启用常规基础权限,intents.members = True是单独开启成员事件的特权权限,这类权限需要在开发者后台额外确认。- 若后续需要监听消息内容等其他特权事件,需对应开启
intents.message_content等参数,并同步在后台开启对应选项。
内容的提问来源于stack exchange,提问作者Atharva Kotecha
相关产品推荐
相关产品推荐

