!allowlinks
Whitelistet einen User für 60 Sekunden, sodass ein Anti-Link-Filter ihn ignoriert. Setzt User-Persisted-Global mit Expire-Timestamp.
1 Set Argument: Target säubern
Core ›Arguments ›Set Argument | Variable Name | targetLogin |
| Value | $replace(%input0%, @, )$ |
| Input | %targetLogin% |
| Operation | Is Null or Empty |
2a Then Send Message to Channel
Twitch ›Chat ›Send Message to Channel | Message | @%user% nutze !permit @username [seconds] |
Stoppt die laufende Action. Alle folgenden Sub-Actions in derselben Action werden übersprungen.
3 Set Argument: Duration mit Default
Core ›Arguments ›Set Argument Default 60 Sekunden, sonst %input1%.
| Variable Name | permitSeconds |
| Value | %input1% |
| Input | %permitSeconds% |
| Operation | Is Null or Empty |
4a Then Set Argument: Default 60s
Core ›Arguments ›Set Argument | Variable Name | permitSeconds |
| Value | 60 |
5 Get User Info for Target
Twitch ›User ›Get User Info for Target
6 Set Global. Permit-Until
Core ›Globals ›Global (Set) Speichert Unix-Timestamp (jetzt + Duration) als Expire-Marker.
| Global Name | permitUntil |
| Value | $add(%epoch%, %permitSeconds%)$ |
| Source | User (Login %targetLogin%) |
| Persisted | aktiv |
7 Send Message to Channel
Twitch ›Chat ›Send Message to Channel | Message | ✅ @%targetUser% darf für %permitSeconds%s Links posten. |
A AzaBot: ✅ @TargetUser darf für 60s Links posten.
↑ So sieht's im Chat aus
Trigger: Twitch Message empfangen. Sub-Actions:
- If/Else:
%messageStripped% Regex Match https?:// → wenn nicht: Break.
- If/Else:
%userType% Equals Moderator → wenn ja: Break.
- Get Global: Variable
permitUntil (Source: User (Sender), Persisted) → userPermitUntil.
- If/Else:
%userPermitUntil% Greater Than or Equal %epoch% → wenn ja: Break (Permit aktiv).
- Delete Message:
%messageId%.
- Send Message: „@%user% bitte erst per !permit erlauben lassen, dann Link posten.“
-
1 Set Argument: targetLogin = $replace(...) -
2 If/Else: %targetLogin% Is Null or Empty
-
Then 2a Send Message: Hilfe -
-
3 Set Argument: permitSeconds = %input1% -
4 If/Else: %permitSeconds% Is Null or Empty
-
Then 4a Set Argument: permitSeconds = 60
-
5 Get User Info for Target -
6 Set Global (User %targetLogin%, Persisted): permitUntil = %epoch% + %permitSeconds% -
7 Send Message: ✅ Permit aktiv
| Feld | Wert |
|---|
| Name | !permit |
| Commands | !permit
!allowlinks |
| User Cooldown | 5 |
| Grant Type | Allow |
| Groups | Moderators |
| Chat | Resultat |
|---|
!permit @alice | 60s Permit für Alice |
!permit @alice 120 | 120s Permit für Alice |
!permit | Hilfe-Text |
- Anti-Link-Filter fehlt: Permit-Set tut nichts wenn keiner darauf checkt.
%epoch%: Liefert Unix-Seconds: siehe Streamer.bot Argument-Reference.
- Multi-Permit: Bei mehrfach
!permit @alice wird der späteste Timestamp gespeichert (länger).
- Cancel-Permit:
!unpermit @user → Set Global mit %epoch% (= sofort abgelaufen).
- Permit-Liste:
!permits listet aktive Permits via Loop über User-Globals.