!heirat · !ring
Heiratet einen Target. Speichert die Ehe in User-Persisted-Global pro Sender.
Nutzt das User-Persisted-Global-Pattern (Variable spouse pro Sender): siehe Globals zum Konzept. Wer schon verheiratet ist, kriegt einen Hinweis statt einer zweiten Hochzeit. Verbindet sich mit !divorce .
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 !marry @username
Stoppt die laufende Action. Alle folgenden Sub-Actions in derselben Action werden übersprungen.
3 Get User Global: eigener Spouse Core › Globals › Global (Get) Liest die Variable "spouse" aus dem User (Sender) Persisted Global.
Variable Name currentSpouse Global Name spouse Source User (Sender) Persisted aktiv
4 If/Else: Schon verheiratet Input %currentSpouse% Operation Is Not Null or Empty
4a Then Send Message to Channel Twitch › Chat › Send Message to Channel Message @%user% du bist bereits mit @%currentSpouse% verheiratet. Erst !divorce.
Stoppt die laufende Action. Alle folgenden Sub-Actions in derselben Action werden übersprungen.
5 Get User Info for Target Twitch › User › Get User Info for Target
Input %targetUserName% Operation Equals (Ignore Case) Value %userName%
6a Then Send Message to Channel Twitch › Chat › Send Message to Channel Message @%user% Self-Love ist wichtig, aber Heiraten? Nein.
Stoppt die laufende Action. Alle folgenden Sub-Actions in derselben Action werden übersprungen.
7 Set Global. Spouse setzen Core › Globals › Global (Set) Speichert den Target-Display unter "spouse" im Sender-Persisted-Global.
Global Name spouse Value %targetUser% Source User (Sender) Persisted aktiv
8 Send Message: Hochzeit verkünden Twitch › Chat › Send Message to Channel Message 💍 @%user% und @%targetUser% sind jetzt verheiratet! Möge die Ehe ewig halten: oder bis !divorce.
A AzaBot : 💍 @Sender und @TargetUser sind jetzt verheiratet! Möge die Ehe ewig halten: oder bis !divorce.
↑ So sieht's im Chat aus
1 Set Argument: targetLogin = $replace(...) 2 If/Else: %targetLogin% Is Null or Empty
Then 2a Send Message: Hilfe 3 Get Global (User Sender, Persisted): spouse → currentSpouse 4 If/Else: %currentSpouse% Is Not Null or Empty
Then 4a Send Message: schon verheiratet 5 Get User Info for Target 6 If/Else: %targetUserName% Equals (Ignore Case) %userName%
Then 6a Send Message: kein Self-Marry 7 Set Global (User Sender, Persisted): spouse = %targetUser% 8 Send Message: 💍 Hochzeit verkündet
Feld Wert Name !marryCommands !marry!heirat!ringUser Cooldown 60
Beide Seiten? Aktuelle Action speichert nur Sender → Target. Beide Wege wäre zusätzliches Set Global auf Target-User mit spouse = %userName%. Dann ist % spouse% Argument %spouse% Persisted Global pro User, hält den Display-Name des Partners.
Variablen-Doku auf beiden Seiten gesetzt.
Bei !divorce: Nur Sender-Side wird gelöscht. Wer 1-Way-Marry baut, hat asymmetrische Daten: daher empfehlen wir 2-Way.
Zwischen-Hand: Spouse-Variable nur in User-Persisted (nicht Global): sonst überschreibt jede Hochzeit die einer anderen Person.
2-Way-Marry: Zwei Set Global-Steps (einer auf Sender, einer auf Target via Source: User (target)).
Hochzeitsdatum speichern: weddingDate als zweiter User-Persisted-Global mit %timestamp%: Anniversary-Notification.
Polygamie-Erlaubnis: Spouse als JSON-Array statt String, multi-Marry erlauben.
!marriages Leaderboard: Top-Couples via Loop über User-Globals.
Import-String folgt
Die Action ist 1:1 nach Anleitung oben nachbaubar.