Zum Inhalt springen

Schritt-für-Schritt-Anleitung zum Deployment eines Discord.js-(Node.js-)Bots bei Daki Hosting.

Diese Anleitung führt dich durch das Deployment eines Discord.js-Bots bei Daki Hosting — von der Erstellung deines Servers bis zu einem Bot, der online ist und dessen Token sicher gespeichert ist.

Das lernst du hier

  • Wie du einen Node.js-Server für deinen Bot erstellst
  • Wie du deinen Code hochlädst
  • Wie du Install-Befehl, Startup Command und Docker-Image konfigurierst
  • Wie du deinen Bot-Token sicher über eine .env-Datei hinterlegst
  • Wie du deinen Bot startest und prüfst, ob er funktioniert

Voraussetzungen

  • Ein Daki-Konto (Free Tier oder bezahlt) — siehe Konto erstellen
  • Ein Discord-Bot mit einem Bot-Token, erstellt im Discord Developer Portal
  • Dein Quellcode inklusive einer package.json mit discord.js und dotenv als Abhängigkeiten

Discord-Bots verbinden sich ausgehend mit den Servern von Discord und benötigen keinen eingehenden Port. Deshalb funktionieren Discord-Bots sowohl im Free Tier als auch mit bezahlten Plänen. Beantwortet dein Bot zusätzlich HTTP-Anfragen (z. B. für Slash-Command-Interaktionen oder Webhooks), brauchst du einen bezahlten Plan, denn öffentlich erreichbare Ports gibt es nur in bezahlten Plänen. Siehe Netzwerk & Zuteilungen.


Deployment

  1. Node.js-Server erstellen

    1. Melde dich im Free-Tier-Dashboard auf free.daki.cc oder im Billing Panel auf billing.daki.cc an.
    2. Erstelle einen neuen Server und wähle das Node.js-Egg.
    3. Gib deinem Server einen Namen (z. B. MyDiscordBot).

    Die vollständige Anleitung findest du unter Deinen ersten Server erstellen.

  2. Portal öffnen

    Melde dich per SSO im Portal an (über Open Portal auf der Account-Seite im Dashboard oder auf der Service-Seite im Billing Panel) oder direkt auf portal.daki.cc. Siehe Portal-Überblick.

  3. Code deines Bots hochladen

    Option A — als ZIP hochladen (am einfachsten):

    1. Komprimiere deinen Projektordner lokal zu einer .zip-Datei.
    2. Gehe im Portal zum Tab Files und klicke auf Upload.
    3. Klicke mit der rechten Maustaste auf die .zip-Datei und dann auf Extract.

    Option B — per SFTP (ohne Größenlimit): Verbinde dich mit deinen SFTP-Zugangsdaten aus dem Tab Settings und lade deinen Ordner direkt hoch. Siehe Dateiverwaltung.

    Nimm den Ordner node_modules nicht in den Upload auf — er wird vom Install-Befehl automatisch installiert. package.json und package-lock.json gehören dagegen unbedingt dazu.

  4. Tab Startup konfigurieren

    Öffne den Tab Startup und konfiguriere alle drei Felder:

    1. Docker Image — Wähle die Node.js-Version, die dein Bot benötigt (z. B. Node.js 22 oder Node.js 24). Node.js 24 LTS ist eine sichere Standardwahl, wenn du dir unsicher bist. Vermeide Versionen mit der Markierung EOL, denn sie erhalten keine Sicherheitsupdates mehr.

    2. Install Command — Setze diesen Befehl, damit deine Abhängigkeiten automatisch installiert werden:

    Shell
    npm install

    3. Startup Command — Setze hier den Befehl, der deinen Bot startet:

    • node index.js — wenn deine Einstiegsdatei index.js heißt
    • node bot.js — wenn deine Einstiegsdatei bot.js heißt
    • npm start — wenn du ein start-Skript in deiner package.json hast

    Du kannst diese Befehle frei an die Struktur deines Projekts anpassen.

    Siehe Starteinstellungen für eine vollständige Erklärung.

  5. Bot-Token über eine .env-Datei hinterlegen

    Dein Bot braucht seinen Discord-Token, um sich zu verbinden. Speichere ihn in einer .env-Datei auf dem Server, damit er nie in deinem Quellcode landet.

    1. Klicke im Tab Files auf New File und nenne die Datei .env.
    2. Trage deinen Token ein:
      .env
      BOT_TOKEN=your_discord_bot_token_here
    3. Klicke auf Save.

    Lade ihn in deinem Bot-Code mit 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);

    Stelle sicher, dass dotenv in den Abhängigkeiten deiner package.json steht, damit es vom Install-Befehl installiert wird.

    Siehe Umgebungsvariablen für mehr Details zur Verwendung von .env-Dateien.

  6. Bot starten

    Klicke im Tab Console auf Start. Ein erfolgreicher Start gibt die Login-Bestätigung deines Bots aus:

    Text
    Logged in as MyBot#1234!

    Erscheinen stattdessen Fehler, sieh in der Anleitung zur Fehlerbehebung nach.


Häufige Probleme

Error: Cannot find module 'discord.js'

Deine Abhängigkeiten wurden nicht installiert. Prüfe, ob deine package.json discord.js als Abhängigkeit auflistet und ob der Install-Befehl im Tab Startup auf npm install gesetzt ist. Starte den Server neu, um die Installation auszulösen.

Error: Cannot find module 'dotenv'

Füge dotenv zu den Abhängigkeiten in deiner package.json hinzu und starte den Server neu, damit es installiert wird.

Error: An invalid token was provided

Dein Bot-Token in der .env-Datei ist falsch oder fehlt. Öffne im Tab Files die Datei .env und prüfe den Wert. Achte auf Leerzeichen, Anführungszeichen oder Zeilenumbrüche.

Der Bot startet, trennt die Verbindung aber kurz darauf

Meist fehlen die Gateway Intents. Aktiviere im Discord Developer Portal die benötigten privilegierten Intents (z. B. Message Content Intent) für deine Bot-Anwendung und stelle sicher, dass dein Code sie anfordert.

Server stürzt sofort nach dem Start ab

Öffne den Tab Console und lies den Fehler. Häufige Ursachen: falscher Startbefehl (Tippfehler im Dateinamen), falsche Node.js-Version oder fehlender node_modules-Ordner. Siehe Fehlerbehebung.


Nächste Schritte