Command: !timeout (Mod-Only)
Temporärer Timeout. !timeout @user 30 = 30 Sekunden Chat-Sperre. Mods werden nach Ablauf automatisch wieder Mod.
Voraussetzung: Mod-Permissions
Patterns: Set Argument + If/Else + Timeout User + Send Message
Sub-Actions: 6-8
Action: [Cmd] !timeout
Sub-Action 1: Set Argument — Target
| Feld |
Wert |
| Variable Name |
targetLogin |
| Value |
$replace(%input0%, @, )$ |
Sub-Action 2: If/Else — Target leer
| Feld |
Wert |
| Input |
%targetLogin% |
| Operation |
Is Null or Empty |
Then: Send Message + Break.
| Feld |
Wert |
| Message |
@%user% nutze !timeout @user [sekunden] [grund] |
Sub-Action 3: Set Argument — Duration
%input1% ist die Dauer in Sekunden.
| Feld |
Wert |
| Variable Name |
duration |
| Value |
%input1% |
Sub-Action 4: If/Else — Duration leer / kein Zahl
| Feld |
Wert |
| Input |
%duration% |
| Operation |
Is Null or Empty |
Then: Set Argument duration = 600 (Default = 10 Minuten).
Sub-Action 5: Set Argument — Reason
| Feld |
Wert |
| Variable Name |
reason |
| Value |
$replace(%rawInput%, %input0% %input1%, )$ |
Strippt Target und Duration aus rawInput, übrig bleibt der Rest = Reason.
6. If/Else: %reason% Is Null or Empty
└─ Set Argument: reason = "via !timeout von %userName%"
Sub-Action 6: Timeout User
Pfad: Twitch → Moderation → Timeout User
| Feld |
Wert |
| User Login |
%targetLogin% |
| Duration |
%duration% |
| Reason |
%reason% |
Setzt:
| Variable |
Inhalt |
%timeoutResult% |
bool |
%timedOutUser% |
Display Name |
%timedOutUserName% |
Login |
Sub-Action 7: If/Else — Fehlgeschlagen
7. If/Else: %timeoutResult% Equals false
├── Send Message: "@%user% Timeout hat nicht geklappt."
└── Break
Sub-Action 8: Send Message — Erfolg
| Feld |
Wert |
| Message |
⏱️ @%timedOutUser% — %duration%s Timeout. Reason: %reason% |
| Send using bot account |
aktiv |
Action-Tree
[Cmd] !timeout
├── 1. Set Argument: targetLogin = $replace(%input0%, @, )$
├── 2. If/Else: %targetLogin% Is Null or Empty
│ ├── Send Message: "@%user% nutze !timeout @user [sekunden] [grund]"
│ └── Break
├── 3. Set Argument: duration = %input1%
├── 4. If/Else: %duration% Is Null or Empty
│ └── Set Argument: duration = 600
├── 5. Set Argument: reason = $replace(%rawInput%, %input0% %input1%, )$
├── 6. If/Else: %reason% Is Null or Empty
│ └── Set Argument: reason = "via !timeout von %userName%"
├── 7. Timeout User (Login = %targetLogin%, Duration = %duration%, Reason = %reason%)
├── 8. If/Else: %timeoutResult% Equals false
│ ├── Send Message: "@%user% Timeout hat nicht geklappt."
│ └── Break
└── 9. Send Message: "⏱️ @%timedOutUser% — %duration%s Timeout. Reason: %reason%"
Command-Einstellungen
| Feld |
Wert |
| Name |
!timeout — Mod Timeout |
| Group |
AzaCraft Mod |
| Commands |
!timeout
!to |
| Location |
Start |
| Sources |
Twitch Message |
| Global Cooldown |
0 |
| User Cooldown |
5 |
| Grant Type |
Allow |
| Groups |
Moderators |
Duration-Werte (Sekunden)
| Dauer |
Wert |
| 5 Min |
300 |
| 10 Min |
600 (Default) |
| 30 Min |
1800 |
| 1 Stunde |
3600 |
| 1 Tag |
86400 |
| Permanent (de-facto Ban) |
0 |
Twitch-Max: 14 Tage = 1209600.
Verwendungsbeispiele
| Chat |
Resultat |
!timeout @troll 30 spam |
30s, Reason "spam" |
!to @troll 600 |
10 Min, Default-Reason |
!timeout @troll |
Default 10 Min, Default-Reason |
!timeout @troll 0 schwerwiegend |
Permanent (wie Ban) |
!to |
Hilfe-Message |
Erweiterung: Quick-Aliase für Standard-Durationen
Statt jedes Mal Sekunden tippen, Shortcut-Commands:
| Command |
Was er macht |
!to30 @user [grund] |
30 Sekunden |
!to10m @user [grund] |
10 Minuten |
!to1h @user [grund] |
1 Stunde |
!to24h @user [grund] |
24 Stunden |
Pro Variante eine eigene Command-Action. Variable duration fest im Action-Argument setzen.
Häufige Fallen
- Duration als String statt Zahl — bei
%duration% = "30s" (mit Buchstaben) schlägt's fehl. Wir parsen nur Zahlen
- Mod-Mod-Timeout — Mod wird kurz unmoded, nach Ablauf automatisch remoded. Wird in Logs als "Mod removed" und "Mod added" geloggt
- Duration > 14 Tage — Twitch nimmt's nicht an.
timeoutResult = false
- Eigene Logik selbst-loggen — Timeout-Events gehen in Twitch-Mod-Log, aber nicht in dein eigenes Audit. Optional separat in File schreiben
Quellen