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
- Node.js ab Version 24 (oder du überspringst das komplett und nimmst Docker)
- Ein Discord-Bot-Token von discord.com/developers/applications
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_URLleer, nutzt der Bot eine lokale SQLite-Datei (data/tickets.db), ganz ohne Einrichtung. Für MySQL/MariaDB oder PostgreSQL setzt duDATABASE_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 ausDATABASE_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.
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
| Befehl | Beschreibung |
|---|---|
sudo systemctl start ticketbot.service | Bot starten |
sudo systemctl stop ticketbot.service | Bot stoppen |
sudo systemctl restart ticketbot.service | Bot neu starten |
sudo systemctl enable ticketbot.service | Autostart aktivieren |
sudo systemctl disable ticketbot.service | Autostart deaktivieren |
sudo journalctl -u ticketbot.service -f | Logs live mitlesen |