Tickets

Mehrtypige Panels, Channel-pro-Ticket-Runtime, Discord-Style Web-Transkripte

Das Ticket-System verwandelt einen Discord-Server in einen vollwertigen Helpdesk: Panels mit Buttons oder Dropdown öffnen verschiedene Ticket-Typen, jedes Ticket bekommt einen eigenen Channel, Staff arbeitet mit Internal Notes, Tags, Prioritäten und Claims, und beim Schließen entsteht ein Web-Transkript, das wie der Discord-Client aussieht.

Überblick

Aktiviere im Tickets-Tab das Modul, lege mindestens einen Typ an, erstelle ein Panel und veröffentliche es in einem Channel. Sobald jemand auf einen Panel-Button klickt, öffnet der Bot einen privaten Channel unter der gewählten Kategorie und benachrichtigt deine Staff-Rolle.

Schritt-für-Schritt-Einrichtung

Schritt 1: Modul aktivieren

Öffne Dashboard → Tickets → Einstellungen und schalte 'Ticketsystem aktivieren' ein. Solange das Modul deaktiviert ist, antwortet der Bot auf Panel-Klicks mit einer Fehlermeldung.

Schritt 2: Mindestens einen Typ anlegen

Im Tab 'Typen' legst du fest, welche Art von Ticket geöffnet werden kann. Pflichtangaben:

  • Name + Emoji (wird im Panel-Button angezeigt)
  • Discord-Kategorie für die Channel-Erstellung
  • Mindestens eine Staff-Rolle, die Tickets sehen + bearbeiten darf
  • Welcome-Embed (wird beim Öffnen im Ticket gepostet)

Schritt 3: Panel erstellen

Im Tab 'Panels' wählst du Display-Type (Buttons oder Dropdown), gibst einen Titel + Beschreibung an und ordnest die Typen zu. Bei Buttons sind bis zu 25 Einträge pro Panel möglich, bei Dropdown bis zu 25 Optionen.

Mehrere Typen pro Panel sind erlaubt — z. B. ein Support-Panel mit den Typen 'Bug-Report', 'Feature-Wunsch', 'Allgemein'.

Schritt 4: Panel veröffentlichen

Klicke 'Veröffentlichen' und wähle den Ziel-Channel. Der Bot postet das Embed mit den interaktiven Buttons oder dem Dropdown. Beim Bearbeiten + erneuten Veröffentlichen wird die existierende Nachricht aktualisiert.

Panels

Ein Panel ist eine Discord-Nachricht, über die User Tickets öffnen. Du konfigurierst pro Panel:

  • Display-Type — Buttons (bis zu 25) oder Dropdown (bis zu 25 Optionen)
  • Embed-Inhalt — Titel, Beschreibung, Farbe, optionales Bild
  • Zugeordnete Typen — jeder Typ wird zu einem Button oder Dropdown-Eintrag

Ticket-Typen

Jeder Typ definiert, wie sich ein einzelnes Ticket verhält. Wichtige Einstellungen:

EinstellungBedeutung
Discord-KategorieUnter welcher Kategorie der Channel erstellt wird. Bei 50 Channels spawnt der Bot eine Overflow-Kategorie.
Staff-RollenWer das Ticket sehen und beantworten darf. Mindestens eine Rolle erforderlich.
Max offene pro UserWie viele Tickets dieses Typs ein User gleichzeitig offen haben darf. Default: 1.
Cooldown (Sek.)Mindest-Pause zwischen zwei Tickets desselben Typs vom selben User.
Opener kann selbst schließenWenn aktiv, sieht der Eröffner einen 'Schließen'-Button im Ticket. Sonst nur Staff.
DM beim SchließenSchickt dem Opener nach Schließen den Web-Transkript-Link per DM.
Grace-Period (Std.)Wie lange der archivierte Channel sichtbar bleibt, bevor er gelöscht wird. Default: 24.

Pre-Open-Felder

Pro Typ kannst du Modal-Felder anlegen, die User vor dem Öffnen ausfüllen müssen. Die Eingaben werden als Embed im Ticket-Header gepostet. Verfügbare Feldtypen:

  • Short Text — eine Zeile, max. 100 Zeichen (z. B. Name, In-Game-ID)
  • Long Text — mehrzeilig, max. 4000 Zeichen (z. B. Beschreibung)
  • Select — Single-Choice aus vordefinierten Optionen
  • Multi-Select — Mehrfach-Auswahl
  • Number — numerisches Eingabefeld mit optionalem Min/Max

Channel-pro-Ticket-Runtime

Beim Öffnen erstellt der Bot einen neuen Channel mit Permission-Overrides: nur Opener + Staff-Rollen sehen den Channel, alle anderen nicht. Im Header erscheint ein Embed mit Pre-Open-Feldern, Buttons für Claim, Schließen, Tags, Priorität.

Discord limitiert Kategorien auf 50 Channels. Sobald die Hauptkategorie voll ist, spawnt der Bot automatisch eine Overflow-Kategorie mit fortlaufendem Suffix (z. B. 'Support-2', 'Support-3'). Pro Server sind bis zu 500 offene Tickets möglich.

Claim, Priorität, Tags

Staff kann ein Ticket per Button claimen — der Claimer wird im Header angezeigt und ist im Mod-Log auditiert. Priorität (Niedrig/Normal/Hoch/Dringend) ist farbig im Embed sichtbar. Tags sind farbige Labels, die du serverweit definierst und pro Ticket anhängen kannst (z. B. 'Bug', 'DSGVO', 'VIP').

SLA-Timer

Pro Typ konfigurierbar. Wenn ein SLA-Ziel verpasst wird, eskaliert der Bot in den Mod-Log mit einem Hinweis und einem Link zum Ticket.

  • First-Response-SLA — Zeit zwischen Eröffnung und erster Staff-Antwort
  • Resolution-SLA — Zeit zwischen Eröffnung und Schließen
  • Pausen — SLA pausiert wenn auf Opener-Antwort gewartet wird (konfigurierbar)

Auto-Close bei Inaktivität

Wenn ein Ticket konfigurierte Stunden lang inaktiv ist, wird es automatisch archiviert. Der Bot postet eine Warnung 24 Std. vorher, der Opener kann mit dem Re-Open-Button die Frist zurücksetzen.

Auto-Close läuft nur, wenn der Typ es aktiviert hat. Per Default ist Auto-Close aus, damit Tickets ohne explizite Zustimmung nicht verschwinden.

Web-Transkripte

Beim Schließen mintet der Bot einen 90-Tage-Token und postet einen Link in den Mod-Log (und optional als DM an den Opener). Der Link öffnet eine Web-Seite, die das Ticket im Discord-Look rendert: Avatare, Username-Farben, Embeds mit Color-Bar, Reply-Pfeile, Anhänge als Bilder/Videos/File-Cards. URL-Schema:

tera-one.de/:locale/t/:token

Beispiel: tera-one.de/de/t/Q5x9k3R2pL_aB7vN…

Token-ScopeZielgruppeGültigkeit
staffBeliebiges Staff-Mitglied (Link teilbar)90 Tage
openerEröffner persönlich90 Tage
publicManuell ausgestellt für ExterneKonfigurierbar
Auf der Viewer-Seite gibt es einen 'JSON Export'-Button, mit dem du das gesamte Ticket maschinenlesbar herunterladen kannst — Header, alle Nachrichten, Embeds, Anhänge.

Einstellungen: Storage & Transkripte

Im Tab 'Einstellungen' findest du zwei Datenschutz-Toggles. Beide sind standardmäßig aktiv.

  • Nachrichten speichernWenn aktiv, werden alle Nachrichten in offenen Tickets in der Datenbank gespeichert. Voraussetzung für Transkripte und Analysen.
  • Transkripte generierenWenn aktiv, wird beim Schließen ein Transkript-Link erzeugt und im Mod-Log + DM gepostet.
Wenn 'Nachrichten speichern' aus ist, wird 'Transkripte generieren' automatisch deaktiviert — ohne Storage gibt es nichts zu rendern.

Blacklist & Anti-Spam

Eine Heuristik blockiert Spam-Opener, die in kurzer Zeit mehrere Tickets ohne sinnvollen Inhalt öffnen. Die Blacklist hat einen Hit-Counter und ein Ablaufdatum (manuell oder automatisch). Staff kann Einträge im 'Blacklist'-Tab bearbeiten und löschen.

Custom-Bot-Kompatibilität

Wenn dein Server einen eigenen Custom-Bot konfiguriert hat, werden alle Ticket-Operationen — Channel-Erstellung, Embed-Posts, Mod-Log-Posts, Opener-DMs — über dessen Token verschickt. Dein Branding, dein Rate-Limit-Slot.

Fehlersuche

Panel-Klick zeigt 'Ticket-System ist deaktiviert'
Im Tab 'Einstellungen' das Modul aktivieren. Das ist getrennt vom Modul-Toggle in den allgemeinen Server-Einstellungen.
'Du hast bereits die maximale Anzahl offener Tickets erreicht', obwohl keines offen ist
Prüfe im Live-Tab, ob ein Ticket im Status 'archived' steht — der Counter berücksichtigt nur 'open'-Tickets, nicht archivierte. Falls doch ein archived-Ticket den Counter blockiert, melde es im Support — das ist ein Bug.
Veröffentlichen geht nicht / Panel erscheint nicht im Channel
Prüfe die Bot-Permissions im Ziel-Channel: 'Send Messages', 'Embed Links', 'Use External Emojis' sind erforderlich. Bei Custom-Bot-Setups: prüfe, ob der Custom-Bot im Ziel-Channel berechtigt ist.
Transkript-Link erscheint nicht im Mod-Log
1) Mod-Log-Channel im Audit-Log-Modul setzen — der Ticket-Mod-Log nutzt diese Konfiguration. 2) 'Transkripte generieren' im Tab 'Einstellungen' prüfen. 3) 'Nachrichten speichern' muss ebenfalls aktiv sein.
Anhänge fehlen im Web-Viewer
Anhänge werden beim Schließen gespiegelt — schlägt der Mirror fehl (Bot offline während Close, Discord-Link abgelaufen), bleibt im Viewer der Originallink. Wenn auch der ausgelaufen ist, ist der Anhang verloren.

Häufige Fragen

Wie viele offene Tickets sind pro Server möglich?
Bis zu 500. Discord begrenzt Kategorien auf 50 Channels — der Bot spawnt automatisch Overflow-Kategorien.
Funktioniert das mit einem eigenen Custom-Bot?
Ja. Wenn du den Custom-Bot deines Servers via Token registriert hast, übernimmt dieser alle Ticket-Operationen.
Können Tickets ohne Schließ-Grund geschlossen werden?
Ja. Das Reason-Feld akzeptiert 0 bis 500 Zeichen. Bei leerem Eingabefeld wird der Reason als 'kein Grund angegeben' im Audit gespeichert.
Was passiert wenn der Opener seinen Account löscht?
Der Auth-Hook setzt eine Tombstone-Markierung im User-Record. Tickets bleiben für die Server-Owner-Accountability lesbar, der Username wird auf '[gelöscht]' anonymisiert.
Kann ich nach Live-Setup ein Panel oder einen Typ noch ändern?
Ja. Panels, Typen und Tags können jederzeit bearbeitet werden. Bei Panel-Updates wird die existierende Discord-Nachricht aktualisiert.
Kostet das Modul etwas?
Nein. Komplett kostenlos — alle Features, kein Limit, keine Premium-Stufe.
Tickets · TeraOne Docs · TeraOne