Aller au contenu

Guide pas à pas pour déployer un bot Discord.js (Node.js) sur Daki Hosting.

Ce guide vous accompagne dans le déploiement d'un bot Discord.js sur Daki Hosting — de la création de votre serveur à la mise en ligne de votre bot, en passant par la lecture sécurisée de son token.

Ce que vous allez apprendre

  • Comment créer un serveur Node.js pour votre bot
  • Comment téléverser votre code
  • Comment configurer la commande d'installation, la commande de démarrage et l'image Docker
  • 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 package.json incluant discord.js et dotenv comme dépendances

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 sert aussi des requêtes HTTP (par ex. pour les interactions de commandes slash ou les webhooks), 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 Node.js

    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 Node.js.
    3. Donnez un nom à votre serveur (par ex. MyDiscordBot).

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

  2. Accédez au Portail

    Connectez-vous au Portail via SSO (Open Portal sur la page Account du dashboard, ou sur la page de votre service dans le Billing Panel), 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 sur votre ordinateur.
    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) : Connectez-vous avec vos identifiants SFTP depuis l'onglet Settings et téléversez directement votre dossier. Voir Gestionnaire de fichiers.

    N'incluez pas le dossier node_modules dans le téléversement : il sera installé automatiquement par la commande d'installation. Incluez en revanche votre package.json et votre package-lock.json.

  4. Configurez l'onglet Startup

    Ouvrez l'onglet Startup et configurez les trois champs :

    1. Docker Image — Sélectionnez la version de Node.js dont votre bot a besoin (par ex. Node.js 22 ou Node.js 24). Node.js 24 LTS est une valeur par défaut sûre en cas de doute. É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
    npm install

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

    • node index.js — si votre fichier d'entrée est index.js
    • node bot.js — si votre fichier d'entrée est bot.js
    • npm start — si votre package.json contient un script start

    Vous pouvez adapter librement ces commandes à la structure 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

    Votre bot a besoin de son token Discord pour se connecter. Enregistrez-le 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.

    Dans le code de votre bot, chargez-le avec dotenv :

    JavaScript
    require('dotenv').config();
    
    const { Client, GatewayIntentBits } = require('discord.js');
    const client = new Client({ intents: [GatewayIntentBits.Guilds] });
    
    client.once('ready', () => {
        console.log(`Logged in as ${client.user.tag}`);
    });
    
    client.login(process.env.BOT_TOKEN);

    Vérifiez que dotenv figure bien dans les dépendances de votre package.json afin qu'il soit installé par la commande d'installation.

    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 la confirmation de connexion de votre bot :

    Text
    Logged in as MyBot#1234!

    Si des erreurs apparaissent à la place, consultez le guide Dépannage.


Problèmes courants

Error: Cannot find module 'discord.js'

Vos dépendances n'ont pas été installées. Vérifiez que votre package.json liste discord.js comme dépendance et que la commande d'installation est bien npm install dans l'onglet Startup. Redémarrez le serveur pour relancer l'installation.

Error: Cannot find module 'dotenv'

Ajoutez dotenv aux dépendances de votre package.json et redémarrez le serveur pour réinstaller.

Error: An invalid token was provided

Le token de votre bot dans le fichier .env est incorrect ou manquant. Allez dans l'onglet Files, ouvrez .env et vérifiez la valeur. Assurez-vous qu'il n'y a ni espaces superflus, ni guillemets, ni retours à la ligne en trop.

Le bot démarre mais se déconnecte peu après

Cela est généralement dû à des Gateway Intents manquants. Dans le Discord Developer Portal, activez les intents privilégiés requis (par ex. Message Content Intent) pour l'application de votre bot, et vérifiez que votre code les demande.

Le serveur plante dès le démarrage

Ouvrez l'onglet Console et lisez l'erreur. Causes courantes : une mauvaise commande de démarrage (faute de frappe dans le nom du fichier), une mauvaise version de Node.js ou un node_modules manquant. Voir Dépannage.


Étapes suivantes