Aller au contenu

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.txt listant toutes les dépendances (par ex. discord.py ou py-cord, et python-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

  1. Créez un serveur Python

    1. Connectez-vous au Dashboard Free Tier sur free.daki.cc ou au Billing Panel sur billing.daki.cc.
    2. Créez un nouveau serveur et sélectionnez l'egg Python.
    3. Donnez un nom à votre serveur (par ex. MyPythonBot).

    Voir Créer votre premier serveur gratuit pour le parcours complet.

  2. Accédez au Portail

    Connectez-vous au Portail via SSO ou directement sur portal.daki.cc. Voir Vue d'ensemble du Portail.

  3. Téléversez le code de votre bot

    Option A — Téléversement en ZIP (le plus simple) :

    1. Compressez le dossier de votre projet dans un fichier .zip.
    2. Dans le Portail, allez dans l'onglet Files et cliquez sur Upload.
    3. Faites un clic droit sur le .zip et 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.

  4. 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 :

    Shell
    pip install -r requirements.txt

    3. Startup Command — Définissez la commande qui exécute votre bot :

    • python main.py — si votre fichier d'entrée est main.py
    • python bot.py — si votre fichier d'entrée est bot.py
    • python -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.

  5. Ajoutez le token de votre bot via un fichier .env

    Enregistrez le token de votre bot Discord dans un fichier .env sur le serveur afin qu'il n'apparaisse jamais dans votre code source.

    1. Dans l'onglet Files, cliquez sur New File et nommez-le .env.
    2. Ajoutez votre token :
      .env
      BOT_TOKEN=your_discord_bot_token_here
    3. Cliquez sur Save.

    Vérifiez que python-dotenv figure dans votre requirements.txt, puis chargez le fichier dans votre code :

    Python
    from 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.

  6. Démarrez votre bot

    Cliquez sur Start dans l'onglet Console. Un lancement réussi affiche :

    Text
    Logged in as MyBot#1234

    Si 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