Zum Inhalt springen
  • Dunkel
  • Hell
  • System

!marry

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.

Set Argument: Target säubern

Core Arguments Set Argument
Variable Name targetLogin
Value $replace(%input0%, @, )$

If/Else: Kein Target

Core Logic If/Else
Input %targetLogin%
Operation Is Null or Empty
Then

Send Message to Channel

Twitch Chat Send Message to Channel
Message @%user% nutze !marry @username
Then

Break

Core Logic Break

Stoppt die laufende Action. Alle folgenden Sub-Actions in derselben Action werden übersprungen.

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

If/Else: Schon verheiratet

Core Logic If/Else
Input %currentSpouse%
Operation Is Not Null or Empty
Then

Send Message to Channel

Twitch Chat Send Message to Channel
Message @%user% du bist bereits mit @%currentSpouse% verheiratet. Erst !divorce.
Then

Break

Core Logic Break

Stoppt die laufende Action. Alle folgenden Sub-Actions in derselben Action werden übersprungen.

Get User Info for Target

Twitch User Get User Info for Target
User Login %targetLogin%

If/Else: Self-Marry

Core Logic If/Else
Input %targetUserName%
Operation Equals (Ignore Case)
Value %userName%
Then

Send Message to Channel

Twitch Chat Send Message to Channel
Message @%user% Self-Love ist wichtig, aber Heiraten? Nein.
Then

Break

Core Logic Break

Stoppt die laufende Action. Alle folgenden Sub-Actions in derselben Action werden übersprungen.

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

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.
AzaBot: 💍 @Sender und @TargetUser sind jetzt verheiratet! Möge die Ehe ewig halten: oder bis !divorce.
So sieht's im Chat aus
  1. 1 Set Argument: targetLogin = $replace(...)
  2. 2 If/Else: %targetLogin% Is Null or Empty
    1. Then 2a Send Message: Hilfe
    2. Then 2b Break
  3. 3 Get Global (User Sender, Persisted): spouse → currentSpouse
  4. 4 If/Else: %currentSpouse% Is Not Null or Empty
    1. Then 4a Send Message: schon verheiratet
    2. Then 4b Break
  5. 5 Get User Info for Target
  6. 6 If/Else: %targetUserName% Equals (Ignore Case) %userName%
    1. Then 6a Send Message: kein Self-Marry
    2. Then 6b Break
  7. 7 Set Global (User Sender, Persisted): spouse = %targetUser%
  8. 8 Send Message: 💍 Hochzeit verkündet
FeldWert
Name!marry
Commands!marry
!heirat
!ring
User Cooldown60
  • Beide Seiten? Aktuelle Action speichert nur Sender → Target. Beide Wege wäre zusätzliches Set Global auf Target-User mit spouse = %userName%. Dann ist 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.