v3.0.0 Release Notes
A major release to coincide with general availability. BotShader AI is now available to everyone, picks a model automatically to suit each request, and shows your usage as the share you have left. The command builder AI can now edit existing commands, plan its work, and run in a new Auto mode. This release also brings a choice of where each custom command can be used, right-click commands, stronger builder controls and inputs, more custom event triggers (from 66 to 130), a bot analytics screen, the Twitch Live Notifications and QR Code add-ons, verification codes at sign-in, sign-up with Google or GitHub (with Discord linked by entering a link code), and a large number of bug fixes.

|
|
Published: October 23, 2026BotShade has been updated to v3.0.0.
On Friday, October 23, 2026, BotShade became generally available (GA). For details, see BotShade Becomes Generally Available on Friday, October 23, 2026. With general availability, we have retired the “beta” label for the service as a whole. The request builder for API requests and the Twitch Live Notifications and QR Code add-ons will continue to be offered as beta features individually.
Thank you very much for all the feedback and reports you sent us during the beta.
This release centres on opening BotShader AI to everyone and strengthening the command builder AI. We have also reworked how the builder is operated and how values are entered, added a choice of where each custom command can be used along with right-click commands, and expanded custom event triggers from 66 to 130. A bot analytics screen, the Twitch Live Notifications add-on, and the QR Code add-on are new as well.
If you notice anything, please do let us know from support.
Table of contents:
- Highlights
- BotShader AI is now available to everyone
- The command builder AI can now edit existing commands
- Custom command and builder improvements
- Custom events now have 130 triggers
- A new analytics screen for bots
- New Twitch Live Notifications add-on
- New QR Code add-on
- Accounts and sign-in
- Dashboard improvements
- Bot feature improvements
- Documentation site improvements
- Bug fixes
- Compatibility
- Support and community
Highlights
- BotShader AI is now available to everyone. A model is chosen automatically to suit each request, and usage is shown as the percentage you have left for “Today” and “7 days”.
- You can now attach images and text files in BotShader AI, and answers are followed by “Pages referenced” and “Suggested follow-ups”.
- The command builder AI can now suggest changes to the existing command you have open. For larger requests it first presents a work plan, and the new “Auto” mode builds an approved plan all the way through on its own.
- We have added the new blocks “Create thread”, “Edit thread”, “Delete thread”, “Read variable”, “Branch by Server Boost”, and “Change bot status”.
- New syntax for list variables has been added, and “Loop” can now repeat over each item of a list.
- The “Create a command” screen has been rebuilt. You can now start from one of six templates while checking “How it looks in Discord”.
- You can now choose “Where it can be used” (servers / DMs with the bot) for each custom command. The default is servers only.
- You can now create right-click commands (“User menu” and “Message menu”) that run when someone right-clicks a user or a message.
- The builder gains “Undo”, “Redo”, and “Recent changes”, range selection, collapsing a block’s descendants, block search, and variable autocomplete.
- Custom event triggers have grown from 66 to 130.
- The bot screen has a new “Analytics” tab, where you can follow trends in command runs, message counts, and server members.
- We have added the Twitch Live Notifications add-on and the QR Code add-on (both in beta).
- When you sign in with a Discord, Google, or GitHub account from a device that has not yet been verified, we now ask you to enter a verification code that we send by email.
- You can now also sign up with Google or GitHub. To link your Discord account, you only need to enter a link code on the BotShade Link server.
- “Branch by time” is now evaluated in the bot’s time zone. The results of existing conditions may change, so please check Compatibility.
BotShader AI is now available to everyone
BotShader AI, the AI assistant in the dashboard, is now available to everyone, not only beta participants. We have removed the “beta participants only” notices from the BotShader screen, the AI sidebar in the command builder, and “Ask AI” on the home screen, and choosing a suggested question now sends it straight away.
You no longer need to choose a model or a thinking mode. A suitable model is chosen automatically to suit what you ask. The range of models used depends on your plan.
How usage is shown
- Usage is no longer shown as an amount of money, but as the percentage of “Remaining usage”. It is tracked over two windows, “Today” and “7 days”, and whichever is lower is what you have left. On the usage page you can see when each window recovers (in Japan time) and an estimate of “At your recent pace, about N more requests”.
- Even when you are running low, BotShader AI does not stop; it automatically switches to lighter models as needed.
- Each response shows “Usage for this exchange: about N%”, and once your usage passes 80%, we let you know once per window.
- Exchanges that ended in an error or a stop without delivering an answer or a suggestion are not counted towards your usage. Automatic fixes by the command builder AI are not counted either.
What it can do now
- You can now attach images and text files to your questions (“Attach files”, pasting, or drag and drop). You can attach up to three images (PNG / JPEG / WebP / GIF, up to 5 MB) and up to three text files (.txt / .log / .json / .md / .csv, up to 200 KB). Attached files are not stored.
- Answers are followed by “Pages referenced”, listing the public documentation the answer drew on, and “Suggested follow-ups”, which are sent when you press them. Requests you send while an answer is being generated are placed in “Queued” (up to three) and sent automatically once the current answer finishes.
- For complex requests, the AI draws up a task list and works through it one item at a time. Progress is shown as “Tasks n/m”, and if it stops partway you can pick it up again with “Continue”. When the AI needs to check something with you, it shows an “A few questions first” card where you can answer by choosing an option.
- You can now ask questions about your bot’s analytics (for example, “Which command was used most this week?”). Answers are based on the same figures as the analytics screen. The period you can ask about depends on your plan.
- The settings it can suggest have been broadened. It can suggest per-server settings (tickets, welcome messages, verification, leveling, AI responses, earthquake information, and more), command permissions, and changes to the bot’s time zone. Ask it to “Diagnose this whole bot” from the bot settings screen, and it will make suggestions across modules in one go. Permission changes that widen who can use something are marked “Loosens access” and cannot be applied until you tick the confirmation. Applying a suggestion does not save it, so please review the changes on screen and then save.
Display improvements
- The first suggested questions are now three that match the screen, bot, and command you are viewing. There is an “Ask AI” button in the top bar.
- While it is thinking, the AI now shows what it is doing in a short sentence (for example, “Checking the settings”). Thinking headings and tool displays have also been made more descriptive, and they use the same names as the screens rather than internal names.
- When a response ends empty or you stop generation, we now show “No response” or “Generation stopped” along with the reason, and when the AI cannot be used for the moment, we show “The AI is temporarily unavailable”.
- The panels that open on the right of the bot settings screen and elsewhere now have tighter spacing and text, and a button in the middle of their left edge opens and closes them.
The command builder AI can now edit existing commands
In “Build” mode in the command builder’s AI sidebar, the AI can now suggest changes to the existing command you have open. Its changes range from adding, removing, and reconnecting blocks, to adding and changing buttons, arguments, branches, and persistent variables, and arranging the layout. You can review each suggestion on the “AI proposal” card and press “Apply” to bring it onto the canvas. Because existing blocks are reconnected rather than rebuilt, you can also ask for restructuring, such as swapping the branches of a condition or wrapping an existing sequence in a new condition or loop.
For larger requests, the AI first presents a “Work plan”. Once you approve it, the AI builds it one item at a time. If you would rather go ahead without a plan, choose “Continue without a plan”. Suggestions that stopped partway are not applied automatically; you can choose an option such as “Apply and continue”.
We have added an “Auto” mode. You can choose between “Advise”, “Build”, and “Auto” with the mode switch at the bottom left of the input box. In “Auto”, once you approve the work plan with “Run this plan automatically”, the AI carries building, applying, and automatic fixing of problems all the way through. You can stop it with the stop button in the input box and continue from where it left off with “Resume automatic run”. The command is not saved when an automatic run finishes, so please review it and then save. All the changes applied in one automatic run can be reverted together with a single “Undo”.
Other improvements:
- The AI can now use almost every block in the builder. Suggestions can include loops, array operations, editing messages, functions, modals, and calls to external APIs. On the approval card, suggestions that include operations that cannot be undone, such as deletions, are marked “Includes destructive actions”, and suggestions that call an external API are marked “Sends requests to external services” along with the destination URL.
- The AI can now set the contents of array and object variables, message embeds, and reply settings.
- When a suggestion contains errors, the main button is now “Ask AI to fix” instead of “Apply” (“Apply anyway and fix on the canvas” is also available). The AI fixes errors automatically up to three times.
- The mode switch has moved to a chip at the bottom left of the input box (“Mode: Advise” and so on), and the mode you choose is carried over to next time. The screen also no longer zooms automatically with every suggestion.
Custom command and builder improvements
New blocks and options
We have added the following blocks to the command builder and the event builder.
| Block | What it does |
|---|---|
| Create thread | Creates a thread. In forum / media channels it creates a post, and you can also set the starting message and tags |
| Edit thread | Changes a thread’s name, tags, archive state, and more |
| Delete thread | Deletes a thread |
| Read variable | Reads the value of a persistent variable into a variable that later blocks can use |
| Branch by Server Boost | Branches on “the server’s boost level” or “whether the user is boosting the server” (based on Discord Server Boosts) |
| Change bot status | Temporarily changes the bot’s online status and activity (Playing, Streaming, and so on). The change applies to the whole bot and is reverted when the bot settings change or the bot reconnects. Depending on your plan, it may not take effect |
We have also added the following options.
- Per-user variables can now read and write the values of members other than the person who ran the command (set “Target user” to “Specific user”). If the target cannot be identified, the value is not written to the person who ran it instead.
- “Edit channel” can now set forum tags.
- “Ban member” can now ban users who have left the server by ID, and “Time out member” gains “Remove timeout”.
- Blocks that work on roles, channels, and messages now let you enter a reason recorded in the audit log. When creating or editing a role, you can set a “Role icon (emoji)”.
- Number variables can now be displayed with
.formatted(thousands separators),.scientific(scientific notation), or.japanese(Japanese numerals), expressions can useround/floor/ceil, and “Apply operation to variable” can use “Decimal places”. - “Branch by time” gains a “Time zone” setting for each check (the default is “Use the bot setting”).
- “Send modal” gains the fields “Checkbox (on / off)”, “Checkbox group (multiple choice)”, “File upload”, and “Text (no input)”. Please note that URLs received through file uploads stop opening after some time.
- We have added “Create a branch for each option” for select menus, “Add branch” for condition blocks, and “Distribute evenly” for chance branches.
List variables and loops
We have added new syntax for list variables.
| Syntax | What it does |
|---|---|
{変数.join[区切り]} / {変数.each[書式]} | Joins the items for display / lists them following a format (you can use $index, $number, $value, and more) |
{変数.random} / {変数.empty} | Picks one item at random / whether the list is empty |
{変数.sum} / .highest / .lowest | Sum, maximum, and minimum |
{変数.has[値]} / .count[値] / .position[値] | Whether it contains a value, how many there are, and at which position |
{変数[キー=値].キー} | Gets a value from the item that matches a condition (for example, {shop[name=Potion].price}) |
“Each item of a list” has been added to “Repeat by” in “Loop”. The body is repeated for each item in the “List to repeat over”, and inside the body you can use {item} and {item_index} (starting from 0). If the list is empty, or the value given is not a list, the body is skipped and the flow moves on.
The command creation screen
Pressing the button to create a command now opens a full-screen “Create a command” screen before the canvas. Fill in “Type”, “Start from”, “Name and description”, and “Where it can be used” in that order, then press “Open the canvas”. When you create a command inside a group, there is no “Type” step, and where it can be used follows the parent group’s setting (you can change it from “Open group settings”).
- “How it looks in Discord”, on the right of the screen (below on narrow screens), follows what you enter and shows how the command appears in the command list when you type
/or in the menu when you right-click, the permissions it needs, and the blocks that will be placed on the canvas. - For slash commands, “Start from” offers an empty command as well as six templates: “Greeting”, “Give a role”, “Fortune”, “Announcement”, “Quick vote”, and “Timeout”. The moderation templates come with settings so that only people with the necessary permissions can run them.
- “Give a role” and “Timeout” are marked “Servers only”. They use blocks that do not work in DMs, so choosing them means you cannot select “DMs with the bot” under “Where it can be used”.
- For slash commands, if you have reached the limit on how many can be enabled, we now tell you at the top of the creation screen beforehand rather than after the command is created. In that case, the command is created in a disabled state. For right-click commands, a type that has reached its limit can no longer be selected under “Type” on the creation screen.
Where it can be used (servers / DMs with the bot)
You can now choose “Servers” and “DMs with the bot” under “Where it can be used” for each custom command. Besides the creation screen, you can change this in the “Slash command” block settings or in the group settings. Commands inside a group follow the setting of the top-level group. The default is “Servers” only. For how existing commands are treated, please see Compatibility.
- Only people who are in a server with the bot can use commands in DMs with the bot. Commands restricted by role cannot be run by anyone in DMs. Group DMs are not supported.
- In DMs, server-wide cooldowns are also counted per user.
- The new variable
{Command.context}tells you where the command was run (serverinside a server,dmin DMs). - Commands that contain blocks that do not work in DMs (adding or removing roles, kicks, timeouts, bans, operations on channels, threads, and roles, conditions such as role branches, role options, and so on) cannot be saved while “DMs with the bot” is selected. The reason is shown above the block, so please either deselect DMs or remove the block. Server-wide persistent variables cannot be read or written in DMs either. “Purge messages” and “Create instant invite” can be used in DMs if you specify the channel by ID.
Right-click commands
Choosing “User menu” or “Message menu” under “Type” on the creation screen lets you create commands that are run in Discord by right-clicking a user or a message and choosing them under “Apps”. You can refer to the right-clicked user with {Command.targetUser} and the right-clicked message with {Command.targetMessage}. The person who right-clicked can be referred to with the variables for the person who ran the command, as before.
- Menu names can include Japanese, capital letters, and spaces.
- Right-click commands are created from an empty command (the templates are for slash commands). They cannot have a description or option blocks, and they cannot be placed in a group. Their type cannot be changed after creation. They cannot be listed on the marketplace either.
- Where they can be used, and how blocks that do not work in DMs are handled, are the same as for slash commands.
- In the command list, they are shown together as “Right-click commands”. How many you can create is counted for each type separately from slash commands, and depends on your plan.
Working on the canvas
- The header gains “Undo”, “Redo”, and “Recent changes”. You can go back to any point in the named history in one step.
- You can now search for a block and add and connect it by dropping a connection line onto empty space, or from a block’s ”+” or the
/key. You can also rename a block by double-clicking its title. - You can now select a range with the “Selection tool” and duplicate, group, or delete it all at once.
- Press
Ctrl+Shift+F(Cmd+Shift+Fon Mac) to search for blocks, andCtrl+G(Cmd+Gon Mac) to group them. Groups can also be collapsed with “Collapse to card”. - Blocks now support collapsing their descendants and a right-click menu (long-press on smartphones).
- “N changes” in the header lets you check your unsaved changes and revert them with “Discard changes”. The analysis panel gains “N issues block saving” with navigation to the previous and next issue, and commands that never reach a block that replies show a “Command never replies” warning.
- Blocks are now shown at the same width on every device, and the settings screens for buttons and select menus now include a preview of how they look.
Input fields
- We have added variable autocomplete. Suggestions are grouped by where they come from and show their type and a sample value. Press
Ctrl+Spaceto open the suggestions; inside${ }expressions, function names are completed too. - The variable menu gains a “Date and time” mode, so you can insert Discord timestamps while seeing an example.
- Fields for specifying a role, channel, or member can now switch between “Pick from server”, “ID or name”, “Variable”, and “From a block”. With “Pick on canvas”, you can specify a block by clicking it on the canvas.
- Number fields now show “Common values” buttons and warn about values outside the allowed range (you can still save, as before). Permission settings gain “Presets” (“This user only”, “Staff only”, “Read-only”, and “Hidden”).
- Message sending settings gain “Templates” and “Copy JSON” / “Paste JSON” in the same format as Discohook.
Cooldowns and saving
- Command settings gain “Cooldown scope” (per user / whole server) and “Reply while on cooldown”. The reply can use
{cooldown_left}(time remaining) and{cooldown_ends}(when the command can be used again). The default reply is in Japanese or English to match the Discord language of the person who ran the command. - If the same command has already been saved from another screen, we now show “Changed in another window” and let you choose “Reload” or “Overwrite”. Previously, whichever was saved later silently replaced the earlier changes.
Custom events now have 130 triggers
We have increased custom event triggers from 66 to 130. New categories have been added: “Bot features”, “Protection”, “Economy”, “Auto responder”, “Custom commands”, “Reminders”, “Backups”, and “Scheduled events”. For each trigger, the variables that receive values appear among the suggestions in input fields.
| Category | Main triggers added |
|---|---|
| Bot features | Ticket opened / closed / reopened, Joined a giveaway / Giveaway ended / created, Leveled up, Role panel used, Passed verification / Failed verification |
| Protection | Anti-Nuke triggered, Anti-Raid triggered, Scam link detected, Blocked word detected, Invite link blocked |
| Economy | Money sent, Bank interest credited, Debt fully repaid |
| Auto responder | Auto responder matched, Auto response failed |
| Custom commands | Command failed, Command timed out |
| Reminders and backups | Reminder sent, Backup created / restored |
| Scheduled events | Scheduled event created / updated / deleted |
| Messages, channels, and server settings | Messages bulk deleted, Webhooks updated, Integration added / removed |
You can build automations that connect the bot’s features to one another, such as “send a survey when a ticket is closed” or “give a role on reaching level 10”.
When they run
- “Leveled up” runs once for each level gained. It runs even if level-up notifications are turned off.
- “Role panel used” runs when roles are actually added or removed. It does not run for reaction-type panels.
- “Joined a giveaway” does not run when someone withdraws, and “Giveaway ended” does not run on a reroll.
- “Ticket closed” does not determine where messages are sent automatically. Please specify the destination channel with a block.
- “Messages bulk deleted” only tells you how many messages were deleted. “Webhooks updated” cannot tell creation, changes, and deletion apart.
Other improvements
- “Thread created” now lets you refer to the body and author of posts in forum / media channels through variables. Giveaway triggers can use
{Giveaway.winnerCount}(the number of winners set). - Newly placed blocks now target the event’s message or role from the start. For triggers whose target has already been deleted, we show an “Operates on a deleted target” warning.
- The custom event list can now be searched and filtered by trigger type and by enabled / disabled.
A new analytics screen for bots
We have added “Analytics” to the tabs at the top of the bot screen (to the right of “Home”). You can follow trends in commands, events, messages, and server members.
- You can switch between four metrics, “Command runs”, “Event runs”, “Messages”, and “Server members”, and view them as a chart. The chart overlays the previous period, and each metric shows the percentage change from the previous period.
- “Command runs” counts how many times slash commands and right-click commands were run (it does not include actions such as buttons). “Messages” is the number of messages the bot received; message content is not stored.
- The screen shows “Top commands”, “Usage by feature”, “Custom events”, and rankings by server, “Server members, joins and leaves”, and a breakdown by day of the week and time of day. Times are shown in your time zone. Joins and leaves are not shown for bots that do not have the setting to receive member information (the members intent) enabled.
- You can narrow the view to the total across all servers or to an individual server.
- You can choose a period of “24 hours”, “7 days”, “30 days”, or “90 days”. The periods available depend on the plan of the bot’s owner. For the 90-day view, the comparison with the previous period is not shown.
- The data the figures are based on, and the items that can be shown, vary with the period and filters you choose.
You can also ask BotShader AI about your bot’s analytics, based on the same figures as this screen (see the BotShader AI section).
New Twitch Live Notifications add-on
We have added the “Twitch Live Notifications” add-on (beta). When a Twitch streamer you have registered goes live, it posts a notice to the channel you chose. If you turn on the per-streamer setting, the end of the stream and changes to its title and category are also reflected in that post (off by default). Install it from the add-on store to start using it.
- Dashboard: Register streamers by Twitch username or URL from “Add a streamer” on the “Per server” tab. For each streamer, you can set the “Post channel”, the “Roles to mention” (mentions are only made in the stream-start post), what to announce, and filters (“Words the title must contain”, “Words to exclude”, and “Quiet hours”).
- Message text: Turn off “Use the built-in message” to edit the stream-start and stream-end messages for each server. You can use variables such as
{Twitch.streamerName},{Twitch.title}, and{Twitch.url}. Turn on “Send the stream end as a new post” to announce the end in a new post rather than by editing the start post. - Discord: You can register streamers and change settings with
/twitch add,/twitch remove,/twitch list, and/twitch settings. By default, the Manage Server permission is required.
How many streamers you can register depends on your plan (the same streamer registered in several servers counts as one). Streams that are already live when you register the streamer are not announced.
New QR Code add-on
We have added the “QRコード” (QR Code) add-on (beta). It adds commands to your bot that make QR codes from URLs or text and read QR codes in images.
To use it, install “QRコード” (QR Code) from the add-on store, then turn on “Enable module” on the “QR code” screen in the dashboard and save. By default it is not installed, and the module is turned off. Once the settings reach the bot, the commands and menus appear in Discord.
/qr create: Makes a QR code from a URL or text. The type of content (URL, text, email, phone number, server invite, and so on) is detected automatically./qr textturns multi-line text into a QR code as it is./qr read: Reads the QR code in an attached image (PNG, JPEG, or WebP).- Message menus “QRコードにする” (Make QR code) and “QRコードを読み取る” (Read QR code): Right-click a message (long-press on smartphones) and choose them under “Apps” to turn a URL in the message into a QR code, or to read the QR code in an attached image.
- A new QR code is first shown in a view that only the person who ran the command can see. You can change the colour preset (eight to choose from), the colours, and the content, and choose “Post to channel”, “Send by DM”, or getting it as an SVG. QR codes posted to a channel show their content and who made them.
- Each time a QR code is made, the bot reads it back as an image to check that it can be scanned. Printing or how it is photographed can still make it harder to read, so please try it yourself before handing it out.
- Discord login QR codes and dangerous content cannot be made into QR codes. A warning is shown for things such as confusingly similar domains. QR codes for payments and money transfers cannot be made by default (you can allow them in the settings).
- On the settings screen, you can set whether posting to channels is allowed, the default colours, and whether each command and menu is enabled and who can use it. There is a limit on how many times they can be used in quick succession.
Accounts and sign-in
- You can now also sign up with Google or GitHub, and sign in straight after signing up. A new account created with Google or GitHub shows as “Discord link required” until you link a Discord account, and features such as creating and configuring bots are unavailable until then. On the screen shown after you sign in, press “Get Discord link code”, then join the BotShade Link server with “Join the Link server”. On the Link server, press “連携する” (Link) on the link panel, enter the code in the box that appears, and submit it; the screen then moves on to the dashboard by itself. You do not need to go through the Discord sign-in screen.
- A link code is valid for 10 minutes from when it is issued and can be used only once. Pressing “Get a new code” makes the previous code stop working. Once linked, the Discord account cannot be disconnected. Each Discord account can also be linked to only one BotShade account. BotShade staff will never ask you for your link code, so please do not share it with anyone.
- Existing accounts are not affected (this screen is not shown to them). If you already have an account that signs in with Discord, please sign in with that account rather than signing up again with Google or GitHub.
- When you sign in with a Discord, Google, or GitHub account from a device that has not yet been verified, we now ask you to enter a verification code. We send an email titled “ログインの確認コードをお送りします” (Your sign-in verification code) to your registered email address. Please enter the six-digit code from the email on the “Enter your verification code” screen and press “Verify and sign in”. You can also sign in by pressing the button in the email (in that case, you are signed in on the device where you pressed the button). The code and the button are valid for 30 minutes. Depending on the situation, we may send you a sign-in link instead of a code.
- If you are already using BotShade, we will ask you to verify once the next time you sign in from a device that has not been verified. Once a device has been verified, we will not ask again. Signing in with a passkey, a recovery code, or an email link is unchanged.
- BotShade will never ask you for your verification code. If you receive an email you do not recognise, please discard it without pressing the button or entering the code.
- When there are too many sign-in attempts, we now show “Too many sign-in attempts. Wait a minute and try again.” instead of an unclear message such as “The request is invalid”. We have also fixed the screen sometimes moving on when signing in with Discord, Google, GitHub, or a passkey failed; an error is now shown instead.
- We have added a consent screen for the Terms of Service and Privacy Policy that took effect on October 20, 2026. If you registered before that date, the dashboard shows the screen “You need to accept the new Terms of Service and Privacy Policy”. Please review the main changes and the full text, then press “Accept and continue”. Dashboard features are unavailable until you accept. For details of the revision, see Notice of Revision of Terms of Service and Privacy Policy.
Dashboard improvements
- Storage has a new “Stored values” tab. You can review the values that commands and events have written to variables in a list, and correct them on the spot with “Edit value” and “Delete value”.
- We have prevented changes saved from other screens or with Discord commands from being reverted when bot settings are saved from an outdated screen. Changes that do not overlap are now combined and saved automatically, and only when the same setting was changed in both places do we show “These settings were changed in another window”.
- Editing environment variables, storage, and groups now happens in a panel that opens from the right edge of the screen. Several environment variables can be created at once, and you can also check their “Change history”. Each feature in the bot sidebar now has an enable / disable toggle.
- The home screen has been rebuilt. The bot list can be switched between “Card view” and “List view”, and “Ask BotShader AI” sits below the list. The add-on and custom command lists are now shown as a grid.
- The contact screen has been rebuilt in a chat format. You choose the type of enquiry first, then send a subject and message, and you can attach screenshots.
- We have reworked the bot’s activity logs. Start-up records are combined into a single entry such as “Bot started (took Ns)”, and failures are now classified, for example as “Can’t be used on this member” or “Network error”. Failures that were not recorded before are now recorded, and log details show roles and channels as “@role name” and “#channel name”.
- Preview colours are now closer to Discord’s dark theme, and the design and subject lines of emails sent from BotShade have been made consistent.
Bot feature improvements
- We have added “抽選を作成” (Create giveaway) to the giveaway management screen and “パネルを作成” (Create panel) to the role panel selection screen, so you can start creating one on the spot even when the list is empty.
/rolepanel createcan now be run without arguments. - The maximum amount the economy feature can handle has been raised substantially. Amounts of one quadrillion or more are shown in scientific notation such as “1.2344×10³³”, and you can also enter amounts in scientific notation such as “1e30”.
- Poll end times and repayment due dates are now shown in the viewer’s local time.
- More AI models can now be chosen for “AI responses”. Existing models continue to work as before. Which models you can choose, and the situations each model can be used in (such as “Chat via command” and “Channel summaries”), depend on your plan. If you choose a model that is not available on your current plan, a warning is shown in the selection field.
Documentation site improvements
We have added “Ask AI” to the bottom right of every page on the documentation site. It answers questions about how to use BotShade based on the documentation, and includes the pages it referred to in its answers. From the search dialog, you can also send what you typed as a question. Conversations are not saved and disappear when you move to another page.
You can also now copy, from the “Open” menu on each page, a URL for connecting the documentation to AI tools that support MCP.
Bug fixes
Bot features
- Fixed XP continuing to build up from sending messages even when leveling was disabled.
- Fixed new giveaways sometimes not ending automatically after their end time on bots with a large number of giveaways.
- Fixed role panels sometimes becoming unresponsive after a period of inactivity, and staying that way until the bot was restarted.
- Fixed issues with recurring reminders, such as later reminders no longer being sent after pressing “Done” on a notification, the time drifting after snoozing, and an internal error when only a date was entered for the end date and time.
- Fixed
/economy balanceand other commands becoming unusable when bank interest grew too large. - Fixed the bot sometimes behaving as if its settings had been reset to the defaults when its settings temporarily could not be loaded.
Custom commands and custom events
- Fixed “Role branch (If)” not matching even when the “has” condition was met. Commands you have already saved are now evaluated correctly without saving them again.
- Fixed “Send API request” using the whole response when a JSON path starting with
$(such as$.data.user.id) was specified. - Variables that appeared among the suggestions but never actually received a value have been removed from the suggestions. This affects some variables for auto responders, tickets, and role panels.
- Fixed changes to environment variables in the dashboard sometimes not being reflected in the bot’s behaviour.
- Fixed the settings screen showing “1” when the expiry in “Create instant invite” was set to 0 (never expires). The invite links created were already permanent, as configured. The display when the maximum number of uses is set to 0 (no limit on uses) has been fixed in the same way.
- Fixed an empty value being sent when an option’s submitted value was left blank; the label is now used as the submitted value.
- Fixed blocks appearing out of position when a command was opened on another device, and “Arrange blocks” being unavailable on canvases with groups.
Dashboard
- Fixed “Saved” sometimes being shown when saving bot settings even though part of the save had failed.
- Fixed the error count in the bot list on the home screen always showing 0.
- Fixed the original account disappearing from the accounts you can switch to after signing in to another account with “Add account”.
- Fixed pinch gestures not working while a modal was open on smartphones, and the bottom of the custom command sidebar being cut off.
Compatibility
Bots, commands, and custom event definitions you have been using continue to work as they are in v3.0.0. No migration of your settings, and no procedures for moving to general availability, are needed.
Please note the following changes.
- “Branch by time” is now evaluated in the bot’s time zone (Japan time if none is set). Previously it was evaluated in Coordinated Universal Time, so the results of existing conditions may change. If you have commands or events that use it, please check their conditions.
- In functions called after a button or similar is pressed in a custom event,
{User}/{Channel}/{Guild}now refer to the user, channel, and server that triggered the event, rather than the person who pressed the button. You can refer to the person who pressed it with{Command.user}. - “Send API request” with a JSON path starting with
$now extracts the value you specified. - By default, custom commands can only be used inside servers. Existing commands are also treated as having “Servers” only under “Where it can be used”, and do not appear in DMs with the bot. To use a command in DMs as well, select “DMs with the bot” under “Where it can be used” in the command’s settings (for commands inside a group, the settings of the top-level group) and save. Only people who are in a server with the bot can use commands in DMs, and commands restricted by role cannot be run in DMs. For details, see Where it can be used.
- When a panel, modal, or similar sent to DMs reaches a block that does not work in DMs (such as role operations), this is now treated as an error. Previously, the flow ended without doing anything. In error handlers, it arrives as the error “This action only works in a server”, and
{Error.type}isguild_required. - Role filters can no longer be set for “Scheduled event interest added” and “Scheduled event interest removed”. They had not been working before.
- “Thread created” no longer runs for threads created by the bot itself.
- The Anti-Raid “New account limit (days)” setting now works as configured, so more people may be subject to penalties.
- For recurring reminders, “Done” on a notification now marks only that occurrence as done. Later reminders continue to be sent.
- You can no longer choose a model or thinking mode in BotShader AI. They are chosen automatically to suit each request.
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, and we look forward to continuing to serve you now that it is generally available.