Zum Inhalt

Command: !unban / !untimeout (Mod-Only)

Hebt einen Ban oder Timeout auf. Zwei separate Commands weil Twitch unterschiedlich behandelt.

Voraussetzung: Mod-Permissions Patterns: Set Argument + If/Else + Unban User / UnTimeout User Sub-Actions: 4-5 pro Command

Action A: [Cmd] !unban

Sub-Action 1: Set Argument — Target

Feld Wert
Variable Name targetLogin
Value $replace(%input0%, @, )$

Sub-Action 2: If/Else — Target leer

If/Else: %targetLogin% Is Null or Empty
├── Send Message: "@%user% nutze !unban @username"
└── Break

Sub-Action 3: Unban User

Pfad: Twitch → Moderation → Unban User

Feld Wert
User Login %targetLogin%

Setzt:

Variable Inhalt
%unbanResult% bool
%unbannedUser% Display Name
%unbannedUserName% Login

Sub-Action 4: If/Else — Erfolg

If/Else: %unbanResult% Equals false
├── Send Message: "@%user% Unban hat nicht geklappt — User nicht gebannt?"
└── Break

Sub-Action 5: Send Message

Feld Wert
Message ✅ @%unbannedUser% wurde entbannt.

Action-Tree !unban

[Cmd] !unban
├── 1. Set Argument: targetLogin = $replace(%input0%, @, )$
├── 2. If/Else: %targetLogin% Is Null or Empty
│   ├── Send Message: "@%user% nutze !unban @username"
│   └── Break
├── 3. Unban User
├── 4. If/Else: %unbanResult% Equals false
│   ├── Send Message: "@%user% Unban hat nicht geklappt..."
│   └── Break
└── 5. Send Message: "✅ @%unbannedUser% wurde entbannt."

Action B: [Cmd] !untimeout

Gleicher Aufbau, andere Sub-Action.

Sub-Action 3: UnTimeout User

Pfad: Twitch → Moderation → UnTimeout User

Feld Wert
User Login %targetLogin%

Setzt %untimeoutResult% (bool).

Send Message

Feld Wert
Message ✅ @%targetLogin% Timeout aufgehoben.

Command-Einstellungen (beide identisch)

Feld Wert
Group AzaCraft Mod
Commands !unban für Action A, !untimeout (oder !unto) für Action B
Sources Twitch Message
Global Cooldown 0
User Cooldown 5
Grant Type Allow
Groups Moderators

Verwendungsbeispiele

Chat Wer Resultat
!unban @reformedtroll Mod Ban aufgehoben
!untimeout @bob Mod Bob darf wieder chatten
!unban Mod Hilfe-Message
!unban @bob Normaler User Permission blockt

Combined Command (optional)

Wenn du EINEN Command für beides willst, lass !unban auch UnTimeout machen — Twitch unterscheidet aber zwischen Ban und Timeout. Versuch beides nacheinander:

Action: [Cmd] !unban-or-untimeout

1. Set Argument: targetLogin = $replace(%input0%, @, )$
2. If/Else: %targetLogin% Is Null or Empty → Hilfe + Break
3. Unban User
4. If/Else: %unbanResult% Equals true
   ├── Send Message: "✅ @%unbannedUser% entbannt."
   └── Break
5. UnTimeout User
6. If/Else: %untimeoutResult% Equals true
   ├── Send Message: "✅ @%targetLogin% Timeout aufgehoben."
   └── Break
7. Send Message: "@%user% hat weder Ban noch Timeout gefunden."

Vorteil: Mod muss sich nicht merken ob Ban oder Timeout. Nachteil: API-Calls etwas teurer (zwei Versuche).

Häufige Fallen

  • User nie gebannt/timed outunbanResult/untimeoutResult = false, keine schwerwiegende Fehler aber Nachricht "hat nicht geklappt". User muss verstehen warum
  • Mod-Status nach Unban — wenn der gebannte User vorher Mod war, kommt der Mod-Status NICHT automatisch zurück bei Unban (nur bei Timeout). Manuell remoden mit Twitch → Moderation → Add Moderator
  • Race-Condition — sehr schnell hintereinander Unban und Ban kann zu inkonsistentem State führen. Cooldown 5s wirkt

Quellen