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.
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:
| Einstellung | Bedeutung |
|---|---|
Discord-Kategorie | Unter welcher Kategorie der Channel erstellt wird. Bei 50 Channels spawnt der Bot eine Overflow-Kategorie. |
Staff-Rollen | Wer das Ticket sehen und beantworten darf. Mindestens eine Rolle erforderlich. |
Max offene pro User | Wie 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ßen | Wenn aktiv, sieht der Eröffner einen 'Schließen'-Button im Ticket. Sonst nur Staff. |
DM beim Schließen | Schickt 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.
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.
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/:tokenBeispiel: tera-one.de/de/t/Q5x9k3R2pL_aB7vN…
| Token-Scope | Zielgruppe | Gültigkeit |
|---|---|---|
staff | Beliebiges Staff-Mitglied (Link teilbar) | 90 Tage |
opener | Eröffner persönlich | 90 Tage |
public | Manuell ausgestellt für Externe | Konfigurierbar |
Einstellungen: Storage & Transkripte
Im Tab 'Einstellungen' findest du zwei Datenschutz-Toggles. Beide sind standardmäßig aktiv.
- Nachrichten speichern — Wenn aktiv, werden alle Nachrichten in offenen Tickets in der Datenbank gespeichert. Voraussetzung für Transkripte und Analysen.
- Transkripte generieren — Wenn aktiv, wird beim Schließen ein Transkript-Link erzeugt und im Mod-Log + DM gepostet.
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.