Mon bot est hors ligne : quels journaux (logs) vérifier ?
Différencier token invalide, dépendance absente, boucle de crash et dépassement mémoire. Une erreur 401 ou un token invalide impose de régénérer le token.
Commencez par la console du service, puis remontez jusqu’à la première erreur générée par votre application.
Procédure étape par étape
-
Vérifier la connexion
Une erreur 401 ou un token invalide impose de régénérer le token. Ne le publiez pas dans le ticket.
-
Vérifier les dépendances
Un module introuvable indique que l’installation n’a pas terminé ou que le paquet manque au fichier de dépendances.
-
Observer les redémarrages
Une boucle rapide signifie que le processus quitte immédiatement. Corrigez l’erreur avant de cliquer plusieurs fois sur Démarrer.
-
Surveiller les limites
Un exit 137 ou OOM indique un manque de mémoire. Réduisez le cache ou choisissez une offre supérieure.
-
Respecter les limites de débit (rate limit)
Des réponses Discord 429 demandent de réduire la fréquence des appels et d’utiliser les mécanismes de file d’attente de la bibliothèque.
Où lire les journaux
Les journaux d’un bot se lisent dans l’onglet « Console ». Il mêle la sortie de votre code (console.log, print, erreurs) et les lignes de la plateforme, qui commencent par [ACLClouds]: et décrivent chaque étape du lancement.
Le filtre « Erreurs » isole les lignes d’erreur. « Copier tous les logs » et « Télécharger les logs (.txt) » récupèrent la sortie complète, par exemple pour un ticket : relisez-la avant de l’envoyer, car un token affiché par votre code y figurerait aussi.
Lire une séquence de plantage
Un plantage suit toujours le même schéma. Repérez la ligne de la commande, puis lisez vers le bas jusqu’à la première erreur de votre code :
La plateforme relance le bot jusqu’à trois fois de suite. Un fonctionnement d’au moins 60 secondes remet ce compteur à zéro. Corrigez l’erreur avant de cliquer sur « Démarrer » : relancer le même code reproduit la même séquence.
- « Serveur marqué comme en démarrage », puis la commande, par exemple $ node index.js ;
- la sortie de votre code, puis l’erreur, par exemple Error [TokenInvalid] ou Traceback (most recent call last) ;
- « Le processus s’est arrêté avec le code 1. », puis « Serveur marqué comme planté » ;
- « Nouvel essai 1/3 », et après trois échecs « Le bot s’est arrêté après 3 démarrages en échec. Dernière erreur ci-dessus. »
Ce que dit le code de sortie
Le nombre affiché à la fin de la ligne d’arrêt du processus oriente le diagnostic :
- 1 : une erreur non gérée dans votre code, dont la cause se trouve juste au-dessus ;
- 137 : processus tué ; avec la mention « (mémoire insuffisante) », le bot a dépassé la mémoire de son offre.
Questions fréquentes
Le bot est « Planté » et ne redémarre plus, où trouver l’erreur ?
Dans la console, un encadré « Le bot s’est arrêté après plusieurs plantages » affiche les dernières lignes d’erreur. Corrigez le fichier concerné, puis cliquez sur « Démarrer ».
Que faire avec Error: listen EADDRINUSE: address already in use :::3000 ?
Deux serveurs HTTP de votre code écoutent le même port, souvent un serveur « keep alive » copié d’un tutoriel en plus de votre tableau de bord. Un bot Discord n’a pas besoin de port. Si vous en voulez un, attribuez-le dans Démarrage et ouvrez un seul serveur sur process.env.PORT, à l’adresse 0.0.0.0.
Le bot est en ligne mais ne répond pas, que regarder ?
Aucune erreur n’apparaît dans ce cas. Pour des commandes à préfixe, activez « Message Content Intent » dans le portail Discord : sans lui, message.content arrive vide. Pour des commandes slash, vérifiez qu’elles ont bien été enregistrées. Ajoutez un console.log au début du gestionnaire d’événement pour voir dans la console s’il est appelé.