ModiQDocs

Custom Commands

Baue eigene Slash-Befehle, Ereignis-Trigger und Zeitsteuerungen mit Aktionen, Bedingungen und eigenem Speicher - ohne Programmieren.

Mit Custom Commands erstellst du in einem gemeinsamen Editor drei Arten von Einträgen: Slash-Befehle (erscheinen als /Befehl bei Discord), Ereignis-Trigger (laufen automatisch bei Nachrichten, Beitritten, Austritten oder Reaktionen) und Zeitsteuerungen (laufen einmalig oder wiederkehrend nach Zeitplan). Für alle drei baust du darunter denselben Aktionsablauf aus Aktionen und Bedingungen - antworten, Embed senden, Rollen vergeben, Werte speichern, Bedingungen prüfen und mehr. Über Platzhalter greifst du auf Nutzer, Datum, Optionen, Variablen und Speicherwerte zu. Das Dashboard hat drei Bereiche: Commands, Variablen und Datenbanken. (customcommands)

Bild folgt

Das Dashboard mit geöffnetem Tab „Custom Commands“: links die Modulliste, rechts die Einstellungen mit Speichern-Knopf.

Nur die Seite selbst zeigen – ohne Browserleiste, ohne persönliche Daten.

public/docs-assets/modules/customcommands.png · 1600x900 · dunkles Design

Die drei Bereiche

Befehle
Liste und Editor deiner Einträge. Ganz oben wählst du den Typ (Slash-Befehl, Ereignis-Trigger oder Zeitsteuerung); darunter baust du Name, typabhängige Felder und die Aktionskette.
Variablen
Server-weite Werte (Guild-Variablen), unabhängig vom Pro-Nutzer-Speicher.
Datenbanken
Werte pro Mitglied, z. B. balance oder wins, genutzt über {db:schluessel}.

Die drei Typen

Slash-Befehl
Wird nach dem Speichern bei Discord als /Befehl registriert. Felder: Name (nur a–z, 0–9, - und _, max. 32 Zeichen), Beschreibung und Optionen (Parameter).
Ereignis-Trigger
Läuft automatisch, wenn ein Ereignis eintritt - nicht als Slash-Befehl. Der Name ist nur ein Anzeigename und unterliegt keinen Discord-Regeln.
Zeitsteuerung
Läuft einmalig zu einem Zeitpunkt oder wiederkehrend in einem Intervall. Der Name ist nur ein Anzeigename.

In allen drei Fällen wird darunter derselbe Aktionsablauf aufgebaut: Aktionen, Bedingungen (Wenn / Sonst) und Platzhalter.

Ereignis-Trigger

  • Schlüsselwort - reagiert auf Wörter in Nachrichten. Mehrere Schlüsselwörter mit Komma trennen; die Übereinstimmung ist einstellbar: enthält, exakt oder beginnt mit.
  • Regex - reagiert auf ein reguläres Ausdrucksmuster. Ungültige Muster lösen einfach nicht aus.
  • Mitglied beigetreten - reagiert, wenn ein Mitglied den Server betritt.
  • Mitglied verlassen - reagiert, wenn ein Mitglied den Server verlässt.
  • Reaktion - reagiert auf ein bestimmtes Emoji als Reaktion.
Kanäle
Optional: nur in diesen Kanälen auslösen. Leer lassen = alle Kanäle.
Cooldown
Wartezeit in Millisekunden zwischen zwei Auslösungen. Standard 5000 ms (5 s), 0 = kein Cooldown.
Bots ignorieren
Standardmäßig an: Nachrichten von Bots lösen den Trigger nicht aus (Loop-Schutz).
Trigger erscheinen nicht als Slash-Befehle bei Discord - sie laufen ausschließlich im Hintergrund.

Zeitsteuerung

  • Einmalig - führt die Aktionen zu einem festen Datum und einer Uhrzeit aus.
  • Wiederkehrend - führt die Aktionen in einem Intervall aus; 1 bis 10080 Minuten (max. 7 Tage).
Zeitsteuerungen werden im ~30-Sekunden-Takt geprüft - die Ausführung erfolgt also innerhalb von etwa 30 Sekunden nach dem geplanten Zeitpunkt.

Aktionen

  • Nachrichten - Nachricht antworten, Embed senden, Nachricht in Kanal senden, Embed in Kanal senden (mit Farbe und optionalem Löschen nach x Sekunden, 0 = nie), Direktnachricht senden (an das auslösende Mitglied, eine feste User-ID oder eine Option), Reaktion hinzufügen.
  • Rollen - Rolle hinzufügen, Rolle entfernen.
  • Moderation - Kanal sperren, Kanal entsperren. Ohne Kanalauswahl wird der aktuelle Kanal gesperrt bzw. entsperrt.
  • Datenbank & Economy - Datenbank-Wert lesen (pro User), Datenbank-Wert ändern (+/-), Datenbank-Wert setzen, Bestenliste anzeigen.
  • Guild-Variablen - Guild-Variable lesen, ändern (+/-), setzen.
  • Spiele & Zufall - Zufallszahl.
  • Logik - Bedingung (Wenn / Sonst), Warten (Sekunden), Variable setzen, Abbrechen.

Eine Bedingung kann Options-Werte, Variablen, Datenbank-Werte, Guild-Variablen, die ID des Ausführenden, eine Rollen-Zugehörigkeit und den aktuellen Kanal prüfen.

Platzhalter & Regeln

  • {user} - Erwähnung des Nutzers; {user_id} - Nutzer-ID
  • {date} / {time} - Datum und Uhrzeit
  • {option:name} - Wert einer Option
  • {var:name} - eigene Variable
  • {db:schluessel} - Datenbank-Wert pro Nutzer
  • {gvar:name} - Guild-Variable (server-weit)
Slash-Befehlsnamen und Optionsnamen bestehen aus a–z, 0–9, - und _ (max. 32 Zeichen). Der Anzeigename von Triggern und Zeitsteuerungen ist frei wählbar. Schlüssel für Variablen und Datenbanken bestehen aus a–z, A–Z, 0–9, - und _ (max. 32 Zeichen).

Die Daten liegen in data/custom-commands.json, Variablen in data/custom-commands-guildvars.json und Pro-Nutzer-Werte in data/custom-commands-db.json.

Einstellungen im Dashboard

EinstellungTypBedeutung
Modul Custom Commands aktivcustomCommandsEnabledSchalterSchaltet das Modul ein oder aus. Aus: Eigene Befehle werden auf dem Server deaktiviert.

Stolperfallen

  • Slash-Befehle werden erst nach dem Speichern bei Discord registriert - kurz danach sind sie als Slash-Befehl verfügbar.
  • Trigger und Zeitsteuerungen erscheinen nicht als Slash-Befehle: Trigger laufen im Hintergrund, Zeitsteuerungen werden im ~30-Sekunden-Takt geprüft.
  • Bots lösen Trigger nicht aus (Loop-Schutz, standardmäßig aktiv).
  • Optionstypen sind Text, Ganzzahl, Ja/Nein, Nutzer, Kanal, Rolle, Nutzer/Rolle, Zahl und Datei.