Knowledge Base

/

Release Notes

Feature

v2.2 Release Notes

We launched the "BotShader AI" chat assistant in the dashboard and added a Discord Components V2 builder to custom commands. This major update also adds two new modules — a calculator (/calc) and currency conversion (/currency) — upgrades modal forms (sendModal) to all 7 field types, and lets you open BotShader AI from anywhere in the dashboard. It also brings array (list) variables and random nodes, persistent components, bot favorites, and improved log-message translations.

BotShade Team
BotShade Team

|

12 min read

|

Published: June 10, 2026

BotShade has been updated to v2.2. This is a major update centered on the BotShader AI chat and the Components V2 builder, and packed with much more — the new calculator and currency modules, array and random variables, persistent components, modal forms, and more.

If you notice anything, please don’t hesitate to report it via the Support page.

Table of contents:

Highlights

  • Launched the “BotShader AI” chat assistant in the dashboard.
  • Added a Discord Components V2 builder to message sending in custom commands, letting you lay out messages freely with containers and sections.
  • Added array (list) variables for handling multiple values together, plus random nodes (generate a number, or draw from a set of choices).
  • You can now make a message’s buttons and select menus persistent, so they keep working even after the bot restarts.
  • Added two new commands (modules): a general-purpose calculator /calc and currency conversion /currency.
  • Upgraded modal forms (sendModal) to Components V2, supporting all 7 field types — text, select menu, radio, and user / role / channel pickers.
  • Made BotShader AI available as a drawer you can open from the top bar, sidebar, and mobile bottom bar, and added an AI sidebar in the command editor that reads your in-progress command and offers advice.
  • Added bot favorites to the dashboard.
  • You can now reference button and select-menu interaction context (who interacted, the channel, the server, the selected value, and more) as variables.
  • Added a minimap and display settings (toggle the minimap and node descriptions) to the command editor.
  • Changed the default navigation to the sidebar layout and tidied up bot switching via the bot selector (the top-bar layout is still available).
  • Fixed a bug where renaming a command left the old-named command behind, causing duplicates.
  • Fixed several bugs, including variable names with Japanese and other non-Latin characters and emoji rendering in quoted-message images (make-it-quote).
  • Increased sidebar text and icon sizes for better readability.

BotShader AI chat

The BotShader AI chat

We launched “BotShader AI”, an AI assistant that helps you get the most out of BotShade through conversation. Just ask what you want to know — how to build a bot, how a feature works — and get an answer right away.

We’re also continually refining the input area, with height adjustment and scrolling for long messages and a tidier menu, for a more comfortable experience.

Open it from anywhere in the dashboard

BotShader AI is now available across the whole dashboard as a drawer you can open from the top bar, the sidebar, or the mobile bottom bar. It carries the bot you have open as context, and supports reviewing your conversation history and a “full screen” view.

Advisory AI in the command editor

We added an AI to the custom command editor’s sidebar that reads your in-progress command and offers advice. Click a node reference in its answer and the corresponding node is highlighted on the canvas, so you can see at a glance which one it means.

Components V2 builder

We added a builder for Discord’s latest message format, Components V2, to the “Send message” action in custom commands. In addition to the traditional body + embeds, you can now create advanced, freely composed message layouts.

Free-form layout

Combine containers, sections, text, separators, galleries, files, buttons, and select menus to build your message layout. A live preview shows the result as you edit, and the structural rules (where each component can go and the limits) are checked automatically.

Switching between V1 and V2

You can choose between the traditional Normal (body + embeds) format and Components V2. Because V2 cannot use the body or embeds (they are mutually exclusive), we clearly explain the impact when you switch.

Persistent buttons and select menus

Set a sent message’s buttons and select menus to “persistent” and they keep working even after the bot restarts. You can also restrict who is allowed to interact and set a session expiry (in seconds). This is ideal for long-lived messages such as standing panels and role-assignment buttons.

We upgraded sendModal — which shows an input form (modal) to the user and collects their values — to Components V2. In addition to text fields (short / long), you can now combine all 7 field types: select menu, radio, and user / role / mentionable / channel pickers. Each field supports required, placeholder, and default settings. You can open the modal right when the command runs or from a button, and the entered values are available as variables in the subsequent flow.

Array variables and randomness

We added array (list) variables for handling multiple values together, plus nodes that generate randomness, to custom commands. A new “Variables” category in the node palette gathers the variable, array, and random operations in one place.

Array variables

Create array variables with a specified element type and work with them through operation nodes: push, pop, set at index, insert, remove at index, and clear. Each operation’s input is checked automatically against the array’s element type, preventing type mismatches.

Random nodes

  • Random number (randomNumber): generates a random number within a min–max range (choose integer or decimal).
  • Random choice (randomChoice): draws one or more items at random from a set of choices such as an array (you can require no duplicates).

New modules: calculator and currency

We released two new modules you can add to your bot. Both can be enabled and customized from Module settings in the dashboard.

Calculator (/calc)

We added /calc, a general-purpose calculator command that supports not just basic arithmetic but also scientific functions and constants such as trigonometry and logarithms. Beyond the slash command, you can also enable automatic detection of expressions in messages (with a choice of detection methods) and calculation via reactions, so you can turn on what fits your use case.

Currency conversion (/currency)

We added a command that performs currency conversion at exchange rates with /currency amount from to. It supports a wide range of currencies, including major ones, and autocompletes currency codes as you type. The result comes with a ”🔁 swap” button to flip the source and target currencies and recalculate in one tap.

Other features and improvements

Button and select-menu interaction context as variables

You can now reference information from when a button is pressed or a select menu is used as variables in the subsequent flow.

  • Button: who pressed it, the channel and server, and the button’s label / style / disabled state
  • Select menu: the selected value, and who interacted, the channel, and the server

Set a “variable name” in each button / select menu, then reference it in later nodes as {name.user}. The variable name itself, {name}, holds the primary value — such as the selected value or the button’s interaction result.

Command editor enhancements

We added a minimap (bottom-right) to the custom command editor for an at-a-glance overview. We also expanded the editor settings so you can toggle the minimap and node descriptions on or off.

We revisited the navigation layout and changed the default to the sidebar layout (the previous top-bar layout is still available). From the bot selector, you can search for and quickly switch between bots in the same project, and the module screen you have open is preserved when you switch.

Streamlined giveaway commands

We consolidated the giveaway commands into four — create / reroll / end / edit. The previously separate list, detail, edit, and delete operations are now handled together from edit in a Components V2 management screen. The /backup info screen was also unified to Components V2 for clarity.

Bot favorites

You can now mark frequently used bots as favorites in the dashboard’s bot list. Favorites are grouped in a dedicated section at the top of the list, so you can reach them quickly even when you run many bots.

Streamlined custom command list

Custom command cards can now be opened simply by clicking them, and the copy, share, and delete actions are consolidated into a kebab (…) menu. “Share” copies a link to that command to your clipboard.

Tidier variable and data-type lists

The variable editor and storage lists now show only the custom variables and custom data types you created (built-in variables and types are kept internally for autocomplete and validation, but excluded from editing). The lists are easier to read, and you won’t accidentally touch built-in definitions.

Key lookup in variable expressions (bracket access)

You can now pull a value out of an object (a variable that holds nested values) by specifying a key in square brackets. Write a key directly like {var}["key"], use a dynamic key from another variable like {var}[{keyVar}], or combine it with array indexing for multi-level access. A key that doesn’t exist resolves to an empty string.

Better sidebar readability

We revisited the sidebar’s text and icon sizes to improve readability.

Fixed bugs

Fixed duplicates when renaming a command

We fixed a bug where renaming a custom command left the old-named command behind, causing a duplicate. Renames are now reflected correctly without creating duplicates.

Variable names in more languages

Variable names that contain Japanese, Chinese, Korean, and other non-Latin characters — such as {お金} — are now interpreted correctly. Previously such names could be left as plain text instead of being substituted with their value.

Improved emoji rendering in message images

We fixed a bug in the quote-to-image feature (make-it-quote) where emoji did not render and showed up as a box (□). Standard Discord emoji now render correctly.

Improved log-message translations

We fixed a bug in the dashboard’s log display where some logs showed wording that didn’t match the actual operation (for example, a backup load showing as settings-related text). Logs now display more accurate content.

Other fixes

We fixed issues such as incorrect reward amounts in some features (including giveaway) and improved overall stability.

Compatibility

Bots and flow definitions you have been using continue to work as-is on v2.2. The settings changes from streamlining the giveaway commands are carried over automatically, so no migration is required on your side.

Support and community

If you have questions, want to report a bug, or have a feature request, please reach out through any of the following:

Thank you for your continued support of BotShade.

← Back to Knowledge Base