Aucun de mes événements Discord.js GuildMember n'est émis, mes caches utilisateur sont fondamentalement vides et mes fonctions expirent
De nombreux utilisateurs de Discord.js ont récemment rencontré un problème où certains événements et fonctions liés aux guildes et aux utilisateurs ont cessé de fonctionner ou ont été retardés. En effet, Discord a implémenté une nouvelle fonctionnalité appelée Intentes privilégiées, qui restreint certaines fonctionnalités pour les robots à moins qu'elles ne soient explicitement activées.
Que sont les intentions privilégiées ?
Intentions privilégiées sont des données ou des fonctionnalités sensibles que Discord demande aux robots de déclarer qu'ils utiliseront. Les deux intentions privilégiées sont :
-
GUILD_PRESENCES : Accès aux données de présence des membres de la guilde
-
GUILD_MEMBERS : Accès aux membres de la guilde et à leurs data
Comment activer les privilèges Intents
Pour activer les intents privilégiés, vous devez les vérifier manuellement dans le portail des développeurs Discord :
- Accédez au portail des développeurs Discord et connectez-vous.
- Cliquez sur "Applications" et sélectionnez votre bot.
- Allez dans l'onglet "Bot" sur le barre latérale.
- Faites défiler jusqu'à la section "Intentes de passerelle privilégiée".
- Cochez la case correspondant à l'intention ou aux intentions privilégiées que vous souhaitez utiliser.
Une fois vous avez activé les intents privilégiés, vous devez également les activer dans le code de votre bot Discord.js :
const client = new Discord.Client({ ws: { intents: new Discord.Intents(Discord.Intents.ALL) } });
Copier après la connexion
Comment Les intentions privilégiées affectent votre bot
Si vous n'activez pas les intentions privilégiées, vous pouvez rencontrer les problèmes suivants :
- Les événements GuildMember (par exemple, guildMemberAdd) ne seront pas émis.
- Les caches des membres et des utilisateurs seront vides ou contiendront très peu de membres.
- Des fonctions telles que GuildMemberManager.fetch() et UserManager.fetch() expireront.
- Les données de présence seront indisponibles.
Conseils de dépannage
Si vous rencontrez toujours des problèmes après avoir activé les intentions privilégiées, essayez ce qui suit :
- Assurez-vous que votre bot a été approuvé par Discord.
- Vérifiez que votre code utilise la dernière version de Discord.js (v12).
- Vérifiez à nouveau l'exactitude de votre configuration d'intention.
- Redémarrez votre bot pour rafraîchir sa connexion à Discord.
Ressources
- [Guide officiel Discord.js - Intentions de passerelle](https://discord.js.org/#/docs/main/v12/ class/Intents)
- [Documentation du développeur Discord - Passerelle Intents](https://discord.com/developers/docs/topics/gateway#gateway-intents)
- [FAQ sur la mise à jour de la passerelle](https://support.discord.com/hc/en-us /articles/4405026734147-Discord-Gateway-Intent-Framework-Announcement-FAQ)
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!