Zum Hauptinhalt springen

Discord Ticket Bot installieren

🚀 Installation

Diese Seite richtet den Bot auf deinem eigenen Server ein. Was er alles kann und was der MSK Transcript Service dazu beiträgt, steht auf der Seite Discord Ticket Bot zum Selbsthosten.

Voraussetzungen

1. Abhängigkeiten installieren

cd discord_ticketbot
npm install

2. Umgebungsvariablen anlegen

cp .env.example .env

Die .env ausfüllen:

# Pflicht
TOKEN="dein_bot_token"
CLIENT_ID="deine_application_id"
GUILD_ID="deine_server_id"

# Optional, MSK Transcript Service (Key unter www.msk-scripts.de/ticketbot/verify)
MSK_API_KEY="dein_msk_api_key"
MSK_API_URL="https://www.msk-scripts.de"

# Optional, Datenbank (leer lassen für die mitgelieferte SQLite-Datei)
# MySQL/MariaDB: mysql://user:pass@host:3306/ticketbot
# PostgreSQL: postgres://user:pass@host:5432/ticketbot
# DATABASE_URL=""

💾 Die Datenbank ist optional. Lässt du DATABASE_URL leer, nutzt der Bot eine lokale SQLite-Datei (data/tickets.db), ganz ohne Einrichtung. Für MySQL/MariaDB oder PostgreSQL setzt du DATABASE_URL, siehe Datenbank.

3. Konfiguration anlegen

cp config/config.example.jsonc config/config.jsonc

Passe config/config.jsonc nach Bedarf an, alle Felder sind kommentiert.

4. Textbausteine anlegen (optional)

cp config/snippets.example.jsonc config/snippets.jsonc

In config/snippets.jsonc legst du die vorformulierten Antworten deines Teams fest. Fehlt die Datei, zeigen die /snippet-Befehle einen Einrichtungshinweis.

5. Bot starten

npm start

Beim ersten Start erledigt der Bot automatisch:

  • das Datenbankschema anlegen (standardmäßig SQLite unter data/tickets.db, sonst in der MySQL- oder PostgreSQL-Datenbank aus DATABASE_URL, siehe Datenbank)
  • alle Slash-Befehle auf deinem Server registrieren

6. Panel einrichten

Führe /setup auf deinem Discord-Server aus, dafür brauchst du Administratorrechte. Der Bot schickt das Ticket-Panel in den Kanal, der unter openTicketChannelId eingetragen ist.

Wie du den Bot danach im Alltag bedienst und welche Funktionen es gibt, steht auf der Seite Discord Ticket Bot einrichten.


🖥️ Bot 24/7 per systemd betreiben (Linux-Server)

Die mitgelieferte Datei ticketbot.service sorgt dafür, dass der Bot nach einem Neustart des Servers von selbst wieder hochfährt.

hinweis

Du nutzt das optionale Web-Dashboard? Dann startest du dashboard.js als Einstiegspunkt statt des reinen Bots unten. Es überwacht den Bot und liefert das Dashboard in einem Prozess mit aus. Folge dafür der Anleitung Dashboard-Einrichtung unter Linux und starte niemals beide Dienste gleichzeitig.

1. Bot-Dateien auf den Server kopieren

sudo cp -r discord_ticketbot /opt/discord_ticketbot
sudo useradd -r -s /bin/false discord
sudo chown -R discord:discord /opt/discord_ticketbot

2. .env auf dem Server anlegen

sudo nano /opt/discord_ticketbot/.env

3. Node.js-Pfad prüfen

which node
# z. B.: /usr/bin/node

Weicht der Pfad ab, passt du ExecStart in ticketbot.service entsprechend an.

4. systemd-Unit installieren

sudo cp /opt/discord_ticketbot/ticketbot.service /etc/systemd/system/
sudo systemctl daemon-reload
sudo systemctl enable --now ticketbot.service

5. Status prüfen

sudo systemctl status ticketbot.service
sudo journalctl -u ticketbot.service -f

Nützliche Befehle

BefehlBeschreibung
sudo systemctl start ticketbot.serviceBot starten
sudo systemctl stop ticketbot.serviceBot stoppen
sudo systemctl restart ticketbot.serviceBot neu starten
sudo systemctl enable ticketbot.serviceAutostart aktivieren
sudo systemctl disable ticketbot.serviceAutostart deaktivieren
sudo journalctl -u ticketbot.service -fLogs live mitlesen