Un bot Discord passe hors ligne pour l'une de quelques raisons prévisibles : un jeton réinitialisé, un intent privilégié désactivé, une fenêtre de vote expirée sur un bot hébergé, ou le retrait du bot du serveur dont il dépend. La passerelle de Discord indique laquelle à l'aide d'un code de fermeture. Les codes 4004 et 4013/4014 sont les deux que vous verrez le plus souvent, et chacun a une correction précise et mécanique plutôt qu'un « redémarrez-le et espérez » générique.
Commencez ici : la cause la plus probable en premier
Dans l'ordre de fréquence réelle de chaque cas :
- Le jeton a été réinitialisé. Quelqu'un a cliqué sur Réinitialiser le jeton dans le portail des développeurs, volontairement ou par erreur, et l'ancien jeton utilisé par le bot ne fonctionne plus.
- Un intent privilégié a été désactivé. L'intent Membres du serveur ou l'intent Contenu des messages a été désactivé après la configuration initiale du bot.
- Une fenêtre de vote ou d'abonnement a expiré. Sur un bot hébergé comme Custom Bot de Noxyr, la durée de fonctionnement est liée à un vote sur Top.gg, et la fenêtre ainsi que sa période de grâce se sont écoulées.
- Le bot a été retiré du serveur, ou un bot dont il dépend l'a été. Custom Bot dépend précisément de la présence de Noxyr ; expulser Noxyr arrête le bot personnalisé sur ce serveur.
- Une véritable panne. Discord lui-même traverse une mauvaise période. C'est rare, mais consultez discordstatus.com avant de supposer que le problème vient de votre configuration.
Ce que signifient réellement les codes de fermeture de passerelle
| Code | Signification | Cause habituelle |
|---|---|---|
| 4004 | Échec de l'authentification | Le jeton est incorrect ou a été réinitialisé dans le portail des développeurs |
| 4013 | Intent(s) invalide(s) | Le code du bot a demandé un intent qui n'existe pas, ou une combinaison que Discord refuse |
| 4014 | Intent(s) non autorisé(s) | Le bot a demandé un intent privilégié (Membres du serveur ou Contenu des messages) qui n'est pas activé pour l'application |
En pratique, les codes 4013 et 4014 correspondent à la même cause sous-jacente pour la plupart des bots : un intent privilégié dont le code a besoin est désactivé dans le portail. Discord.js et les bibliothèques similaires signalent parfois ce problème dans les journaux sous forme d'erreur « disallowed intents » plutôt que sous le code numérique brut, mais c'est le même problème. Notre guide des intents de passerelle privilégiés détaille ce que contrôle chaque intent et ce qui casse sans lui.
Corriger chaque cas sur Custom Bot de Noxyr
Passerelle 4004, ou « Discord a rejeté ce jeton »
Le jeton avec lequel le bot s'est connecté en dernier n'existe plus. Cela arrive lorsque le jeton est réinitialisé dans le portail des développeurs, que ce soit volontairement (pour le changer par sécurité) ou par erreur (en cliquant sur Réinitialiser le jeton pendant qu'on regarde l'onglet Bot).
- Ouvrez le portail des développeurs Discord, sélectionnez l'application et allez dans l'onglet Bot.
- Cliquez à nouveau sur Réinitialiser le jeton : cela en génère un nouveau. Copiez-le immédiatement, car Discord ne l'affiche qu'une seule fois.
- Ouvrez la page Custom Bot du tableau de bord Noxyr et collez le nouveau jeton.
- Réactivez le bot. Les nœuds de Noxyr désactivent automatiquement un bot dont le jeton n'est plus valide afin qu'il ne reste pas bloqué dans une boucle de reconnexion inutile ; c'est en collant un jeton valide et en activant le bot que vous le relancez.
Passerelle 4013/4014, ou « Discord a refusé la connexion »
Un intent privilégié actif lors de la configuration a été désactivé plus tard, en général pendant que quelqu'un parcourait l'onglet Bot pour une raison sans rapport.
- Dans le portail des développeurs, allez dans Bot → Intents de passerelle privilégiés.
- Réactivez Intent Membres du serveur et Intent Contenu des messages. Les deux sont obligatoires : les fonctionnalités de Noxyr (messages de bienvenue, nombre de membres, chat IA, réponses automatiques, transcriptions de tickets) en ont besoin.
- Enregistrez, puis réactivez le bot depuis la page Custom Bot du tableau de bord. Discord n'applique les changements d'intents qu'à la connexion suivante : réactiver simplement l'interrupteur ne suffit donc pas, le bot doit se reconnecter.
Fenêtre de vote et période de grâce expirées
Custom Bot fonctionne grâce à un vote sur Top.gg. Un vote le débloque pendant 12 heures ; ensuite, une période de grâce de 74 heures maintient le bot en marche pendant que la page du tableau de bord se verrouille. Si les deux sont épuisées, le bot passe hors ligne, mais rien de votre configuration n'est supprimé.
- Votez pour Noxyr sur Top.gg.
- Revenez sur la page Custom Bot ; elle se déverrouille immédiatement une fois le vote enregistré.
- Le bot redémarre tout seul, avec le même jeton et les mêmes réglages qu'auparavant.
Un rappel en message privé est envoyé 24 heures après votre dernier vote (12 heures après le début de la période de grâce), précisément pour éviter ce cas. Si le statut du bot indique « suspendu », la page elle-même précisera s'il s'agit du vote, de la période de grâce ou du problème suivant.
Noxyr a été retiré du serveur
Custom Bot fonctionne avec les réglages et la base de données de Noxyr pour ce serveur ; il dépend donc du fait que Noxyr en soit toujours membre. Si Noxyr est expulsé, le bot personnalisé cesse de servir ce serveur en une minute environ, et envoie un message privé à la personne qui a retiré Noxyr (et au propriétaire du bot, si c'est quelqu'un d'autre) avec un lien d'invitation.
- Réinvitez Noxyr à l'aide du lien reçu en message privé, ou depuis la page d'accueil de Noxyr.
- Le bot personnalisé reprend tout seul dès que Noxyr est de retour sur le serveur ; inutile de toucher au jeton ni aux intents.
Pendant l'arrêt pour cette raison précise, la fenêtre de vote est suspendue au lieu d'être consommée : réinviter Noxyr rapidement ne vous fait donc perdre aucun temps.
Si aucune des solutions ci-dessus ne fonctionne
Vérifiez d'abord le message de statut sur la page Custom Bot : les nœuds de Noxyr y indiquent une raison en langage clair (jeton incorrect, intents incorrects, suspendu, ou un message générique de nouvelle tentative pour tout autre cas) plutôt qu'un simple code d'erreur. Si le message de statut ne correspond à aucun des cas ci-dessus, ou si le bot reste hors ligne après une correction qui aurait dû fonctionner, le Centre d'assistance est le moyen le plus rapide de faire examiner ce serveur précis. Les étapes complètes de configuration et de dépannage figurent également dans la documentation Custom Bot.
Questions fréquentes
Pourquoi mon bot est-il passé hors ligne alors que je n'ai rien fait ? « Rien » signifie généralement que quelqu'un d'autre disposant d'un accès au portail ou au serveur a modifié quelque chose : une réinitialisation de jeton, un intent désactivé, une expulsion. Consultez d'abord le message de statut de la page Custom Bot : il indique la cause.
Mes données sont-elles perdues si le bot passe hors ligne ? Non. Les jetons, réglages, tickets, produits, factures et transcriptions sont conservés quelle que soit la raison de l'arrêt. Corriger la cause remet tout exactement comme avant.
Puis-je éviter complètement le cas de hors ligne lié au vote ? Votez environ tous les trois jours et demi (avant que la fenêtre de 12 heures et la période de grâce de 74 heures ne soient épuisées), et le bot ne tombera jamais pour cette raison.
Dois-je réactiver les intents à chaque redémarrage du bot ? Non. Les intents sont un réglage de l'application Discord elle-même, qui ne se réinitialise pas. Une fois les deux activés et enregistrés, ils le restent jusqu'à ce que quelqu'un les désactive.
Prêt à remettre le bot en ligne ? Corrigez la cause ci-dessus, puis démarrez le bot depuis la page Custom Bot, ou ajoutez Noxyr gratuitement si vous le configurez pour la première fois.