Zum Inhalt springen
Discord

Discord-Server installieren

Dieser Leitfaden zeigt, wie Sie im Discord Developer Portal eine Anwendung und einen Bot erstellen, den Token schützen, den Bot auf einen Community-Server einladen und ihn rund um die Uhr auf einem Linux-VPS betreiben (systemd, pm2 oder Docker). Planen Sie 30 bis 45 Minuten ein; ein Einsteiger-VPS reicht für einen kleinen Bot.

Zuletzt aktualisiert: 9.10.2026

Dieser Leitfaden zeigt, wie Sie im Discord Developer Portal eine Anwendung und einen Bot erstellen, den Token schützen, den Bot auf einen Community-Server einladen und ihn rund um die Uhr auf einem Linux-VPS betreiben (systemd, pm2 oder Docker). Planen Sie 30 bis 45 Minuten ein; ein Einsteiger-VPS reicht für einen kleinen Bot.

Installation Schritt für Schritt

  1. Aktivieren Sie die Zwei-Faktor-Authentifizierung für Ihr Discord-Konto und installieren Sie eine aktuelle LTS-Version von Node.js (oder Python).

  2. Erstellen Sie unter discord.com/developers/applications eine Anwendung (New Application).

  3. Tab „Bot“: Token erzeugen (Reset Token) und einmalig in einen Passwortmanager oder eine .env-Datei kopieren.

  4. Aktivieren Sie nur die Privileged Gateway Intents, die Sie wirklich brauchen (Presence, Server Members, Message Content).

  5. Erzeugen Sie den Einladungslink (Scopes bot + applications.commands, minimale Berechtigungen) mit dem Tool „Bot-Einladungslink“.

  6. Öffnen Sie den Link, wählen Sie Ihren Server (Berechtigung „Server verwalten“ nötig) und autorisieren Sie.

  7. Schreiben Sie einen minimalen Bot (discord.js) und testen Sie ihn lokal mit dem Token in .env.

  8. Bereiten Sie einen Linux-VPS vor: Nicht-Root-Benutzer, Firewall, Node.js (siehe Leitfaden „VPS vorbereiten“).

  9. Deployen Sie den Code, legen Sie den Token in eine .env-Datei (chmod 600) und starten Sie den Bot per systemd, pm2 oder Docker.

  10. Richten Sie den Community-Server ein: Rollen, Kanäle, Berechtigungen, Webhooks und Moderation.

Voraussetzungen

Sie brauchen ein Discord-Konto (mit 2FA), einen Server, den Sie besitzen oder administrieren, und Node.js LTS (oder Python): Prüfen Sie die Mindestversion Ihrer discord.js-Version. Fürs Hosting: ein Linux-VPS (1 vCPU und 512 MB bis 1 GB RAM genügen meist für einen kleinen Bot, je nach Code anpassen). Geben Sie den Bot-Token nie weiter: Er gewährt volle Kontrolle über den Bot.

Anwendung und Bot erstellen

  • discord.com/developers/applications → New Application → Name → Create.
  • General Information: Application ID kopieren (die öffentliche client_id).
  • Bot → Reset Token → Token kopieren (wird nur einmal angezeigt).
  • Wenn der Token leakt (öffentliches Git-Repo, Screenshot …), sofort Reset Token ausführen.

Token schützen (.env)

Legen Sie den Token nie in den Code. Nutzen Sie eine von Git ausgeschlossene .env-Datei, nur für Ihren Benutzer lesbar. Beispiel (Dummy-Wert):

echo 'DISCORD_TOKEN=ChangeMe!' > .env
chmod 600 .env
echo '.env' >> .gitignore

Privileged Intents

  • Server Members Intent: Beitritts-/Austrittsereignisse und vollständige Mitgliederliste.
  • Message Content Intent: Nachrichtentext lesen (unnötig, wenn Sie nur Slash-Befehle nutzen).
  • Presence Intent: Anwesenheitsstatus der Mitglieder.
  • Ab einer bestimmten Serverzahl (100 laut Discord-Richtlinie zum Zeitpunkt der Erstellung) erfordern diese Intents eine Bot-Verifizierung: Aktuelle Richtlinie prüfen.

Bot einladen

Der Einladungslink sieht so aus (Dummy-client_id, permissions = 3072: Kanäle sehen und schreiben). Berechnen Sie die Zahl mit dem Berechtigungsrechner und bauen Sie den Link mit dem Tool:

https://discord.com/oauth2/authorize?client_id=123456789012345678&scope=bot%20applications.commands&permissions=3072

Minimaler Bot (discord.js)

Installation: npm init -y && npm install discord.js dotenv. Datei index.js (aktuelle API siehe discordjs.guide):

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

const client = new Client({ intents: [GatewayIntentBits.Guilds] });

client.once(Events.ClientReady, (c) => console.log(`Logged in as ${c.user.tag}`));

client.login(process.env.DISCORD_TOKEN);

Mit systemd betreiben

Datei /etc/systemd/system/discord-bot.service (User und Pfade anpassen; Pfad von node mit „which node“ prüfen). Danach: sudo systemctl daemon-reload && sudo systemctl enable --now discord-bot; Logs: journalctl -u discord-bot -f.

[Unit]
Description=Discord bot
After=network-online.target
Wants=network-online.target

[Service]
Type=simple
User=botuser
WorkingDirectory=/home/botuser/bot
EnvironmentFile=/home/botuser/bot/.env
ExecStart=/usr/bin/node index.js
Restart=on-failure
RestartSec=5

[Install]
WantedBy=multi-user.target

Mit pm2 betreiben

pm2 startet den Prozess bei Abstürzen neu. „pm2 startup“ gibt einen sudo-Befehl aus, den Sie ausführen, damit pm2 beim Booten startet.

sudo npm install -g pm2
pm2 start index.js --name discord-bot
pm2 save
pm2 startup
pm2 logs discord-bot

Mit Docker betreiben

Dockerfile unten (Node-Version an die von discord.js geforderte anpassen). Bauen und starten, den Token per env-Datei übergeben: docker build -t discord-bot . && docker run -d --restart unless-stopped --env-file .env --name discord-bot discord-bot

FROM node:lts-alpine
WORKDIR /app
COPY package*.json ./
RUN npm ci --omit=dev
COPY . .
USER node
CMD ["node", "index.js"]

Community-Server einrichten

  • Rollen: Legen Sie Rollen nach Funktion an (Admin, Moderator, Mitglied) mit minimalen Rechten; die Bot-Rolle muss über den verwalteten Rollen stehen.
  • Kanäle: Kategorien (Willkommen, Regeln, Allgemein, Support, Sprache) und Berechtigungen pro Kategorie statt pro Kanal.
  • Webhooks: Um den Status Ihrer Spieleserver zu posten, bauen Sie das Embed mit dem Tool „Webhook-Embed-Builder“.
  • Moderation: Verifizierungsstufe, AutoMod, Audit-Log; aktivieren Sie in den Servereinstellungen die 2FA-Pflicht für Moderatoren.
  • Sichtbarkeit: Tragen Sie Ihren Spieleserver auf game-rank.com/jeux ein, um gefunden zu werden.

Fehlerbehebung

  • „TokenInvalid“ / „An invalid token was provided“: falscher Token, Leerzeichen oder Token zurückgesetzt. Neu über Reset Token kopieren.
  • „Used disallowed intents“: Aktivieren Sie den passenden privilegierten Intent im Tab „Bot“ oder entfernen Sie ihn aus dem Code.
  • „Missing Access“ / „Missing Permissions“: Dem Bot fehlt die Berechtigung im Kanal oder seine Rolle steht zu niedrig in der Hierarchie.
  • Slash-Befehle erscheinen nicht: Der Scope applications.commands fehlte in der Einladung oder die Befehle sind nicht registriert (Deployment); laden Sie den Bot mit dem richtigen Link neu ein.
  • Der Bot trennt auf dem VPS: Logs lesen (journalctl -u discord-bot -f), verfügbaren Speicher prüfen und kontrollieren, dass Restart=on-failure gesetzt ist.

Häufige Fragen

Ist ein Discord-Bot kostenlos?
Einen Bot im Developer Portal zu erstellen ist kostenlos. Nur das Hosting (VPS oder dauerhaft laufender Rechner) kann einige Euro pro Monat kosten.
Was tun, wenn mein Token geleakt wurde?
Klicken Sie sofort im Tab „Bot“ auf Reset Token, aktualisieren Sie Ihre .env-Datei, starten Sie den Bot neu und prüfen Sie das Audit-Log des Servers.
systemd, pm2 oder Docker?
systemd ist am leichtesten und in Linux integriert; pm2 ist praktisch bei mehreren Node.js-Prozessen; Docker isoliert die Umgebung und macht Deployments reproduzierbar. Alle drei starten den Bot nach einem Absturz neu.
Brauche ich einen offenen Port, um einen Bot zu hosten?
Nein: Der Bot baut selbst eine ausgehende Verbindung zu Discord auf. Nur der SSH-Port muss für die Administration erreichbar bleiben (außer Sie betreiben einen Webserver).

Tools für Ihren Discord-Server

Discord
DiscordFrei zugänglich
Erstellen Sie eine Discord-Webhook-Nachricht mit Embeds, Live-Vorschau, JSON und curl-Beispiel. Von dieser Seite wird nichts gesendet.
WebhookEmbedÖffnen
Dokumentation
Discord
DiscordFrei zugänglich
Wandeln Sie die Discord-Berechtigungszahl in Kontrollkästchen um und zurück – mit den offiziellen Bitwerten.
BerechtigungenBotÖffnen
Dokumentation
Discord
DiscordFrei zugänglich
Erstellen Sie die OAuth2-Einladungs-URL Ihres Bots: client_id, Scopes, Berechtigungen, vorgewählter Server.
OAuth2BotÖffnen
Dokumentation