v2.5.6 Release Notes
The casino has been rebuilt. Roulette and baccarat join the line-up, the slots move to five reels and twenty lines, and every game now reports its result as a picture of the table or the reels. There's also a jackpot that builds up across the whole server, along with stats and leaderboards. Alongside that, a summary command that condenses a channel's conversation, per-member control over who may use a command, and a much larger set of details you can pull out of variables. In the dashboard, global search and the sidebar have been rebuilt, and every settings page now follows the same layout. The servers running your bots have moved to Japan.

|
|
Published: September 4, 2026BotShade has been updated to v2.5.6. This release centres on a rebuilt casino.
Roulette and baccarat join the line-up, and the slots have been rebuilt around five reels and twenty lines. Results now arrive not just as text but as pictures of the table and the reels. There’s also a jackpot that builds up across the whole server, and stats and profit leaderboards for each game.
Alongside that, we’ve added a summary command that condenses a channel’s conversation, settings that let you allow or deny a command per member, and a much larger set of details you can pull out of variables.
In the dashboard, global search and the sidebar have been rebuilt, and the settings pages that varied from feature to feature now all follow the same layout. The servers running your bots have moved to Japan.
Table of contents:
- Highlights
- The casino has been rebuilt
- Summarise a channel’s conversation
- Finer control over custom commands
- The dashboard has been rebuilt
- The servers running your bots have moved to Japan
- Changes to how bots run
- Bug fixes
- Performance
- Compatibility
- Support and community
Highlights
- European roulette (
/casino roulette) and baccarat (/casino baccarat) have been added. - The slots have been rebuilt around 5 reels × 3 rows and 20 lines, with a revised payout table.
- The old Nibuichi game is now coin flip (
/casino coinflip), and has become a streak game where the multiplier builds with every correct call. - Every casino game now reports its result as a picture of the table, the reels, or the board.
- A jackpot that builds up across the whole casino has been added. Landing five 7️⃣ on the slots pays out the entire amount.
- You can now check your stats (
/casino stats) and the profit leaderboard (/casino leaderboard). /ai summary, which condenses a channel’s recent conversation, has been added.- Commands can now be allowed or denied per member, not just per role.
- Variables expose far more information. Emoji, stickers, and messages can now be used as well.
- Global search (Ctrl+K / ⌘K) has been added to the dashboard.
- Every feature’s settings page now follows the same layout, and the sidebar and custom command list have been rebuilt.
- You can now stay signed in to up to three accounts in one browser and switch between them.
- The servers running your bots have moved to a data centre in Japan.
- Automatic bot restarts have changed from every day to every seven days.
- Limits on custom commands and the like are now counted by how many are enabled.
The casino has been rebuilt
The casino (mini-games) has been substantially rebuilt. There are more games to play, results look different, and there’s a new mechanic that builds up across the server.
Roulette and baccarat have been added
European roulette (/casino roulette) has been added. It uses a 37-pocket wheel numbered 0 to 36 and supports 13 kinds of bet: red, black, odd, even, 1-18, 19-36, three dozens, three columns, and a straight-up bet on a single number.
If you enter a stake without specifying a bet, you can pick where to place it from a picture of the betting table with buttons. For straight-up bets, the buttons are colour-coded — 0 in green, red numbers in red, and black numbers in grey — so you can check the colours on the wheel as you bet. Your stake is only deducted when you press a button, so simply closing the selection screen costs you nothing.
Baccarat (/casino baccarat) has been added too. You can bet on player, banker, or tie, and the hand plays itself out according to the usual rules, including natural wins and the conditions for drawing a third card. If the hand is a tie, bets on player or banker are refunded.
The slots now have 5 reels and 20 lines
The slot board has grown from 3 × 3 to 5 reels × 3 rows, and the number of paylines has gone from 8 to 20.
- The symbols have been reorganised into eight, with 7️⃣ paying the most; the joker and blank symbols have been removed.
- Wins are now formed by three, four, or five matching symbols from the left-hand end of each line.
- Symbol frequencies and payout multipliers have been revised as well. The previous settings made wins come easily, so with the same bet you may find that wins feel less frequent than before.
Nibuichi is now coin flip
The old /casino nibuichi (Nibuichi) has become /casino coinflip (coin flip).
Rather than a single round as before, it is now a streak game where the multiplier builds each time you correctly call heads or tails. You can cash out at any point and take the payout as it stands. By default, it cashes out automatically once you reach ten wins in a row.
Because the command name has changed, /casino nibuichi will no longer work. The win multiplier you had configured in the dashboard carries over to coin flip as it is.
Results arrive as pictures
Every casino game now reports its result as an image.
- Slots — the winning cells light up on a picture of the cabinet, and each winning line is drawn as a numbered polyline
- Roulette — the wheel and betting table show where the ball landed, the winning pocket, and where you placed your bets
- Blackjack / baccarat — hands, scores, and the outcome are drawn on the table. While a blackjack hand is in play, the dealer’s second card stays face down and the score shown covers only the visible cards
- Hi-Lo — the current card and the next card, along with the odds and multipliers for HIGH and LOW and the history of the cards turned over so far, all on a single image
- Coin flip — the side you chose and the side that came up, along with your streak, the current multiplier, the amount you can cash out, and the history so far, all on a single image
If an image can’t be generated, the game falls back to the text display as before and carries on.
The jackpot builds up
A server-wide jackpot now builds up in proportion to the amounts staked across the casino games. The contribution rate is 1% of the stake by default, and it is not deducted from the player’s stake.
If five 7️⃣ land on any line on the slots, the entire accumulated amount is paid out to that player. After a payout, the jackpot returns to the starting amount you’ve configured.
The current amount, the contribution rate, the payout condition, and the most recent winners can all be checked with /casino jackpot.
Stats and leaderboards
Results are now recorded, and /casino stats shows you the number of plays, wins, the total staked, the total paid out, and the largest single payout, per game. Specify a user and you can view another member’s stats as well.
/casino leaderboard shows a ranking by profit — total paid out minus total staked. Specify a game to see that game alone; leave it out and all games are combined.
Recording begins with plays made after this update. Anything played before it is not included.
Settings
The new games and mechanics can be adjusted from the mini-games settings page in the dashboard.
- Jackpot — on/off, contribution rate, and the amount it resets to after a payout
- Coin flip — the multiplier per correct call, and the maximum streak before an automatic cash-out
- Roulette — the payout scale applied across all payouts
- Baccarat — the banker commission and the tie payout
The newly added /casino roulette, /casino baccarat, /casino jackpot, /casino stats, and /casino leaderboard can each be enabled or disabled individually, and restricted by role or by member.
Summarise a channel’s conversation
/ai summary has been added, which has the AI condense a channel’s recent conversation for you.
- Choose how it summarises — an overall summary, bullet points, by topic, or decisions and to-dos
- Specify users or topics to focus on
- Show the summary only to yourself
- Messages that aren’t conversation, such as join notices and pin notifications, are left out of the summary
Only channels that both the person running the command and the bot can see can be summarised. If the bot doesn’t have the “Read Message History” permission, it can’t summarise. Private threads are included only if you’re in them (or you hold the Manage Threads permission). A summary can never let you read the contents of a channel you can’t otherwise view.
The number of messages that can be summarised at once, and the number of characters used for the summary, are as follows for each plan.
| Your plan | Messages that can be summarised | Characters used |
|---|---|---|
| BotShade (free) | 50 | 6,000 |
| BotShade Plus | 100 | 12,000 |
| BotShade Pro | 200 | 24,000 |
| BotShade Max | 300 | 32,000 |
If you ask for more messages than the limit, we round down to the limit; if they don’t fit within the character allowance, the oldest messages are dropped first, and the number omitted is shown beneath the summary.
The AI response settings page in the dashboard now includes “channel summaries”. As with the other places AI is used, you can set it on or off, choose the model, and set the maximum length of a single reply.
Note that summaries consume your AI allowance. You can check what’s left with /ai usage.
Finer control over custom commands
Variables expose far more information
We’ve added around 40 items to the details you can pull out of the user, server, channel, role, and date-and-time variables. Emoji, stickers, and messages are now available as three new kinds of variable.
- User — avatar image, banner, display name, the list of roles held, online status, and more
- Server — creation date, the list of roles, the lists of emoji and stickers, the lists of categories and channels, and more
- Channel — topic, slow mode, category, whether it’s age-restricted, position (and for voice channels, audio quality and the user limit), and more
- Role — icon, whether it can be mentioned, whether it’s displayed separately, and more
- Date and time — five display formats, including time only, date only, and date with the day of the week
Items that are lists support retrieving the count (.length), the first entry (.first), the last entry (.last), and an entry by index.
The running command is available as a variable
Inside custom commands and custom events, details of the command currently running can now be referenced in the same way as any other variable.
- In commands:
{Command.user},{Command.channel},{Command.guild},{Command.name} - In custom events:
{Event.user},{Event.channel},{Event.guild}
They behave as ordinary variables, so you can chain attributes to reach finer values, as in {Command.user.name} or {Command.channel.id}. Used inside a button branch or a function, they always refer to the current user and the current channel.
Your saved custom commands continue to work as they are. The older notation stored in condition nodes is interpreted at run time, and is replaced with the new notation automatically the moment you open the command in the dashboard. There’s nothing you need to rewrite. That said, the older notation will be discontinued in future, so we’d recommend opening each command once and saving it again.
Command access can be set per member
The allow and deny settings for commands, which previously worked by role only, now also support per-member allow and deny lists. You can open a command up to specific people, or conversely make it unavailable to specific people.
When the two conflict, a denial takes precedence over an allowance, and on either side member entries are considered before role entries. Per-member entries also apply when a command is run from a DM.
The settings page lets you search for members to select them. Note that anyone with server administrator permissions is still allowed ahead of everything else, as before; adding them to a blacklist does not restrict them (unless you have “prioritise individual settings over Discord permissions” enabled).
Automatic formula detection is smarter
For the feature that automatically evaluates formulas in messages, we’ve fixed the problem of it reacting to posts that aren’t formulas at all. It now decides based on whether something can actually be interpreted as a formula, rather than on whether it contains symbols.
- Emoticons such as ”^_^”, formula-like strings such as “x^2” and “A+B”, words such as “COVID-19”, and “5%” no longer trigger it
- Posts that join whole numbers with ”-” or ”/” without spaces, such as “2024/01/01”, “9/11”, or “090-1234-5678”, are never evaluated, because they can’t be told apart from dates and phone numbers
If you do want these evaluated, add spaces as in “10 / 4”, mix in decimals or other operators, prefix the expression with ”=”, or use /calc.
The dashboard has been rebuilt
Global search has been added
Pressing Ctrl+K (⌘K on Mac) on a bot’s screen, or clicking the search box at the top of the sidebar, now opens a search window.
It searches features, bot settings tabs, saved custom commands, and common actions all in one place. The previous search box only narrowed the list on screen by part of a name, so it couldn’t find things by their English name, by a differently transliterated spelling, or by command name. When the box is empty, it shows the items you opened most recently.
The sidebar is easier to work with
- Its width can now be dragged from the right-hand edge to anywhere between 150px and 640px (the previous maximum was 400px)
- When it’s closed, a single click on the left edge of the screen opens it. When it’s open, clicking the divider closes it (your width is remembered)
- Clicking a category heading collapses the items inside it. Collapsed state is kept as you move between features, and everything opens while you’re searching so results aren’t hidden
- Fixed the list flickering briefly every time you moved between pages
The custom command list has also been rebuilt around a tree of groups and commands alongside a detail panel, which makes the command you’re after easier to find even on servers with a great many of them. The command builder’s list now includes “all commands”, so you can return to the overall picture after selecting an individual command.
Every feature’s settings page now follows the same layout
Settings pages that varied from feature to feature have been rebuilt as a single page with the same arrangement throughout.
Settings are grouped into “shared”, “per server”, “commands”, and “other”, and features with two or more groups switch between them using tabs at the top. Each setting is now a row with “name and description” on the left and “the control you operate” on the right, with fewer nested cards and superfluous borders. Per-server settings now show their state and a summary without needing to be opened.
We’ve also reviewed every explanation, tooltip, and note on screen, replacing internal terminology with the names used in the interface.
Switch between up to three accounts
You can now stay signed in to up to three accounts in one browser and switch between them from the menu at the bottom left of the screen. Signing in with another account via “add account” adds it to the list, after which moving between them takes a single click.
Signing out applies only to the account you’re currently using. You can carry on working in the other accounts you’ve switched to.
Masking sensitive information now actually masks it
Turning on mask sensitive information in settings now genuinely hides usernames, Discord IDs, email addresses, bot names, and server names on screen. Until now, turning it on made no difference to what was displayed, and we’re sorry for the inconvenience.
Masked values keep only the first character and replace the rest with four symbols, regardless of length. You can still tell which entry is yours, while the number of characters stays hidden. Actual values used for copying or editing are not masked. It’s there for streaming and screen sharing.
The AI screens have been tidied up
- The model list and the current selection now show the logo of the company that makes the model
- AI usage no longer uses three separate tiles; usage, the limit, and a proportion bar now sit on a single row
- The per-model breakdown has been reorganised into rows with figures aligned by digit
- The display shown while you wait for an AI response has been redesigned. If you have reduced motion enabled, it is shown without animation
- The AI’s thinking is now shown collapsed by default, which fixes the answer itself being pushed down and becoming hard to read while the thinking was still expanding
The servers running your bots have moved to Japan
Until now, the servers your bots actually run on were located in a data centre in the United States. As of v2.5.6, they run from a data centre in Japan.
The time it takes to load and save settings has become far shorter. Responses to commands, and the time it takes for something you save in the dashboard to reach the bot, are noticeably faster.
- No changes or migration work are required on your side. Your existing bots, commands, and custom settings all continue to work as they are
- The move took place between 30 and 31 August 2026. During that period there were windows in which bots restarted for a few seconds
- No settings or data were lost in the move
Changes to how bots run
Automatic restarts have moved to every seven days
Running bots restart themselves periodically to avoid the instability that comes with running for long stretches. That interval has changed from every 24 hours to every seven days. The brief moment offline that a restart involves now happens once a week instead of seven times a week.
Unused bots are stopped automatically
We now automatically stop bots that have been running for more than five days without a single command being used, and without a single custom event running, in that time. The change is there to direct our runtime capacity towards the bots that are actually in use.
- If either commands or custom events have run, the bot is not affected
- A stopped bot can be restarted at any time from “start” in the dashboard. Custom commands, events, variables, and other settings are all kept as they were
- Bots whose connection to Discord has dropped are excluded, and are still handled by automatic recovery as before
Bots left running after a test and then never used will be stopped by this change. If a bot you’re still using gets stopped, please press “start” — sorry for the extra step.
Note that a bot stopped by this mechanism is shown in the dashboard as a stopped bot. This is not a fault, and you can simply start it again from “start”.
How registration limits are counted has changed
For the registration limits on custom commands, command groups, and custom events, we previously counted how many were saved. As of v2.5.6, we count how many are enabled.
Until now, disabling a definition you no longer used didn’t free up a slot, which led to situations where “I turned the old command off, but the new command still isn’t showing up in Discord”. From now on, disabled definitions don’t count towards the limit.
The badge in the list now reads something like “Commands enabled 3 / 5”, and hovering over it shows how many are saved. When the number enabled has reached the limit, only the switches that would enable a disabled item become unavailable, and the reason is shown. Anything created while you’re at the limit is created in a disabled state.
Bug fixes
- Fixed the panel for setting mention targets failing to open in the earthquake early warning settings (
/eew settings). It came to light immediately after v2.5.5 was published, and settings already configured were unaffected. - Fixed times shown in server protection logs being off in some cases.
- When
/ai usagefailed to load this month’s breakdown, it could report “no records yet this month” even though usage had in fact occurred. It now tells you when loading has failed. - Guidance that could be mistaken for “you’ve used it all up” was being shown when the AI allowance couldn’t be checked. The message for the case where it can’t be checked is now separate.
- The remaining AI allowance could be shown as larger than your actual usage warranted. We now take the correct usage figure back from the usage records, so what’s shown from here on reflects your actual usage.
- Fixed the value of the current-time variable
{Now.unix}being off in some cases. - Fixed an incorrect warning being shown for string-key lookups such as
response["aaa"]in expression fields in the command builder. - Fixed role and channel names getting stuck in a loading state.
- Fixed custom events triggered by message edits halting when part of the information received was missing.
- Fixed an action being processed twice in some cases in the casino.
- Fixed a group of dashboard bugs: the startup check not resuming after re-entering a bot’s token, the running badge in the bot list staying on an out-of-date state, progress resetting when stepping back through bot creation, and the previous conversation’s response appearing when switching quickly between AI histories.
Performance
- We’ve revised how the reason for a bot being stopped is shown. The badge in the dashboard’s bot list is now split into “stopped (failed to start)” and “paused”, and where a start has failed, hovering over the badge shows the reason. It’s easier to tell apart what you can deal with yourself, such as re-entering a token, and what will clear up given time.
- Bot execution logs reach the dashboard faster. Even for bots with few logs, the wait between something running and it appearing on screen has come down from up to 60 seconds to around 10 seconds.
- The “cache duration (seconds)” setting on the API request node now actually works. Setting it previously had no effect. It applies to GET and HEAD requests, and only when a successful response is returned.
- The dashboard is lighter. It loads less data on opening, and formula rendering along with the notification and search features are now loaded only when you actually use them.
- We’ve revised our internal handling so that bots keep running even when there’s a temporary network disruption. Nothing is required on your side.
Compatibility
Your existing bots and command definitions continue to work in v2.5.6. No migration is required. That said, please check the points below, where behaviour may change.
/casino nibuichi(Nibuichi) becomes/casino coinflip(coin flip). The old command name will no longer work, but the win multiplier you had configured carries over as it is.- The slot payout table has been replaced. The previous settings made wins come easily, so with the same bet you may find that wins feel less frequent than before. Currency data such as balances carries over unchanged.
- Registration limits on custom commands and the like are now counted by how many are enabled. If you’ve been keeping a large number of definitions disabled, the number you can newly enable may change.
- Bots that go completely unused for five days are stopped automatically. If yours is stopped, restart it from “start” in the dashboard.
- The older notation stored in condition nodes is replaced with the new notation automatically. No manual rewriting is needed, but the older notation will be discontinued in future, so we’d recommend opening each command once and saving it again.
- The items you can pull out of variables are limited to those covered in the documentation. Where a notation that isn’t covered was being used, that part is not resolved and the text is output exactly as written. If you’ve been following the documentation, you’re unaffected.
- In condition nodes that test roles or permissions, if the person concerned can’t be confirmed as a member of the server, the condition is now treated as not met.
- We’ve revised the limit on how many blocks a single command or custom event can contain. On some plans the limit is lower, so if you have a large command, you may see a notice about the limit when editing or saving it.
- If you use automatic formula detection, posts such as “9/11” are no longer evaluated. Automatic detection is off by default, so this affects only servers that have turned it on themselves.
- The “cache duration (seconds)” setting on the API request node now takes effect. If you left a value in it on the assumption that it did nothing, caching will now actually happen. The default is 0 (no caching).
- The “thinking level” choice for when you ask the AI something is being removed from the dashboard. The model now decides for itself based on the question.
Support and community
For questions, bug reports, or feature requests, please reach us at any of the following:
- Support page — contact form
- status.botshade.com — service status
Thank you for using BotShade.