Comment héberger un Bot Discord gratuitement ?

Article publié le et mis à jour le .

Dans l’article précédent de ce tutoriel, on a vu comment rendre notre code modulaire avec les cogs (Partie 7).

Maintenant on peut conclure le tutoriel en voyant comment héberger le bot gratuitement. 🤑

Avec les solutions gratuites disponibles fin 2024, vous allez apprendre à utiliser Render pour héberger votre bot et à le maintenir actif grâce à UptimeRobot.

Créer le Serveur Web

Maintenant que vous avez développé la base de votre bot Discord, il est essentiel de le mettre en ligne. En effet, à chaque fois que vous arrêtez votre bot, il devient inactif et ne répond plus à vos commandes. Pour éviter cela, la meilleure solution consiste à passer votre bot en production sur un service en ligne.

Sécuriser le Token

Avant de déployer votre bot, il est crucial de sécuriser votre token. En publiant vos fichiers sur Internet, vous devez vous assurer que votre token ne soit pas visible. Pour cela, créez un fichier caché d’environnement, nommé .env, contenant votre variable d’environnement, que vous appellerez DISCORD_TOKEN.

Installez le module nécessaire pour gérer les variables d’environnement avec la commande suivante :

pip install python-dotenv

Dans vos fichiers Python, commencez par importer les modules requis :

import os
from dotenv import load_dotenv

Chargez ensuite les variables d’environnement avec load_dotenv() et récupérez votre token avec :

token = os.getenv('DISCORD_TOKEN')

De cette manière, votre token ne sera jamais exposé dans le code publié.

Héberger le Bot sur Render.com

Pour héberger votre bot en ligne, utilisez Render, un service de hosting gratuit. Commencez par créer un compte sur Render et suivez ces étapes :

  1. Cliquez sur New puis sur Web Service.
  2. Choisissez d’importer vos fichiers depuis un fournisseur Git, comme GitHub. Si vous n’avez pas encore de dépôt, créez-en un en vous rendant sur GitHub et en suivant les instructions.

Une fois que votre dépôt est prêt, assurez-vous que le fichier requirements.txt est présent dans votre projet. Ce fichier contient tous les modules Python nécessaires, que vous pouvez générer avec la commande :

pip freeze > requirements.txt

Après avoir créé le dépôt et ajouté vos fichiers, connectez votre compte Render à GitHub, sélectionnez votre dépôt, et configurez les paramètres pour le déploiement.

Configuration de Render

Assurez-vous de bien configurer votre application en spécifiant :

  • Language : Python 3
  • Build Command : pip install -r requirements.txt
  • Start Command : python start.py
  • Environment Variables : Ajoutez votre variable d’environnement DISCORD_TOKEN.

Une fois que tout est configuré, cliquez sur Deploy Web Service. Render va alors déployer votre bot, et une fois terminé, vous devriez voir votre bot en ligne.

Ping Toutes les 5 min avec UptimeRobot

Pour éviter que votre service ne soit arrêté pour inactivité, il est nécessaire de le “pinguer” régulièrement. Pour cela, vous pouvez utiliser UptimeRobot. Voici comment procéder :

  1. Inscrivez-vous gratuitement sur UptimeRobot.
  2. Ajoutez une nouvelle URL à monitorer. L’URL correspond à celle fournie par Render, sous la forme nom_de_votre_dépôt.onrender.com.
  3. Configurez UptimeRobot pour qu’il envoie des requêtes à votre bot toutes les 5 minutes.

Avec ces étapes, votre bot Discord sera hébergé en ligne, sécurisé, et maintenu actif.

Conclusion

Héberger votre bot Discord en ligne avec Render et le maintenir actif grâce à UptimeRobot est un moyen efficace d’assurer son bon fonctionnement. En suivant ces étapes, vous aurez un bot qui répond en permanence à vos commandes, accessible à tout moment. Pour plus d’informations, consultez les liens utiles ci-dessous :