Zum Inhalt

Command: !advice / !fortune (Random Line aus File)

Random-Sprüche aus einer Text-Datei. Schneller einfacher als das eingebaute Quote-System wenn du eine kuratierte Spruch-Sammlung in einer TXT pflegst.

Patterns: Read Random Line From File + Send Message Sub-Actions: 3

Text-Datei vorbereiten

Lege eine TXT-Datei an, z.B. C:\sb-data\advice.txt:

Trink mehr Wasser.
Atme tief durch wenn du frustriert bist.
Streck dich alle 30 Minuten.
Das Tutorial ist da aus einem Grund.
Speicher öfter.
Spiel auf deiner Skill-Stufe, nicht über.
Pause machen ist kein Versagen.
Die Welt geht nicht unter wenn du verlierst.
Versuch nicht alles gleichzeitig zu lernen.
Kleine Schritte > große Sprünge.

Jede Zeile = ein Spruch. Beliebig erweiterbar.

Action: [Cmd] !advice

Sub-Action 1: Read Random Line From File

Pfad: Core → File I/O → Read Random Line From File

Feld Wert
File to read from C:\sb-data\advice.txt
Variable Name line (default)
Parse Variables aus
Attempt auto-typing aus
Count 1

Setzt:

Variable Inhalt
%fileFound% bool
%randomLine% Random gewählte Zeile (oder %line% wenn so benannt)
%randomLineNumber% Zeilennummer (0-basiert)

Sub-Action 2: If/Else — File nicht da

2. If/Else: %fileFound% Equals false
   ├── Send Message: "@%user% Advice-File nicht gefunden."
   └── Break

Sub-Action 3: Send Message

Feld Wert
Message 💡 @%user% — %randomLine%
Send using bot account aktiv

Action-Tree

[Cmd] !advice
├── 1. Read Random Line From File: C:\sb-data\advice.txt
├── 2. If/Else: %fileFound% Equals false
│   ├── Send Message: "@%user% Advice-File nicht gefunden."
│   └── Break
└── 3. Send Message: "💡 @%user% — %randomLine%"

Command-Einstellungen

Feld Wert
Name !advice
Group AzaCraft File
Commands !advice
!fortune
!tipp
Sources Twitch Message
Global Cooldown 0
User Cooldown 30

Verwendungsbeispiele

Chat Resultat
!advice "💡 @user — Trink mehr Wasser."
!fortune "💡 @user — Pause machen ist kein Versagen."

Variante: Mehrere Lines auf einmal

Count höher setzen für Mehrfach-Picks:

Feld Wert
Count 3

Setzt: %randomLine%, %randomLine1%, %randomLine2%.

Use-Case: "3 zufällige Game-Tipps":

Send Message: "Tipp 1: %randomLine% | Tipp 2: %randomLine1% | Tipp 3: %randomLine2%"

Variante: Parsing-Variablen in der Datei

Wenn deine Sprüche selbst Variablen enthalten:

advice.txt:

@%user% sollte mehr Wasser trinken.
Hey %userName%, atme tief durch.
%user%, mach mal Pause.

Toggle Parse Variables = ✅ → SB ersetzt %user% etc. in der gelesenen Zeile zur Laufzeit. Personalisierte Ausgaben ohne separate Logic.

Variante: Kategorien per Subordner

Statt einer Datei mehrere themed Files:

  • C:\sb-data\advice-gaming.txt
  • C:\sb-data\advice-life.txt
  • C:\sb-data\advice-coding.txt
[Cmd] !advice
├── 1. If/Else: %input0% Equals (Ignore Case) gaming
│   ├── Read Random Line From File: advice-gaming.txt
│   ├── Send Message: "🎮 %randomLine%"
│   └── Break
├── 2. If/Else: %input0% Equals (Ignore Case) life
│   ├── Read Random Line From File: advice-life.txt
│   ├── Send Message: "🌱 %randomLine%"
│   └── Break
├── 3. Read Random Line From File: advice-life.txt   (Default)
└── 4. Send Message: "💡 %randomLine%"

Verwendung: !advice gaming, !advice life, !advice (Default).

Variante: Read Specific Line

Wenn du eine spezifische Zeile willst (z.B. Nummer von User-Input):

Pfad: Core → File I/O → Read Specific Line From File

[Cmd] !rule
├── 1. Read Specific Line From File:
│      File: C:\sb-data\rules.txt
│      Line Number: %input0%
│      Variable Name: rule
├── 2. If/Else: %rule% Is Null or Empty
│   ├── Send Message: "@%user% Regel %input0% existiert nicht."
│   └── Break
└── 3. Send Message: "📜 Regel %input0%: %rule%"

User schreibt !rule 3 → liest Zeile 3 aus rules.txt.

File pflegen während Stream

Du kannst die TXT-Datei live editieren mit Notepad — SB liest immer den aktuellen Stand. Keine SB-Restart nötig.

Häufige Fallen

  • Pfad-TippfehlerfileFound = false. Mit Notepad öffnen ob's der richtige Pfad ist
  • Leere Zeilen in der Datei — werden auch random gewählt (gibt leeren Output). Optional Filter:
    3. If/Else: %randomLine% Is Null or Empty
       └── Run Action: !advice (Immediately ❌)   ← retry
    
  • Encoding-Issues — Notepad speichert default als UTF-8. Wenn Emojis falsch dargestellt: BOM oder Encoding prüfen
  • Variable-Parse aktiv ohne Variablen in File — kein Problem, SB lässt unbekannte %foo% als String stehen

Quellen