ACLClouds
ACLClouds

Héberger un bot Discord 24/7 sans panne

·

Gestionnaire de processus, variables d’environnement, logs et supervision : l’architecture minimale pour un bot qui ne dort jamais.

Un bot qui s’éteint quand vous fermez votre PC n’est pas un bot, c’est une démo. Voici comment l’héberger proprement pour une disponibilité réelle, 24 heures sur 24.

  • Rangez le token dans une variable d’environnement, jamais dans le code.
  • Confiez le redémarrage à un gestionnaire de processus avec délai croissant.
  • Surveillez la latence de la gateway et le taux d’erreur des commandes.
  • Stockez les données sur un volume persistant et sauvegardez la base chaque jour.

Un runtime figé et des secrets hors du code

Le premier incident classique : le token du bot commité sur GitHub, révoqué par Discord en pleine nuit. Stockez-le dans une variable d’environnement, figez la version de Node.js ou Python, et versionnez un fichier d’exemple (.env.example) sans les valeurs.

  • Ne jamais commiter le token : variables d’environnement uniquement.
  • Figer la version du runtime (ex. Node 22 LTS) pour des déploiements reproductibles.
  • Documenter chaque variable requise dans un README.
  • Pour choisir l’hébergeur, comparer les offres d’hébergement de bot Discord gratuit.

Un gestionnaire de processus qui redémarre intelligemment

PM2, systemd ou Docker avec une politique de redémarrage : l’outil importe moins que la politique. Redémarrez automatiquement en cas de plantage, mais avec un délai croissant (backoff) pour ne pas boucler sur une erreur de configuration, et gardez des logs persistés pour comprendre.

  • Configurer un redémarrage automatique avec backoff exponentiel.
  • Conserver les logs hors du conteneur pour le diagnostic après un plantage.
  • Ajouter un contrôle de santé : le bot répond-il encore aux commandes ?

Surveiller ce qui compte vraiment

Être en ligne ne suffit pas : un bot connecté mais qui ne répond plus aux interactions est un bot en panne. Surveillez la latence de la gateway Discord, le taux d’erreurs des commandes et la mémoire. Une alerte simple (webhook, email) vaut mieux qu’un tableau de bord que personne ne regarde.

  • Surveiller la latence de la gateway Discord et le taux d’erreur des commandes.
  • Alerter sur les déconnexions répétées et les fuites mémoire.
  • Conserver 7 jours de logs pour l’analyse post-incident.

Séparer données et code

Dès que le bot stocke quelque chose (niveaux, économie, modération), ces données doivent survivre à un redéploiement. Une base SQLite sur volume persistant suffit pour démarrer, PostgreSQL prend le relais quand le bot grandit, avec des sauvegardes régulières dans les deux cas. Pour un bot en ligne en permanence sans garder votre PC allumé, consultez l’hébergement de bot Discord.

  • Stocker les données sur un volume persistant, jamais dans l’image.
  • Sauvegarder la base quotidiennement vers un stockage externe.
  • Tester la restauration avant d’en avoir besoin.
  • Appliquer la règle 3-2-1 aux sauvegardes de la base.

Questions fréquentes

Dois-je laisser mon ordinateur allumé ?

Non. Le bot s’exécute sur l’infrastructure ACLClouds et reste en ligne indépendamment de votre ordinateur ou de votre connexion.

Quels langages sont pris en charge ?

Node.js, Bun, Python, C#, Go, Java, Rust et Lua sont disponibles, avec MariaDB pour les projets qui ont besoin d’une base de données.

Où ranger le token de mon bot ?

Dans les variables de démarrage du panel. Vous modifiez la configuration sans publier le token dans votre code source.

Mon bot redémarre-t-il seul après un crash ?

Oui. Le processus redémarre automatiquement en cas d’arrêt inattendu et les logs restent consultables en direct dans le panel.