为什么Discord特权意图在开发者后台和代码中都开启后仍不生效?
问题原因
- 核心错误为参数传递位置错误:你代码中的
intents = _intents配置被错误传入了discord.Activity()构造函数,而commands.Bot()初始化时没有接收到自定义的意图参数,默认使用了关闭特权意图的默认配置,因此相关功能无法生效。 - 次要排查点:若修正语法后仍存在问题,可确认Discord开发者门户的特权意图开关已保存生效,且机器人邀请链接包含了必要的权限标记。
修复方案
修正参数传递位置,将intents作为commands.Bot的直接参数传入即可,修正后参考代码如下:
_intents = discord.Intents(presences = True, members = True) bot = commands.Bot( command_prefix=["m/", "M/", "m.", "M."], status=discord.Status.online, activity=discord.Activity(type=discord.ActivityType.playing, name="Loading..."), intents = _intents )
修复后重启机器人,可通过jishaku或直接打印bot.intents.presences、bot.intents.members验证配置是否生效,正常情况下两个值均为True。
内容的提问来源于stack exchange,提问作者Deseptor
相关产品推荐
相关产品推荐

