Déployer un bot Python
Guide pas à pas pour déployer un bot Discord Python (discord.py ou py-cord) sur Daki Hosting.
Ce guide vous accompagne dans le déploiement d'un bot Discord Python sur Daki Hosting — de la création de votre serveur à la lecture sécurisée du token de votre bot, jusqu'à la mise en ligne.
Ce que vous allez apprendre
- Comment créer un serveur Python pour votre bot
- Comment téléverser votre code
- Comment configurer la commande d'installation, la commande de démarrage et la version de Python
- Comment définir le token de votre bot en toute sécurité avec un fichier
.env - Comment démarrer votre bot et vérifier qu'il fonctionne
Prérequis
- Un compte Daki (Free Tier ou payant) — voir Créer un compte
- Un bot Discord avec un token de bot, créé dans le Discord Developer Portal
- Le code source de votre bot, avec un
requirements.txtlistant toutes les dépendances (par ex.discord.pyoupy-cord, etpython-dotenv)
Les bots Discord se connectent en sortant vers les serveurs de Discord et n'ont pas besoin de port entrant. Les bots Discord fonctionnent donc aussi bien sur le Free Tier que sur les offres payantes. Si votre bot exécute aussi un serveur HTTP (par ex. pour des webhooks ou un dashboard web), vous aurez besoin d'une offre payante, car les ports accessibles publiquement ne sont disponibles que sur les offres payantes. Voir Réseau et allocations.
Déploiement
Créez un serveur Python
- Connectez-vous au Dashboard Free Tier sur free.daki.cc ou au Billing Panel sur billing.daki.cc.
- Créez un nouveau serveur et sélectionnez l'egg Python.
- Donnez un nom à votre serveur (par ex.
MyPythonBot).
Voir Créer votre premier serveur gratuit pour le parcours complet.
Accédez au Portail
Connectez-vous au Portail via SSO ou directement sur portal.daki.cc. Voir Vue d'ensemble du Portail.
Téléversez le code de votre bot
Option A — Téléversement en ZIP (le plus simple) :
- Compressez le dossier de votre projet dans un fichier
.zip. - Dans le Portail, allez dans l'onglet Files et cliquez sur Upload.
- Faites un clic droit sur le
.zipet cliquez sur Extract.
Option B — Utilisez SFTP (sans limite de taille) : Utilisez vos identifiants SFTP depuis l'onglet Settings pour téléverser directement le dossier. Voir Gestionnaire de fichiers.
Placez un
requirements.txtà la racine de votre projet. Il est utilisé par la commande d'installation pour installer vos dépendances.- Compressez le dossier de votre projet dans un fichier
Configurez l'onglet Startup
Ouvrez l'onglet Startup et configurez les trois champs :
1. Docker Image — Sélectionnez la version de Python dont votre bot a besoin (par ex. Python 3.13). Python 3.13 est une valeur par défaut sûre en cas de doute ; les versions plus récentes fonctionnent si toutes vos bibliothèques les prennent en charge. Évitez les versions marquées EOL : elles ne reçoivent plus de mises à jour de sécurité.
2. Install Command — Définissez-la pour installer automatiquement vos dépendances :
Shellpip install -r requirements.txt3. Startup Command — Définissez la commande qui exécute votre bot :
python main.py— si votre fichier d'entrée estmain.pypython bot.py— si votre fichier d'entrée estbot.pypython -m mypackage— si votre projet est structuré en package
Vous pouvez adapter librement ces commandes à la structure et aux besoins de votre projet.
Voir Paramètres de démarrage pour une explication complète.
Ajoutez le token de votre bot via un fichier .env
Enregistrez le token de votre bot Discord dans un fichier
.envsur le serveur afin qu'il n'apparaisse jamais dans votre code source.- Dans l'onglet Files, cliquez sur New File et nommez-le
.env. - Ajoutez votre token :
.env
BOT_TOKEN=your_discord_bot_token_here - Cliquez sur Save.
Vérifiez que
python-dotenvfigure dans votrerequirements.txt, puis chargez le fichier dans votre code :Pythonfrom dotenv import load_dotenv import os import discord load_dotenv() TOKEN = os.environ.get("BOT_TOKEN") intents = discord.Intents.default() client = discord.Client(intents=intents) @client.event async def on_ready(): print(f"Logged in as {client.user}") client.run(TOKEN)Voir Variables d'environnement pour plus de détails sur l'utilisation des fichiers
.env.- Dans l'onglet Files, cliquez sur New File et nommez-le
Démarrez votre bot
Cliquez sur Start dans l'onglet Console. Un lancement réussi affiche :
TextLogged in as MyBot#1234Si des erreurs apparaissent, consultez le guide Dépannage.
Problèmes courants
ModuleNotFoundError: No module named 'discord'
Vos dépendances n'ont pas été installées. Vérifiez que discord.py ou py-cord figure dans requirements.txt, et que la commande d'installation est bien pip install -r requirements.txt dans l'onglet Startup. Redémarrez le serveur pour relancer l'installation.
ModuleNotFoundError: No module named 'dotenv'
Ajoutez python-dotenv à votre requirements.txt et redémarrez le serveur.
discord.errors.LoginFailure: Improper token has been passed
Le token dans votre fichier .env est incorrect ou manquant. Ouvrez le fichier .env dans l'onglet Files et vérifiez attentivement la valeur. Supprimez les espaces ou guillemets superflus.
Erreur PrivilegedIntentsRequired
Votre bot demande des intents qui ne sont pas activés dans le Discord Developer Portal. Activez les intents privilégiés requis (par ex. Message Content Intent) dans les paramètres de l'application de votre bot, et vérifiez que votre code demande les mêmes intents.
Le serveur plante dès le démarrage
Lisez la sortie de la Console pour trouver l'erreur. Causes courantes : une mauvaise commande de démarrage (faute de frappe dans le nom du fichier ou chemin incorrect), un requirements.txt manquant ou un paquet absent. Voir Dépannage.
Étapes suivantes
- Variables d'environnement — Guide complet sur les fichiers
.envet la lecture des variables dans le code. - Renouveler votre serveur gratuit — Regardez des publicités régulièrement pour faire tourner votre serveur Free Tier.
- Gestionnaire de fichiers — Mettez à jour votre code après des modifications.