Skip to content

Viewer values, chat games, your values and channel points rewards - #77

Merged
Soulhackzlol merged 1 commit into
mainfrom
feat/chat-economy
Oct 12, 2026
Merged

Soulhackzlol merged 1 commit into
mainfrom
feat/chat-economy

Conversation

@Soulhackzlol

Copy link
Copy Markdown
Owner

What this adds

Everything a chat economy needs, as general steps anyone can build with. No recipe or game is bundled with the app.

  • Viewer value step: a number per viewer (give, take, spend, set), read as {viewer.x}, {target.x}, .rank and {top.x}. It can pay everyone who chatted lately, or a viewer the step names.
  • Maths step, a "% chance" check, Wait for chat, and blocks (a trigger other triggers run by name; a block may run itself).
  • Remember a value can keep text between runs ({saved.x}); Stop can leave a run out of the history.
  • Cooldown answers for chat commands ({cooldown_left}), and cooldowns of 10 minutes or more survive a restart.
  • Your values: named settings read as {my.x} anywhere, edited on one screen (sliders for chances, one-per-line lists), with a tab for what viewers hold. Recipes carry the values they use.
  • Channel points: make, edit, switch and delete rewards from a redeem trigger, tick which rewards start it, and a step that switches one on or off.
  • Whole-word matching for chat message triggers, with live examples and a "Try a message" box.
  • Test runs start from given counter and viewer values and save nothing.

Behaviour changes

  • {counter.name} is read as it is at that moment, not as an earlier step of the same run left it.
  • A Twitch login now also asks for channel:manage:redemptions. Existing logins keep hearing redemptions; managing rewards asks for a new login.
  • New chat message triggers start with "Has the word"; existing ones keep "Contains".

Testing

  • 902 unit tests, 60 dashboard script tests, clippy and fmt clean.
  • Live on the test channel in real Twitch chat: every command of a full economy recipe (wallet, coin flip, dice, slots, blackjack, duels, robbing, a timed money bag), cooldown answers, balances and cooldowns across a restart, the timed drop while streaming, and misses staying out of the history.
  • Channel points: creating and listing a reward and hearing a redemption were checked by hand on an Affiliate channel; the refusal on a channel without channel points was checked too. Editing a reward's name or cost through the new form was not exercised against Twitch.
  • Not exercised live: follows, subs, bits and raids paying out (they share the payout step with the rest).

…l points rewards

What a chat economy needs, as general steps:

- Viewer value step: a number per viewer (give, take, spend, set), read as
  {viewer.x}, {target.x}, .rank and {top.x}; can pay recent chatters or a
  named viewer. Kept in the data file.
- Maths step, a "% chance" check, Wait for chat, and blocks (a trigger
  other triggers run by name, which may run itself).
- Remember a value can keep text between runs ({saved.x}); Stop can leave
  a run out of the history.
- Chat commands can answer a viewer who is too early ({cooldown_left});
  cooldowns of 10 minutes or more survive a restart.
- Your values: named settings read as {my.x} anywhere, edited on one
  screen with what viewers hold, and carried by recipes. Counting words
  take them as $my.x.
- Channel points: make, edit, switch and delete rewards from a redeem
  trigger, tick which rewards start it, and a step that switches one.
  Logins now ask for channel:manage:redemptions as well.
- Chat message triggers can match whole words, with live examples and a
  "Try a message" box.
- Test runs start from given counter and viewer values and save nothing.
- Twitch events carry user_login; chat commands carry target_login.

Counters are now read live during a run, not as an earlier step left
them. The builder ignores a click on a step still fading out after a
switch of trigger.
@Soulhackzlol
Soulhackzlol merged commit be6a8a8 into main Oct 12, 2026
6 checks passed
@Soulhackzlol
Soulhackzlol deleted the feat/chat-economy branch October 12, 2026 18:23
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant