NodeJS15. Dezember 2025 23 Aufrufe

Einen Discord-Bot (discord.js) auf OuiPanel hosten

Einen Discord-Bot (discord.js) auf OuiPanel hosten

Wie man einen Discord-Bot (discord.js) auf OuiPanel hostet

Geschätzte Zeit: 15 Minuten
Schwierigkeit: Mittel ⭐⭐
Servertyp: Node.js


📋 Einführung

Dieser Leitfaden erklärt, wie man einen mit discord.js (JavaScript/Node.js) entwickelten Discord-Bot auf OuiPanel hostet. Ihr Bot wird rund um die Uhr online sein.

Was Sie benötigen

Voraussetzung Beschreibung
🤖 Ein Discord-Bot Erstellt auf dem Discord Developer Portal
🔑 Der Bot-Token Geheimer Schlüssel zur Verbindung Ihres Bots
📁 Die Bot-Dateien Ihr Quellcode (index.js, package.json, usw.)
💻 Ein Node.js-Server Auf OuiHeberg bestellt

🤖 Schritt 1: Bot auf Discord erstellen (falls noch nicht geschehen)

Wenn Sie bereits Ihren Bot und seinen Token haben, gehen Sie zum Schritt 2.

Anwendung erstellen

  1. Gehen Sie zum Discord Developer Portal
  2. Melden Sie sich mit Ihrem Discord-Konto an
  3. Klicken Sie auf New Application
  4. Geben Sie Ihrer Anwendung einen Namen (z.B. "Mein Bot")
  5. Klicken Sie auf Create

Bild


Bot erstellen

  1. In der linken Menüleiste auf Bot klicken
  2. Klicken Sie auf Add Bot und dann auf Yes, do it!
  3. Ihr Bot wurde erstellt!

[Screenshot: Bot-Bereich mit der Schaltfläche Add Bot]


Token abrufen

  1. In der Bot-Sektion auf Reset Token klicken
  2. Bestätigen und den angezeigten Token kopieren
  3. Bewahren Sie diesen Token geheim auf! Teilen Sie ihn niemals.

Bild

⚠️ Wichtig: Der Token ist wie ein Passwort. Wenn jemand ihn erhält, kann er Ihren Bot steuern. Geben Sie ihn niemals in öffentlichen Code-Repositories (GitHub, usw.) preis.


Intents aktivieren

  1. Weiterhin im Bot-Bereich, scrollen Sie zu Privileged Gateway Intents
  2. Aktivieren Sie die erforderlichen Intents:
    • PRESENCE INTENT (optional)
    • SERVER MEMBERS INTENT (optional)
    • MESSAGE CONTENT INTENT (erforderlich, um Nachrichten zu lesen)

Bild

⚠️ Wichtig: Ohne MESSAGE CONTENT INTENT kann Ihr Bot den Nachrichteninhalt nicht lesen.


Bot auf Ihren Server einladen

  1. In der linken Menüleiste auf OAuth2URL-Generator klicken
  2. In Scopes bot und applications.commands ankreuzen
  3. In Bot Permissions die erforderlichen Berechtigungen ankreuzen (oder Administrator für alle)
  4. Die generierte URL unten kopieren
  5. Öffnen Sie diese URL und laden Sie den Bot auf Ihren Discord-Server ein

Bild


📁 Schritt 2: Vorbereiten der Bot-Dateien

Dateistruktur

Ihr Bot sollte diese Struktur haben:

📁 MeinBot/
├── 📄 index.js         ← Hauptdatei (oder bot.js, main.js...)
├── 📄 package.json     ← npm-Abhängigkeiten
├── 📄 .env             ← Bot-Token (auf dem Server erstellt)
├── 📁 commands/        ← (Optional) Ordner für Befehle
└── 📁 events/          ← (Optional) Ordner für Ereignisse

Datei package.json

Erstellen Sie eine package.json-Datei mit den Abhängigkeiten discord.js und dotenv:

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

💡 Passen Sie "main": "index.js" entsprechend dem Namen Ihrer Hauptdatei an (bot.js, main.js, usw.).


Hauptdatei (index.js)

Erstellen Sie Ihre Hauptdatei mit dotenv, um das Token zu laden:

// Umgebungsvariablen aus .env laden
require('dotenv').config();

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

// Discord-Client erstellen
const client = new Client({
    intents: [
        GatewayIntentBits.Guilds,
        GatewayIntentBits.GuildMessages,
        GatewayIntentBits.MessageContent
    ]
});

// Ereignis: Bot bereit
client.once('ready', () => {
    console.log(`✅ Bot verbunden als ${client.user.tag}`);
});

// Ereignis: Nachricht erhalten
client.on('messageCreate', message => {
    if (message.author.bot) return;
    
    // Prefix aus .env verwenden (optional)
    const prefix = process.env.PREFIX || '!';
    
    if (message.content === `${prefix}ping`) {
        message.reply('🏓 Pong !');
    }
});

// Fehlerbehandlung
process.on('unhandledRejection', error => {
    console.error('Unerwarteter Fehler:', error);
});

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

// Mit dem Token aus .env verbinden
client.login(process.env.DISCORD_TOKEN);

⚠️ Wichtig: require('dotenv').config(); muss die erste Zeile Ihrer Datei sein.


📤 Schritt 3: Dateien auf OuiPanel hochladen

Über den Dateimanager

  1. Melden Sie sich bei OuiPanel an
  2. Wählen Sie Ihren Node.js-Server aus
  3. Klicken Sie im Seitenmenü auf Dateimanager

  1. Löschen Sie die Standarddateien (falls vorhanden)
  2. Klicken Sie auf Hochladen
  3. Laden Sie Ihre Dateien hoch:
    • index.js (oder bot.js, main.js...)
    • package.json
    • Ihre Ordner (commands/, events/...) falls erforderlich

Bild

⚠️ Nicht hochladen: Die Datei .env wird im nächsten Schritt direkt auf dem Server erstellt.


Über SFTP (Empfohlen für mehrere Dateien)

  1. Melden Sie sich mit FileZilla über SFTP an
  2. Ziehen Sie den gesamten Inhalt Ihres Bot-Ordners per Drag & Drop
  3. Überprüfen Sie, ob alle Dateien erfolgreich hochgeladen wurden

📖 Sehen Sie sich den Leitfaden "SFTP-Zugriff mit FileZilla" für detaillierte Anweisungen an.


🔑 Schritt 4: Erstellen der .env-Datei (Token)

Platzieren Sie niemals Ihren Token direkt im Code! Erstellen Sie eine .env-Datei auf dem Server.

.env-Datei erstellen

📝 Récapitulatif

  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

1. Bot auf dem Discord Developer Portal erstellen
2. Token abrufen und Intents aktivieren
3. Dateien vorbereiten (index.js + package.json mit dotenv)
4. Dateien auf OuiPanel hochladen (ohne .env)
5. .env-Datei auf dem Server mit dem Token erstellen
6. Startdatei konfigurieren (index.js, bot.js...)
7. Server starten
8. Überprüfen, ob der Bot auf Discord online ist