Repository navigation
Releases: aaskjer/Slot-Machine-Game
Releases · aaskjer/Slot-Machine-Game
Release list
Bugfixes, QoL, Reworked mechanics
✨Added
- The Streamer.bot log says when a Twitch chat command did nothing because the slot machine is set to channel points. A debug line does the same for a redemption left alone while it's set to the chat command.
🔧Changed
- Every platform plays. The Twitch, YouTube and Kick switches are gone; which platforms can spin is set on the command in Streamer.bot, e.g. by unticking
Kick Message. Settings that switched a platform off no longer keep it out. - Channel points work as in Classic Chat Gamble. In Reward cost and Fixed mode the channel points are the stake, so a loss takes no points and adds nothing to the Jackpool, while a win is paid in points. Typed amount bets the viewer's own points.
- Channel points switch the chat command off on Twitch only. YouTube and Kick keep spinning with it, and saving warns about a Default bet that would refuse those spins.
- Minimum and Maximum bet apply to Typed amount and Fixed mode.
- Without a Reward ID, no redemption starts a spin and other rewards are left alone; saving like that says so.
- Channel points Free mode uses the Free messages.
- "Send as /me" is marked Twitch only, and the chat preview shows YouTube and Kick as the plain chat they get.
- Chat calls the jackpot pool the Jackpool; default texts nobody edited switch over by themselves.
- Cooldown messages fill in
{user}, round the seconds up and no longer fail on a stray brace. - Each line of a message goes out as a chat message of its own, and Twitch and Kick split at 500 characters instead of 200.
- The settings window opens at once; the Update pill appears as soon as GitHub answers.
- Reset keeps the light or dark theme.
- Clearer texts in the settings window and the log, and a reworked Setup Guide, FAQ and README.
🐛Fixed
- The import works wherever Streamer.bot is installed: every Windows reference is absolute, so
Find Refsis no longer needed. - The jackpot message no longer counts the Jackpool twice:
{amount}is the win without the pool. - A balance that can't be read stops the spin instead of being overwritten, and a redemption is refunded.
- A redemption that can't spin for lack of emotes is refunded instead of fulfilled.
- With a damaged settings file, the game plays with the
.bak, or not at all, instead of silently without emotes. - A Reward cost redemption that arrives without its cost is refunded instead of played for 0.
- Free spins never win the Jackpool.
- The addicted-viewer texts no longer promise a doubled cooldown.
Important
- YouTube and Kick now play. Before v15.0.0 they were switched off by default. To keep one out, open the command
[SMG] - Play Slotsand untick its source (YouTube MessageorKick Message). - After importing, check that the command
[SMG] - Play Slotsis switched on: it arrives switched off. - No more
Find Refs: the import works wherever Streamer.bot is installed.
The Setup Guide walks through everything step by step.
New GUI and more!
✨Added
- Completely reworked GUI.
- The Emotes page now shows each emote's picture next to its name.
- Kick emotes are found by their ID, and the Twitch default emotes by their Twitch ID.
- Other Twitch emotes are looked up by their chat code: Twitch first, then 7TV, BTTV and FFZ.
- 7TV, BTTV and FFZ emotes are marked with their source, plus a note that only viewers with that extension see them.
- The Messages preview notes when a message can never be sent, e.g. Loss when there are fewer emotes per spin than slots.
🔧Changed
- Default Twitch emotes are Twitch globals only:
NotLikeThis,SeemsGoodandKreygasmreplacemonkaS,EZandClap. - Opening the settings while they're already open brings that window to the front instead of opening a second one.
- Whole-number fields accept only the digits 0–9; spaces are ignored, so "1 0" is 10.
🐛Fixed
- Saving a Default bet or Fixed bet that can't work (0, below Minimum, above Maximum) saves anyway and says why, once.
- A very large Rerolls value with fewer emotes than slots no longer freezes the settings window or hangs a spin.
half,third,quarterandrandomno longer fail with a balance above 2,147,483,647.- A refund that Twitch refuses is no longer announced in chat; it's logged as a warning instead.
- A settings file that is in use or can't be written is no longer treated as damaged: the window says why and changes nothing.
- Full-width digits and digits from other scripts no longer save as 2,147,483,647.
Important
Import should be fine i found a workaround that should ease the whole import hassle for you guys. But in case the game won't work or GUI won't show up for you: To get everything to work, you need to go into each action, expand No Touchy! , open Execute Code, press Find Refs at the bottom left and hit OK in all actions!
Channel Points Redemption update
- Channel Points refund logic — redemptions that don't result in a gamble now automatically get refunded instead of silently taking the viewer's points.
- Refunds trigger on: platform disabled, blocked user/group, cooldown active, or an invalid bet amount.
- New "Refund Failed Redemptions" toggle on the Channel Points tab (on by default).
- New "Redemption Refunded" chat message, sent to the viewer when a refund goes through.
- Successful redemptions are now also marked fulfilled, so they don't pile up in the reward request queue.
First GitHub Release
This is the first time the Slot Machine Game scripts are being published to GitHub. Kept version number for continuity.
Added
- Addicted List — a new way to flag specific users or whole Streamer.bot groups (
Addicted Users/Addicted Groups, Game tab) whose winnings get penalized:- Their win/jackpot payout is reduced by a configurable Addicted Payout Cut (default 50%, capped at 99% so a win can never flip into a net loss).
- If a User Cooldown is configured, addicted users always wait twice as long between spins as everyone else (tracked independently of Streamer.bot's own per-command cooldown, since that API only supports one shared duration for all users).
- Addicted users' losses never contribute to the jackpot pool, so they can't grow it hoping to win it back later.
- Comes with its own dedicated chat messages —
AddictedWinMessage,AddictedLossMessage,AddictedJackpotMessage— including an{addictedCutPercent}placeholder and "Addiction Fee" wording, distinct from the normal Win/Loss/Jackpot messages. - The Game tab's Live Preview panel gained a 5th row (🎯 Addicted) that recalculates live to show the actual payout range an addicted user would receive.
- The Game tab's Live Preview panel got completely reworked to match a distinct look.
- Free Game messages —
FreeGameWinMessage,FreeGameLossMessage,FreeGameJackpotMessageare now actually used by the runtime script during Free Mode spins (they existed in the settings GUI before but were never wired into the game logic, so Free Mode silently fell back to the normal paid messages). {jackpot}...{/jackpot}conditional message syntax — any text wrapped in these tags in the Win/Loss/Jackpot templates is automatically stripped whenever theJackpot Poolis disabled, instead of leaving broken half-filled sentences behind (e.g. "got added to the jackpot pool of now Points!" with no number).- Daily log rotation — the action log now writes to
SMG-log-yyyy-MM-dd.txt, rolling over to a new file every day instead of one single file that grows forever. The Action-Log tab transparently merges every day's file (plus the old undated log) into one browsable table.
Changed
- Match Payout %, Allow Match/Jackpot Chance %, Subscriber/VIP Boost %, and Addicted Payout Cut % fields now reject non-numeric keystrokes and pasted text, matching the protection integer fields already had. Addicted Payout Cut also snaps back to its clamped value on focus-loss instead of silently keeping an out-of-range number.
- Sub-tab labels (Messages / Cooldown / Twitch Channel Points / Action-Log) switched from a too-dim gray to a readable shade.
!slots quarter/viertelbet alias relabeled from15%to25%to match what it's actually always computed (was mislabeled, not miscalculated).- New modern and more colorful GUI design with light/dark theme
- An action-log to see past spins, payouts, etc.
Fixed
- Emote Weight field (Platform Emotes tab) never had any input filtering at all and silently accepted letters; now digit-only like every other numeric field.
!slots randomcould throw an unhandled exception for users with a balance below the configured minimum bet; now falls back cleanly to existing bet validation instead of silently failing.- Removed redundant
new Random()instantiations (bet randomizer, emote-pool shuffle) in favor of the shared instance, eliminating a seed-collision edge case where near-simultaneous spins could produce correlated "random" results. - Compile error
CS0103: The name 'Regex' does not exist in the current context— restored a missingusing System.Text.RegularExpressions;.