Tous les articles

Surveiller un bot Discord, shard par shard

Yann1 min de lectureRead it in English

Savoir quel shard de votre bot est tombé, sans jamais confier son jeton : comment ça marche et comment le brancher.

Un gros bot Discord est découpé en shards, chacun responsable d’une partie des serveurs. Quand un shard se déconnecte, le bot a l’air de fonctionner, mais une partie de vos utilisateurs ne reçoit plus de réponse. C’est exactement le genre de panne qu’on découvre trop tard.

Votre bot donne lui-même de ses nouvelles

Avec le type Bot Discord (shards), c’est votre bot qui envoie l’état de ses shards à NorminUp, toutes les minutes. Vous ne nous confiez jamais le jeton du bot : NorminUp ne se connecte pas à Discord à votre place.

Le brancher en trois étapes

  1. Créez un service de type Bot Discord (shards) et copiez son jeton NorminUp.
  2. Collez l’extrait fourni dans votre bot (discord.js, discord.py, ou tout langage capable d’envoyer une requête POST en JSON), avec ce jeton dans NORMINUP_TOKEN.
  3. Redémarrez le bot : les shards apparaissent sur une grille dans la minute.

L’extrait ne peut pas arrêter votre bot : il attend 5 secondes au plus et ignore ses propres erreurs.

Ce que vous voyez

  • L’état de chaque shard : prêt, en reconnexion ou muet.
  • Des alertes qui nomment les shards en cause, au lieu d’un vague « le bot a un problème ».
  • « 9/10 shards en ligne » sur votre page de statut, et un badge pour le README de votre bot.

Le nombre de shards suivis dépend de l’offre : 2 en gratuit, 8 en Starter, 32 en Pro. Un bot compte pour un seul service, quel que soit son nombre de shards.

Tous les détails sont dans la documentation.

Surveiller un bot Discord, shard par shard | NorminUp