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 out —
unbanResult/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