Discord restreint trois types de données derrière des interrupteurs que vous devez activer vous-même. Si votre code les demande et que le portail ne les a pas accordés, le bot refuse purement et simplement de démarrer — ce qui déroute, car rien dans le message ne mentionne un site web.
Les trois intents privilégiés
| Intent | Nécessaire pour |
|---|---|
GUILD_MEMBERS | Voir la liste des membres, les arrivées et départs, les changements de rôle. |
GUILD_PRESENCES | Voir qui est en ligne, en jeu, ou son statut. |
MESSAGE_CONTENT | Lire le texte des messages qui ne sont ni des commandes ni des mentions. |
Que faire
- Ouvrez le portail développeur
Votre application → Bot. Les trois interrupteurs sont sous « Privileged Gateway Intents ».
- N'activez que ce que vous utilisez
Chacun que vous activez est une donnée dont vous devenez responsable. Un bot qui ne gère que des commandes slash n'en a besoin d'aucun.
- Déclarez le même ensemble dans votre code
Le portail accorde ; votre client demande. Les deux doivent concorder. Demander un intent non accordé provoque le plantage ; en recevoir un que vous ne demandez pas est sans effet.
- Redémarrez le bot
Les intents se négocient à la connexion. Un bot en cours d'exécution n'apprend pas un interrupteur que vous venez de basculer.
Dès qu'un bot est présent sur 100 serveurs ou plus, Discord exige sa vérification pour que les intents privilégiés continuent de fonctionner. C'est une demande avec examen, pas un interrupteur : mieux vaut le savoir avant d'y arriver qu'après.
Used disallowed intents désigne le portail, pas votre codeL'erreur nomme votre code parce que la demande vient de là, mais le correctif est sur le site. Rien de ce que vous changerez dans le fichier n'aidera tant que l'interrupteur est éteint.
Le bot démarre sans erreur d'intents et peut lire les données pour lesquelles il a été conçu.