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
- Rendez-vous sur le Portail Développeur Discord
- Connectez-vous avec votre compte Discord
- Cliquez sur New Application
- Donnez un nom à votre application (ex: "Mon Bot")
- Cliquez sur Create

Créer le bot
- Dans le menu de gauche, cliquez sur Bot
- Cliquez sur Add Bot puis Yes, do it!
- Votre bot est créé !
[Capture d'écran : Section Bot avec le bouton Add Bot]
Récupérer le Token
- Dans la section Bot, cliquez sur Reset Token
- Confirmez et copiez le token affiché
- Gardez ce token secret ! Ne le partagez jamais.

⚠️ 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
- Toujours dans la section Bot, descendez jusqu'à Privileged Gateway Intents
- Activez les intents nécessaires :
- ✅
PRESENCE INTENT(optionnel) - ✅
SERVER MEMBERS INTENT(optionnel) - ✅
MESSAGE CONTENT INTENT(requis pour lire les messages)
- ✅

⚠️ Important : Sans
MESSAGE CONTENT INTENT, votre bot ne pourra pas lire le contenu des messages.
Inviter le bot sur votre serveur
- Dans le menu de gauche, cliquez sur OAuth2 → URL Generator
- Dans Scopes, cochez
botetapplications.commands - Dans Bot Permissions, cochez les permissions nécessaires (ou
Administratorpour tout) - Copiez l'URL générée en bas
- Ouvrez cette URL et invitez le bot sur votre serveur Discord

📁 É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
- Connectez-vous à OuiPanel
- Sélectionnez votre serveur Node.js
- Dans le menu latéral, cliquez sur Gestionnaire de fichiers
- Supprimez les fichiers par défaut (s'il y en a)
- Cliquez sur Envoyer (Upload)
- Uploadez vos fichiers :
index.js(oubot.js,main.js...)package.json- Vos dossiers (
commands/,events/...) si nécessaire

⚠️ Ne pas uploader : Le fichier
.envsera créé directement sur le serveur à l'étape suivante.
Via SFTP (Recommandé pour plusieurs fichiers)
- Connectez-vous en SFTP avec FileZilla
- Glissez-déposez tout le contenu de votre dossier bot
- 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
- Dans le Gestionnaire de fichiers, cliquez sur Nouveau fichier
- Nommez-le
.env(avec le point devant) - Ajoutez le contenu suivant :
# Token du bot Discord
DISCORD_TOKEN=votre_token_ici
# Prefix des commandes (optionnel)
PREFIX=!

- 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
- Dans le menu latéral, cliquez sur Configuration
- Cliquez sur Paramètres du serveur

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

| 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
- Dans le menu latéral, cliquez sur Console
- 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

✅ Étape 7 : Vérifier que le Bot Fonctionne
Dans la Console OuiPanel
Vous devriez voir :
✅ Bot connecté en tant que MonBot#1234
Sur Discord
- Ouvrez Discord
- Votre bot devrait apparaître en ligne (point vert)
- Testez une commande :
!ping - Le bot répond : 🏓 Pong !

🔧 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
.envdirectement 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

