对于某些用户,特定公会成员活动和功能突然停止运行。 GuildMemberAdd、GuildMemberRemove 和 GuildMemberUpdate 事件不再触发,用户缓存返回未定义或有限的结果。此外,GuildMemberManager.fetch() 超时。
Discord 最近强制执行了特权意图。以前,GUILD_PRESENCES 和 GUILD_MEMBERS 意图是可选的。但是,截至 2020 年 10 月 27 日,这些意图已默认禁用。
登录 Discord 开发者门户并导航到您的机器人页面。在“Bot”选项卡下,向下滚动以启用 GUILD_MEMBERS 和 GUILD_PRESENCES 意图。
使用 Discord.js v12 创建 Discord 客户端时,在 ClientOptions 的 ws 属性中指定特权意图。以下是一些示例:
// 使用字符串<br>const client = new Discord.Client({ ws: {intents: 'GUILD_PRESENCES' }});<p>// 使用数组<br>const client = new Discord.Client({ ws: {intents: ['GUILD_PRESENCES', 'GUILD_MEMBERS'] }});</p><p>// 使用位域值<br>const client = new Discord.Client({ ws: {intents: 32509 }));</p><p>// 使用 Intents 类<br>const client = new Discord.Client({ ws: {intents: Discord.Intents.PRIVILEGED }});<br>const client = new Discord.Client({ ws: {intents : 新的 Discord.Intents(Discord.Intents.ALL) }});<br>
请注意,可能需要升级到 Discord.js v12 才能启用必要的意图。
以上是为什么我的 Discord 机器人的公会成员活动和功能不起作用?的详细内容。更多信息请关注PHP中文网其他相关文章!