Sync Bot — Server-Spiegelung

Einrichtung

Bot anlegen, auf beide Server einladen und auf Pterodactyl (Node 22) hosten.

Einrichtung

1. Discord-Bot anlegen

  1. Im Developer Portal eine Application erstellen.
  2. Unter Bot einen Bot hinzufügen und den Token kopieren.
  3. Unter Bot → Privileged Gateway Intents das Message Content Intent aktivieren.
  4. Die Application ID unter General Information kopieren (wird als CLIENT_ID gebraucht).
Das Intent Server Members wird nicht benötigt. Message Content ist Pflicht; Server Message Reactions ist nicht „privileged" und muss nicht extra freigeschaltet werden.

2. Bot einladen — auf beide Server

Lade den Bot über eine OAuth2-URL mit den Scopes bot und applications.commands ein. Nötige Rechte: Kanäle verwalten, Webhooks verwalten, Kanäle ansehen, Nachrichten senden, Nachrichtenverlauf lesen.

Der Bot muss auf Server A und Server B sein. Fehlt er auf einem der beiden, schlägt /sync activate fehl.

3. Hosting auf Pterodactyl (Node 22)

  1. Node-Version im Egg auf 22 stellen. Node 18 wird nicht unterstützt.
  2. Quellcode hochladen — ohne node_modules (wird auf dem Server frisch installiert).
  3. Environment-Variablen setzen:
VariableBeschreibung
DISCORD_TOKENBot-Token aus dem Developer Portal
CLIENT_IDApplication ID
JS_FILEdist/index.js — der Startbefehl führt dist/${JS_FILE} aus
DATABASE_PATHOptional, Standard ./data/sync.db

Beim Start läuft automatisch: npm installnpx tsc -p (kompiliert nach dist/dist/) → node dist/dist/index.js.

Lege DATABASE_PATH auf einen dauerhaften Pfad (z. B. ./data/sync.db). Geht die Datenbank verloren, erkennt der Bot seine eigenen Webhooks nicht mehr — das kann zu Endlosschleifen führen.

4. Lokal starten (optional)

cp .env.example .env   # Token + Client-ID eintragen
npm install
npm run dev

5. Slash-Commands

Die /sync-Befehle werden automatisch registriert — beim Start für alle Server, in denen der Bot ist, und sofort, sobald der Bot einem neuen Server beitritt. Du musst nichts manuell deployen.

Danach geht's zu den Befehlen — dort steht, wie du einen Sync startest.
Copyright © 2026