Serveurs de jeux & OuiPanel15 décembre 2025 2 vues

Comment héberger un bot Discord (discord.js) sur OuiPanel

Comment héberger un bot Discord (discord.js) sur OuiPanel

Comment héberger un bot Discord (discord.js) sur OuiPanel

Temps estimé : 15 minutes
Difficulté : Intermédiaire ⭐⭐
Type de serveur : Node.js


📋 Introduction

Ce guide vous explique comment héberger un bot Discord développé avec discord.js (JavaScript/Node.js) sur OuiPanel. Votre bot sera en ligne 24h/24, 7j/7.

Ce dont vous avez besoin

Prérequis Description
🤖 Un bot Discord Créé sur le Portail Développeur Discord
🔑 Le token du bot Clé secrète pour connecter votre bot
📁 Les fichiers du bot Votre code source (index.js, package.json, etc.)
💻 Un serveur Node.js Commandé sur OuiHeberg

🤖 Étape 1 : Créer le Bot sur Discord (si pas déjà fait)

Si vous avez déjà votre bot et son token, passez à l'étape 2.

Créer l'application

  1. Rendez-vous sur le Portail Développeur Discord
  2. Connectez-vous avec votre compte Discord
  3. Cliquez sur New Application
  4. Donnez un nom à votre application (ex: "Mon Bot")
  5. Cliquez sur Create

Image


Créer le bot

  1. Dans le menu de gauche, cliquez sur Bot
  2. Cliquez sur Add Bot puis Yes, do it!
  3. Votre bot est créé !

[Capture d'écran : Section Bot avec le bouton Add Bot]


Récupérer le Token

  1. Dans la section Bot, cliquez sur Reset Token
  2. Confirmez et copiez le token affiché
  3. Gardez ce token secret ! Ne le partagez jamais.

Image

⚠️ Important : Le token est comme un mot de passe. Si quelqu'un l'obtient, il peut contrôler votre bot. Ne le mettez jamais dans du code public (GitHub, etc.).


Activer les Intents

  1. Toujours dans la section Bot, descendez jusqu'à Privileged Gateway Intents
  2. Activez les intents nécessaires :
    • PRESENCE INTENT (optionnel)
    • SERVER MEMBERS INTENT (optionnel)
    • MESSAGE CONTENT INTENT (requis pour lire les messages)

Image

⚠️ Important : Sans MESSAGE CONTENT INTENT, votre bot ne pourra pas lire le contenu des messages.


Inviter le bot sur votre serveur

  1. Dans le menu de gauche, cliquez sur OAuth2URL Generator
  2. Dans Scopes, cochez bot et applications.commands
  3. Dans Bot Permissions, cochez les permissions nécessaires (ou Administrator pour tout)
  4. Copiez l'URL générée en bas
  5. Ouvrez cette URL et invitez le bot sur votre serveur Discord

Image


📁 Étape 2 : Préparer les Fichiers du Bot

Structure des fichiers

Votre bot doit avoir cette structure :

📁 MonBot/
├── 📄 index.js         ← Fichier principal (ou bot.js, main.js...)
├── 📄 package.json     ← Dépendances npm
├── 📄 .env             ← Token du bot (créé sur le serveur)
├── 📁 commands/        ← (Optionnel) Dossier des commandes
└── 📁 events/          ← (Optionnel) Dossier des événements

Fichier package.json

Créez un fichier package.json avec les dépendances discord.js et dotenv :

{
  "name": "mon-bot-discord",
  "version": "1.0.0",
  "description": "Mon bot Discord",
  "main": "index.js",
  "scripts": {
    "start": "node index.js"
  },
  "dependencies": {
    "discord.js": "^14.14.1",
    "dotenv": "^16.3.1"
  }
}

💡 Adaptez "main": "index.js" selon le nom de votre fichier principal (bot.js, main.js, etc.).


Fichier principal (index.js)

Créez votre fichier principal avec dotenv pour charger le token :

// Charger les variables d'environnement depuis .env
require('dotenv').config();

const { Client, GatewayIntentBits } = require('discord.js');

// Création du client Discord
const client = new Client({
    intents: [
        GatewayIntentBits.Guilds,
        GatewayIntentBits.GuildMessages,
        GatewayIntentBits.MessageContent
    ]
});

// Événement : Bot prêt
client.once('ready', () => {
    console.log(`✅ Bot connecté en tant que ${client.user.tag}`);
});

// Événement : Message reçu
client.on('messageCreate', message => {
    if (message.author.bot) return;
    
    // Utiliser le prefix depuis .env (optionnel)
    const prefix = process.env.PREFIX || '!';
    
    if (message.content === `${prefix}ping`) {
        message.reply('🏓 Pong !');
    }
});

// Gestion des erreurs
process.on('unhandledRejection', error => {
    console.error('Erreur non gérée:', error);
});

client.on('error', error => {
    console.error('Erreur Discord:', error);
});

// Connexion avec le token depuis .env
client.login(process.env.DISCORD_TOKEN);

⚠️ Important : require('dotenv').config(); doit être la première ligne de votre fichier.


📤 Étape 3 : Uploader les Fichiers sur OuiPanel

Via le Gestionnaire de Fichiers

  1. Connectez-vous à OuiPanel
  2. Sélectionnez votre serveur Node.js
  3. Dans le menu latéral, cliquez sur Gestionnaire de fichiers

  1. Supprimez les fichiers par défaut (s'il y en a)
  2. Cliquez sur Envoyer (Upload)
  3. Uploadez vos fichiers :
    • index.js (ou bot.js, main.js...)
    • package.json
    • Vos dossiers (commands/, events/...) si nécessaire

Image

⚠️ Ne pas uploader : Le fichier .env sera créé directement sur le serveur à l'étape suivante.


Via SFTP (Recommandé pour plusieurs fichiers)

  1. Connectez-vous en SFTP avec FileZilla
  2. Glissez-déposez tout le contenu de votre dossier bot
  3. Vérifiez que tous les fichiers sont bien uploadés

📖 Consultez le guide "Accès SFTP avec FileZilla" pour les instructions détaillées.


🔑 Étape 4 : Créer le Fichier .env (Token)

Ne mettez jamais votre token directement dans le code ! Créez un fichier .env sur le serveur.

Créer le fichier .env

  1. Dans le Gestionnaire de fichiers, cliquez sur Nouveau fichier
  2. Nommez-le .env (avec le point devant)
  3. Ajoutez le contenu suivant :
# Token du bot Discord
DISCORD_TOKEN=votre_token_ici

# Prefix des commandes (optionnel)
PREFIX=!

Image

  1. Cliquez sur Créer ou Enregistrer

Exemple avec votre vrai token :

DISCORD_TOKEN=MTIzNDU2Nzg5MDEyMzQ1Njc4OQ.ABcdEF.abcdefghijklmnopqrstuvwxyz123456
PREFIX=!

⚠️ Important :

  • Pas d'espaces autour du =
  • Pas de guillemets autour des valeurs
  • Ne partagez jamais ce fichier

Structure finale sur le serveur

📁 Racine du serveur/
├── 📄 .env              ← Contient DISCORD_TOKEN
├── 📄 index.js          ← Votre code
├── 📄 package.json      ← Dépendances
└── 📁 node_modules/     ← (créé automatiquement)

⚙️ Étape 5 : Configurer le Fichier de Démarrage

OuiPanel doit savoir quel fichier exécuter au démarrage.

Accéder aux paramètres

  1. Dans le menu latéral, cliquez sur Configuration
  2. Cliquez sur Paramètres du serveur

Image


Configurer le fichier à exécuter

Repérez le champ Fichier à exécuter (ou Main File / Startup File) :

Image

Votre fichier principal Valeur à mettre
index.js index.js
bot.js bot.js
main.js main.js
src/index.js src/index.js
app.js app.js

⚠️ Important : Le nom doit correspondre exactement à votre fichier (sensible à la casse).


🚀 Étape 6 : Démarrer le Bot

Lancer le serveur

  1. Dans le menu latéral, cliquez sur Console
  2. Cliquez sur Démarrer

Installation automatique des dépendances

Au premier démarrage, le serveur exécute automatiquement npm install :

> npm install
added 45 packages in 3s

> node index.js
✅ Bot connecté en tant que MonBot#1234

Image

✅ Étape 7 : Vérifier que le Bot Fonctionne

Dans la Console OuiPanel

Vous devriez voir :

✅ Bot connecté en tant que MonBot#1234

Sur Discord

  1. Ouvrez Discord
  2. Votre bot devrait apparaître en ligne (point vert)
  3. Testez une commande : !ping
  4. Le bot répond : 🏓 Pong !

Image


🔧 Dépannage

Le bot ne démarre pas

❌ Erreur ✅ Solution
Cannot find module 'discord.js' Vérifiez package.json et redémarrez
Cannot find module 'dotenv' Ajoutez dotenv dans package.json
Error: Cannot find module './index.js' Mauvais fichier de démarrage configuré
ENOENT: no such file or directory Le fichier spécifié n'existe pas

Erreur de Token

❌ Erreur ✅ Solution
An invalid token was provided Vérifiez le token dans .env
TOKEN_INVALID Régénérez le token sur le portail Discord
Used disallowed intents Activez les intents sur le portail Discord

Le bot ne lit pas les messages

❌ Cause ✅ Solution
MESSAGE CONTENT INTENT désactivé Activez-le sur le portail Discord
Mauvais intents dans le code Ajoutez GatewayIntentBits.MessageContent

Le fichier .env n'est pas lu

❌ Cause ✅ Solution
dotenv pas installé Vérifiez qu'il est dans package.json
require mal placé require('dotenv').config(); doit être la première ligne
Fichier mal nommé Le fichier doit s'appeler exactement .env

npm install échoue

❌ Erreur ✅ Solution
package.json not found Vérifiez que le fichier est à la racine
ERESOLVE unable to resolve Mettez à jour les versions dans package.json

🔒 Sécurité du fichier .env

✅ À faire ❌ À ne pas faire
Garder le .env uniquement sur le serveur Partager le .env
Créer le .env directement sur OuiPanel Upload le .env depuis votre PC
Ajouter .env au .gitignore Commit le .env sur GitHub

Fichier .gitignore recommandé :

# Variables d'environnement
.env

# Node modules
node_modules/

💡 Bonnes Pratiques

Sécurité

  • Ne partagez jamais votre token
  • ✅ Créez le .env directement sur le serveur
  • ✅ Régénérez le token si compromis

Performance

  • ✅ N'activez que les intents nécessaires
  • ✅ Gérez les erreurs avec try/catch
  • ✅ Ajoutez des logs pour le debugging

📂 Structure Avancée (Recommandée)

Pour un bot plus organisé :

📁 MonBot/
├── 📄 index.js              ← Point d'entrée
├── 📄 package.json
├── 📄 .env                  ← Créé sur le serveur
├── 📁 commands/
│   ├── 📄 ping.js
│   ├── 📄 help.js
│   └── 📄 info.js
├── 📁 events/
│   ├── 📄 ready.js
│   └── 📄 messageCreate.js
└── 📄 config.json           ← Configuration non sensible

📝 Récapitulatif

1. Créer le bot sur Discord Developer Portal
2. Récupérer le Token et activer les Intents
3. Préparer les fichiers (index.js + package.json avec dotenv)
4. Uploader les fichiers sur OuiPanel (sans le .env)
5. Créer le fichier .env sur le serveur avec le token
6. Configurer le fichier de démarrage (index.js, bot.js...)
7. Démarrer le serveur
8. Vérifier que le bot est en ligne sur Discord