ACLClouds
ACLClouds

Héberger un bot Discord Python avec discord.py

requirements.txt, fichier de démarrage, logs : les étapes pour mettre un bot discord.py en ligne et comprendre pourquoi il s’arrête.

Un bot écrit avec discord.py tient dans quelques fichiers : le code, la liste des dépendances et un fichier de démarrage. Une fois ces trois éléments prêts, l’hébergement consiste à envoyer les fichiers, installer les dépendances, lancer le bot, puis lire les logs quand quelque chose ne fonctionne pas.

  • Un bot discord.py tient en trois fichiers : le code, requirements.txt et le fichier de démarrage.
  • Le token ne doit jamais figurer dans le code ni dans Git.
  • Les logs donnent la cause : lisez la dernière exception avant de relancer le bot.

Préparer les fichiers

Le bot doit tenir dans un dossier simple. Gardez le token hors du code (voir l’article sur les variables d’environnement) et listez les dépendances dans un fichier requirements.txt, que l’installation lit ligne par ligne.

  • bot.py : le fichier de démarrage, celui qui crée le client et appelle client.run().
  • requirements.txt : un paquet par ligne, par exemple discord.py>=2.3 pour la version minimale que vous avez testée.
  • Un fichier .env en local, pour vos tests seulement : il ne doit jamais partir sur le serveur ni dans Git.

Installer et lancer le bot

Sur un environnement Python, la commande d’installation des dépendances est la même que sur votre PC. Une fois les paquets installés, le bot se lance à partir de son fichier de démarrage.

  • pip install -r requirements.txt : installe les paquets listés.
  • python bot.py : lance le bot en local pour vérifier qu’il se connecte.
  • Si la console signale un fichier de démarrage introuvable, elle cherche dans les sous-dossiers et propose une correction en un clic.

Lire les logs

Les logs sont le premier endroit où regarder. Un bot qui s’arrête laisse presque toujours une trace : une exception Python, une connexion refusée ou une erreur de token.

  • Un Traceback suivi d’un nom d’exception : le fichier et la ligne indiqués pointent le code à corriger.
  • discord.errors.LoginFailure : le token est absent ou invalide, voir l’article sur les erreurs fréquentes des bots Discord.
  • Intents privilégiés : Message Content doit être activé dans le portail développeur Discord si votre code lit le texte des messages.

Pourquoi choisir ACLClouds pour un bot discord.py

L’offre gratuite donne 1 bot, 315 Mo de RAM, 0,25 vCPU et 715 Mo de stockage. ffmpeg, yt-dlp et deno sont déjà installés, et chaque bot dispose de son propre accès SFTP.

  • Offre gratuite : 1 bot, 315 Mo de RAM, 0,25 vCPU, 715 Mo de stockage, envoi jusqu’à 100 Mo.
  • L’image Python inclut ffmpeg, yt-dlp et deno.
  • Accès SFTP par bot sur le port 2222, pour déposer vos fichiers avec FileZilla.

Questions fréquentes

Quelle version de Python faut-il pour discord.py ?

discord.py 2.x demande Python 3.8 ou plus récent. Pour un nouveau projet, prenez une version récente encore maintenue.

Le bot se connecte mais ne répond pas aux messages, pourquoi ?

Vérifiez que l’intent Message Content est activé dans le portail développeur, puis que le bot peut lire et envoyer des messages dans le salon.

Le bot peut-il tourner PC éteint ?

Oui, c’est le principe de l’hébergement : le bot tourne sur le serveur. Consultez tout de même les logs après chaque mise à jour du code.