v2.3 Release Notes
We added AI responses to your bot — keyword auto-replies, ticket replies, and always-on responses in your server — and you can now pick from new models, including Claude. This major update also redesigns the dashboard around a warm magenta palette, brings image cards and notification settings to leveling, adds role retention (Sticky Roles) that restores roles when a member rejoins, custom-command functions (subroutines), and more.

|
|
Published: June 23, 2026BotShade has been updated to v2.3. This is a major update centered on AI responses for your bot (auto-replies, ticket replies, always-on responses), new models including Claude, and a full dashboard redesign — packed with much more, including image cards for leveling, role retention (Sticky Roles), and custom-command functions (subroutines).
If you notice anything, please don’t hesitate to report it via the Support page.
Table of contents:
- Highlights
- AI responses for your bot
- New models and Claude
- A full dashboard redesign
- Leveling enhancements
- Role retention (Sticky Roles)
- Components V2 builder improvements
- Custom command enhancements
- Other features and improvements
- Fixed bugs
- Compatibility
- Support and community
Highlights
- Added AI responses to your bot. AI can now reply automatically to keyword auto-responses, support tickets, and always-on responses in your server.
- Refreshed the AI models: in addition to standard models, you can now pick premium models such as Claude (Haiku 4.5 / Sonnet 4.6 / Opus 4.8) and reasoning models.
- When choosing a model, you can see its credit-cost level (low / medium / high / very high) at a glance, and review this month’s usage in the dashboard.
- Fully redesigned the dashboard around a warm magenta palette, with two switchable design themes — Plum and Editorial.
- Restructured the bot detail screen into a two-axis navigation (top: the whole bot × left: feature settings), with the running status shown prominently at the top.
- Reworked the bot list into a console-style layout (a KPI strip plus a sortable table).
- Added image output for leveling rank cards and leaderboards, and made the level-up notification destination and format configurable.
- Added role retention (Sticky Roles), which automatically restores a member’s previous roles when they rejoin.
- You can now edit buttons directly in the Components V2 builder, and the preview now renders Discord markdown.
- Enhanced BotShader AI, the build assistant, with a selector for the AI model and reasoning effort, plus a usage page.
- Added reusable functions (subroutines) to custom commands — with scopes, arguments, and return values — so you can break complex commands into parts.
- Persistent variables (
BSVAR_) now support nested objects and arrays. - Fixed several bugs, including whitelist/blacklist rules that didn’t take effect and missing emoji in quoted-message images (Make it a Quote).
AI responses for your bot
We added AI responses to your own bot. Enable it from the AI module in the dashboard, and your bot will respond to members in your server with AI (this is a bot-side feature — separate from “BotShader AI,” the assistant that helps you build bots in the dashboard). You can use it in four different places.
Chat with a command (/ai chat)
With /ai chat, members can talk to the AI directly in a channel. The conversation context is kept per channel for a while, so follow-up questions stay on topic. A cooldown prevents spamming.
AI for auto-responses
You can now combine AI replies with your existing keyword auto-responses. Set a response rule’s type to “AI,” and the AI replies in context to messages that match the trigger. A minimum cooldown is applied automatically to avoid wasting credits.
Automatic ticket replies
In a support ticket channel, the AI can now provide a first response to the ticket author’s messages automatically. Once a staff member replies, the AI stops on its own, so the handoff to a human is smooth. You can toggle this on or off in the ticket settings.
Always-on responses in your server (/ai respond)
From the /ai respond panel (Components V2), you can fine-tune always-on responses in your server.
- Who it responds to: only when mentioned (recommended) / only messages from specified users, roles, or permissions / all messages
- Target channels: all channels, or allow/exclude specific channels
- Cooldown: set in seconds to prevent over-responding
New models and Claude
We fully revisited the models available for AI so you can choose to fit your use case and budget.
More models to choose from
- Standard models: a fast, low-cost default model plus several other standard models. These low-cost standard models run on a US-based AI inference provider (DeepInfra), so data is processed on US infrastructure.
- Premium models: higher-accuracy premium models, now including Claude Haiku 4.5 / Sonnet 4.6 / Opus 4.8.
- Reasoning models (Premium): models that think carefully before answering (for chatting with a command).
You can pick the model individually for each feature (chat, tickets, auto-responses, always-on responses). Reasoning models show a “Reasoning” badge, and premium models show a “Premium required” badge.
Credit-cost level at a glance
When choosing a model, we now show a rough estimate of the cost per reply across four levels — low / medium / high / very high — so you can balance quality against cost.
This month’s usage
We added this month’s AI usage to the dashboard. You can check consumed credits, the monthly limit (by plan), and the remaining amount on a progress bar, plus a per-model breakdown (number of calls and cost). You can also check usage in your server with the /ai usage command.
A full dashboard redesign
We fully redesigned the dashboard. The palette is unified around a warm greige base with magenta accents, and fonts are distinguished across headings, body text, and monospace (commands and numbers) for better readability.
Two design themes
You can now choose your preferred look from Design theme in the preferences.
- Plum: a soft, default design with rounded cards floating over the background.
- Editorial: a tighter, ruled-typography design reminiscent of paper and ink.
Your choice is saved and applied from then on.
Two-axis navigation for bot detail
We restructured the bot detail screen with a top tab bar (whole-bot settings: Home / Custom Commands / Events / All Commands / Environment Variables / Data Storage / Server List / Logs) and a left sidebar (feature module settings) along two axes. The standing log rail was removed, with logs consolidated into a tab.
The status hero at the top shows the bot’s state prominently, bringing together actions like start, stop, and restart, KPIs such as server count, user count, and latency, and recent activity.
A console-style bot list
We reworked the bot list into a console-style layout with a top KPI strip (number of running bots, total commands, error rate, and API latency P95) and a sortable table. Favorite bots are pinned to the top of the list, so you can keep track even when you run many.
Leveling enhancements
We significantly enhanced leveling (/level).
Image output for rank cards and leaderboards
You can now output /level rank and /level leaderboard as images (cards) in addition to the traditional embed. Choose a style in the bot settings.
- Rank card: 3 styles —
rich/minimal/neon - Leaderboard: 4 styles —
rich/minimal/neon/podium
In the dashboard, you can choose a style with a live preview that fills in your signed-in avatar and name.
Level-up notification settings
You can now configure level-up notifications from /level setting or the dashboard.
- Destination: the channel where it happened / a specified channel / DM
- Format: message / embed / image
Role retention (Sticky Roles)
We added role retention (Sticky Roles), which automatically restores a member’s previous roles when they rejoin after leaving your server. No more reassigning roles to returning regulars.
From the /role-retention setting panel (Components V2), you can enable or disable the feature and specify excluded roles to leave out of restoration. Roles above the bot, integration-managed roles, and @everyone are excluded automatically. Saved data can be cleared with /role-retention clear (the operation requires the Manage Roles permission).
Components V2 builder improvements
We improved the Components V2 builder added in v2.2 to make it easier to use.
- Edit buttons directly: you can now edit a button’s label, style (PRIMARY / SECONDARY / SUCCESS / DANGER / LINK), and emoji directly in the builder. Each style is reflected in the preview using Discord’s official colors, and link buttons get a 🔗 marker.
- Discord markdown in the preview: the preview now faithfully reproduces Discord markdown — headings, lists, bold, code, and subtext (
-#). Code blocks get syntax highlighting.
Custom command enhancements
We added reusable functions (subroutines) and nesting support for persistent variables to the custom command builder.
Functions (subroutines)
You can now define a reusable block of logic as a “function” in a command and call it as many times as you like. A function is built from three nodes: functionDef (define), functionCall (call), and returnFunction (return value). A “Functions” section (the { } icon) was added to the dashboard sidebar, and while editing a function a scope breadcrumb appears at the top of the canvas.
Variable visibility is organized into four scopes:
- Global (
BSVAR_, server variables): readable and writable from inside functions. - Command scope (
option_, etc.): not visible inside functions. - Function arguments (
{param_*}): read-only, passed by value (objects and arrays are deep-copied). - Function locals: discarded when the function returns.
The return value is aggregated into a single object via returnFunction. For safety, function nesting is limited to 32 and total calls to 1000.
Nested persistent variables
Persistent variables (BSVAR_) can now hold nested structures. You can declare, store, and read back array<object> (an array of objects), array<array> (an array of arrays), and objects within objects — consistently end to end (up to 5 levels deep). They remain backward compatible with the flat variables you’ve been using.
Other features and improvements
Refreshed toasts and menus
We unified pop-ups such as toasts, menus, and tooltips with soft-colored icon chips and a subtle shadow for a cleaner look.
Display when a module is disabled
While a module is disabled, its settings screen is now covered with an overlay that clearly indicates it is disabled.
Minigame and calculator module tweaks
You can now set minigame bet amounts and odds (multiplier, RTP, probability) intuitively with steppers and sliders. We also revamped the launch-emoji picker for the calculator (/calc) module.
BotShader AI (build assistant) enhancements
We enhanced BotShader AI, the assistant that helps you build bots in the dashboard. We added a selector for the AI model it uses and, for supported models, the reasoning effort, along with a usage page (consumption shown as a percentage) that opens from the left sidebar. We also improved streaming stability so answers no longer get stuck partway, and refined usability with send via Cmd / Ctrl + Enter and persistence of the sidebar’s open/closed state.
Unified settings panels (Components V2)
We revisited the various settings panels on Discord (tickets, welcome, join/leave logs, leveling, always-on AI responses, verification, protection, and more) and unified them to a layout that puts the current value and an edit button on the same line. Edits are completed in place within the same message, and each sub-setting has a “◀️ Back” button. We also aligned the action color coding (irreversible = red / recoverable warning = amber / neutral = gray) for clarity.
Fixed bugs
Fixed emoji in message images (Make it a Quote)
We fixed a bug in the quote-to-image feature (Make it a Quote) where emoji did not render and went missing. Emoji now render correctly in production as well.
Fixed whitelist / blacklist rules not taking effect
We fixed a bug where, in auto-responses (AutoResponder), always-on AI responses, and protection (anti-spam), setting a whitelist / blacklist caused the feature to silently stop firing even on a match. We revisited how IDs are handled internally, and these now behave as configured.
Stabilized the execution platform
We revisited the database connection used by the execution platform and resolved an issue causing intermittent disconnects and reconnects. Log processing is now more stable.
Compatibility
Bots and flow definitions you have been using continue to work as-is on v2.3. Settings affected by the redesign and the module restructuring are carried over automatically, so no migration is required on your side.
Note that the old ChatGPT module and automatic role assignment (autoRole) have been merged into / replaced by the new AI module and role-retention module, respectively.
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:
- Support page — contact form
- status.botshade.com — live service status
Thank you for your continued support of BotShade.