v2.5.8 Release Notes
Custom events go further. They can now be triggered by messages being posted and by members joining, leaving, or moving between voice channels, and messages sent from an event can now carry buttons, select menus, and Components V2. In the builder, you can switch between commands and events using tabs at the top, and event filters are now chosen from a list. This release also includes fixes for the initial settings of new bots and for how IDs are displayed in per-command permission settings.

|
|
Published: September 19, 2026BotShade has been updated to v2.5.8. This release centres on extending custom events.
Custom events can now run when a message is posted and when someone joins, leaves, or moves between voice channels. Messages sent from an event can also carry buttons, select menus, and Components V2, and you can build what happens after a click inside the event itself.
The builder has been tidied up as well. You can now switch between commands and events using tabs at the top of the screen, and in event filters categories and users can now be picked from a list.
If you notice anything, please do let us know from support.
Table of contents:
- Highlights
- Events can now be triggered by messages and voice channels
- Buttons, select menus, and Components V2 in events
- Builder improvements
- Role panel settings improvements
- Bug fixes
- Compatibility
- Support and community
Highlights
- Custom events gain a “Message sent” trigger.
- Custom events gain three voice triggers: “Joined a voice channel”, “Left a voice channel”, and “Moved voice channel”.
- Messages sent from custom events can now use buttons, select menus, and Components V2.
- Event conditions can now check “the user who clicked the button”.
- The selector at the top of the builder now lets you switch between commands and events using tabs.
- Event filters are now shown as a list you can expand and collapse item by item, and categories and users can be picked from a list.
- Fixed tickets and welcome messages not being enabled from the start on newly created bots.
- Fixed role and user IDs in per-command permission settings being displayed with the wrong value.
Events can now be triggered by messages and voice channels
We’ve added the following four triggers for custom events. The three voice triggers are grouped under a new “Voice” category.
| Trigger | When it runs |
|---|---|
| Message sent | When a message is posted in the server |
| Joined a voice channel | When a member enters a voice channel |
| Left a voice channel | When a member leaves a voice channel |
| Moved voice channel | When a member moves to a different voice channel |
All four support filters by channel, category, role, user, and expression. For “Moved voice channel”, channel and category filters apply to the channel the member moved to.
Inside the event, you can refer to details of the message, the member, and the channel using variables. “Message sent” provides {Message.createdAt} for when the message was posted, and “Moved voice channel” provides {Before.mention} for the channel moved from and {After.mention} for the channel moved to (with {Before.id} / {After.id} for the IDs).
About “Message sent”
- It does not run for posts from bots or webhooks, or for system messages (such as join announcements or pin notifications). Messages sent by the bot itself will not set the event off again in a loop. Joins, pins, and boosts each have their own dedicated triggers.
- To read the content of messages, you need to enable the bot’s “Message Content Intent” in the Discord Developer Portal. The event still runs without it, but the message content is treated as empty.
- Every post in the server is a trigger. We recommend using filters such as channels to limit where the event runs to the places you need.
About the voice triggers
- They do not run for changes that keep the member in the same channel, such as muting, screen sharing, or turning a camera on or off.
Buttons, select menus, and Components V2 in events
Messages sent from custom events can now carry buttons and select menus, and you can build what happens after a click inside the event, just as you would in a command. Components V2 messages can now be sent from events too.
Until now, buttons and select menus were stripped from event messages so that only the text was sent, and Components V2 messages were not sent at all.
A few things work differently from commands, so please check the following before you start.
- Buttons sent from an event can be pressed by anyone. A command’s buttons can only be used by the person who ran the command, but an event has no one who “ran” it. If you want to limit who can press them, place a role, user, or permission condition right after the button. The settings screen shows the same guidance.
- Once a button is pressed, the person who pressed it becomes the subject of the flow. In conditions, you can choose the new “the user who clicked the button” option. After a click,
{Command.user}/{Command.channel}/{Command.guild}refer to the person who clicked and where they clicked. Variables describing the event, such as{Event.user}, stay the same after a click. - Messages visible only to the person who clicked (ephemeral) can only be used after a click. Before that point, they are sent to the channel as normal messages.
- Buttons sent from an event can be used for about five minutes. Panels set to “persistent” are also sent as temporary five-minute buttons when used in events.
- Forms opened from a button (modals) are still not shown in events.
- If a large number of buttons are waiting to be pressed, a button may be sent in a state where it cannot be pressed. When that happens, a note is left in the logs.
We’ve also changed the event builder to use wording suited to events. Places that used to say “the user who ran the command” and “the channel where the command was run” now say “the event’s target user” and “the channel the event came from”. This is a display change only; your saved settings are unchanged.
Builder improvements
- You can now switch between commands and events from the selector at the top of the builder. The selector has “Commands” and “Events” tabs, and choosing an item of the other kind takes you to that builder. If you have unsaved changes, we ask you to confirm, as before.
- Event filters are now a list you can expand and collapse item by item. They follow the same layout as the list of choices in custom commands, with the number and type of each filter shown in its heading. Categories and users, which previously had to be entered by pasting their IDs, can now be picked from a list. Your selections appear as tags in the same style as other settings screens. Filter targets are shown by ID rather than by name.
- The “Choice” category has been removed from the block list in the event builder. There were no blocks in it that could be used in events, so it was always empty.
- Descriptions in the command and event builders have been tidied up. We removed around 200 descriptions and examples that simply restated the label, so the ones that matter — limits, formats, defaults, and cautions — are easier to spot.
Role panel settings improvements
For attaching panels to existing messages, which we added in v2.5.7, the settings screen now shows the conditions under which a panel silently stops working.
- Attaching to an existing message only works with the reaction type. Rows whose type is not the reaction type now show a warning on the settings screen.
- When you switch from a bot panel to an existing message, the panel message the bot sent earlier is not deleted automatically. Its buttons stop responding after the bot restarts, so please delete it by hand. The settings screen now explains this too.
- The target must be a message in a channel the bot can view. In a channel the bot cannot see, it does not receive reactions and nothing happens.
Bug fixes
- Fixed tickets and welcome messages not being enabled from the start on newly created bots. When we changed the default settings for new bots in v2.5.0, these two features were missed. Bots created from now on will have them enabled from the start, as described. Settings for bots you have already created are unchanged. If you’d like to use these features, please enable them from the settings screen.
- Fixed role and user IDs registered in per-command permission settings being displayed with the last few digits wrong. Long IDs were being rounded when handled on screen. If you removed and re-added any settings because of the incorrect display, please check that they point to the right targets.
Compatibility
Bots, commands, and custom event definitions you’ve been using continue to work as-is in v2.5.8. No migration of your settings is needed.
Please note the following change.
- Events that include buttons, select menus, or Components V2 will behave differently. Events that previously had their buttons and select menus stripped, sending only the text, will now send them with the buttons and select menus attached. Components V2 messages that were not being sent will now be sent too. Because anyone can press an event’s buttons, if you have events like this, please review what happens after a click.
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.