Zum Inhalt

Command: !delquote (Mod-Only)

Löscht eine Quote per ID. Mod-Only weil destruktiv.

Voraussetzung: Mod-Permissions Patterns: If/Else (ID-Check) + Delete Quote + Send Message Sub-Actions: 4-5

Action: [Cmd] !delquote

Sub-Action 1: If/Else — ID fehlt

Feld Wert
Input %input0%
Operation Is Null or Empty

Then-Branch:

Sub-Action 2 (im Then von 1): Hilfe + Break

2a. Send Message: "@%user% nutze !delquote <ID>"
2b. Break

Sub-Action 3: If/Else — ID ist keine Zahl

Feld Wert
Input %input0%
Operation Regex Match
Value ^[0-9]+$

Wenn NICHT Zahl → Then-Branch via separates If/Else (Streamer.bot hat kein "Not Regex"; pragmatisch zweifachen Check oder Set Argument-Flag wie bei !rps).

Vereinfachte Variante: nur die nachgeschaltete Delete Quote macht den Check selbst — wenn ID nicht numerisch, %success% = false. Wir können den Pre-Check weglassen und uns auf Delete Quote's Fehler-Output verlassen.

Sub-Action 4: Delete Quote

Pfad: Core → Quotes → Delete Quote

Feld Wert
Quote ID %input0%

Setzt:

Variable Inhalt
%success% bool
%quoteId% ID der gelöschten Quote (bei Erfolg)
%error% Fehlermeldung bei Fail (z.B. "Unable to delete quote 4219, it does not exist")

Sub-Action 5: If/Else — Erfolg

5. If/Else: %success% Equals false
   ├── Send Message: "@%user% Löschen fehlgeschlagen: %error%"
   └── Break

Sub-Action 6: Send Message — Erfolg

Feld Wert
Message 🗑️ Quote #%quoteId% gelöscht.

Action-Tree

[Cmd] !delquote
├── 1. If/Else: %input0% Is Null or Empty
│   ├── Send Message: "@%user% nutze !delquote <ID>"
│   └── Break
├── 2. Delete Quote (Quote ID = %input0%)
├── 3. If/Else: %success% Equals false
│   ├── Send Message: "@%user% Löschen fehlgeschlagen: %error%"
│   └── Break
└── 4. Send Message: "🗑️ Quote #%quoteId% gelöscht."

Command-Einstellungen

Feld Wert
Name !delquote
Group AzaCraft Quotes
Commands !delquote
!dq
!removequote
Sources Twitch Message
Global Cooldown 0
User Cooldown 5
Grant Type Allow
Groups Moderators

Verwendungsbeispiele

Chat Wer Resultat
!delquote 42 Mod "🗑️ Quote #42 gelöscht."
!delquote 99999 Mod "Löschen fehlgeschlagen: Unable to delete quote 99999..."
!delquote banana Mod "Löschen fehlgeschlagen: ..."
!delquote Mod "@user nutze !delquote "
!delquote 42 Normaler User Permission blockt

Wichtig: ID bleibt frei

Nach Delete bleibt die ID frei — andere Quotes werden NICHT re-numeriert. Falls die User-Erwartung "Quote #42 = X" anders ist als bei dir, expliziter im Chat kommunizieren.

Re-Index via UI: Services → Quotes → Rechtsklick → Re-index. Achtung: alle IDs ändern sich, irreversibel.

Erweiterung: Confirm-Step

Bei Quotes die du nicht versehentlich löschen willst, einen Confirm-Schritt:

[Cmd] !delquote
├── 1. (empty-check wie oben)
├── 2. Get Quote (Specific, Quote Id = %input0%)
├── 3. If/Else: %quoteId% Is Null or Empty
│   ├── Send Message: "@%user% Quote #%input0% existiert nicht."
│   └── Break
├── 4. Send Message: "@%user% Quote #%quoteId%: \"%quote%\". Bestätige mit !delquote-confirm %quoteId%"
└── Break (kein Delete!)

Plus separater !delquote-confirm Command der den tatsächlichen Delete macht. Verhindert Versehentlich-Löschen.

Häufige Fallen

  • ID falsch geraten — wenn Mod ID 41 löscht statt 42, ist die falsche weg. Empfehlung: vor Delete erst !quote 42 machen um zu sehen welche es ist
  • Re-Index Trigger durch Spam — wenn jemand viele Quotes hintereinander löscht, IDs werden lückig. Bei Bedarf manuell re-indexieren
  • Quote schon weg — wenn zwei Mods gleichzeitig die gleiche ID löschen, kriegt einer success = true, der andere false mit Error. Cooldown 5s minimiert das

Quellen