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":
Variante: Parsing-Variablen in der Datei¶
Wenn deine Sprüche selbst Variablen enthalten:
advice.txt:
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.txtC:\sb-data\advice-life.txtC:\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-Tippfehler —
fileFound = 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:
- 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¶
- Read Random Line From File: https://docs.streamer.bot/api/sub-actions/core/file-io/read-random-line-from-file
- Read Specific Line From File: https://docs.streamer.bot/api/sub-actions/core/file-io/read-specific-line-from-file