Maison >interface Web >js tutoriel >Pourquoi les événements et fonctions des membres de la guilde de mon Discord Bot ne fonctionnent-ils pas ?
Pour certains utilisateurs, Les événements et fonctions des membres de la guilde ont brusquement cessé de fonctionner. Les événements GuildMemberAdd, GuildMemberRemove et GuildMemberUpdate ne se déclenchent plus et les caches utilisateur renvoient des résultats indéfinis ou limités. De plus, GuildMemberManager.fetch() expire.
Discord a récemment appliqué des intentions privilégiées. Auparavant, les intentions GUILD_PRESENCES et GUILD_MEMBERS étaient facultatives. Cependant, depuis le 27 octobre 2020, ces intentions ont été désactivées par défaut.
Connectez-vous au portail des développeurs Discord et accédez à la page de votre bot. Sous l'onglet "Bot", faites défiler vers le bas pour activer les intentions GUILD_MEMBERS et GUILD_PRESENCES.
Lors de la création de votre client Discord à l'aide discord.js v12, spécifiez les intentions privilégiées dans la propriété ws de ClientOptions. Voici quelques exemples :
// utilisant une chaîne<br>const client = new Discord.Client({ ws: { intents: 'GUILD_PRESENCES' }});</p><p>// en utilisant un tableau<br>const client = new Discord.Client({ ws: { intents : ['GUILD_PRESENCES', 'GUILD_MEMBERS'] }});</p><p>// en utilisant une valeur de champ de bits<br>const client = new Discord.Client({ ws: { intents: 32509 }));</p><p>// utilisation de la classe Intents<br>const client = new Discord.Client({ ws: { intents: Discord.Intents.PRIVILEGED }});<br>const client = new Discord.Client({ ws: { intents : nouveau Discord.Intents(Discord.Intents.ALL) }});<br>
Veuillez noter que la mise à niveau vers discord.js v12 peut être nécessaire pour activer les intentions nécessaires.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!