DiSky
5.0.0-b1The best Skript add-on for Discord management! Slash commands, interaction, components, modal, and much more are available!
5.0.0-b1latestDiSky 5.0.0-b19 hours ago Features
- live entity setters, message channel, generic channel getters, V4 activities, relogin shuts the previous bot (caaa764)Fixes
- readable automod execution in the automod execution event (d427d09) - readable reaction emoji in reaction add/remove events (3897707) - V4 string display for entities, Skript types for channel update events (5b38161) - relocate shaded dependencies, null-safe member voice channel, deterministic default bot (67ac41f) First DiSky V5 release: every syntax is listed on the Atlas, https://atlas.disky.me.4.29.0DiSky 4.29.0May 24, 2026 Hi there! Back with a pretty packed updateHuge thanks to @P0wders who handled a bunch of the PRs in this release (slash command id, activity & primary guild events, and more)!
New Features Scheduled Events Full support for Discord's scheduled events! 11 new events: create, delete, user subscribe/unsubscribe, plus name/description/location/start & end time/status/cover image updates. The status update is how you catch an event starting or ending. New scheduled event description and scheduled event jump url properties.
Needs the SCHEDULED_EVENTS intent + cache flag (both off by default)!
Activities & Rich Presence Member Activities (activities of %member%): every current activity of a member (game, stream, custom status...). 10 new activity properties: details, state, large/small image url & hover text, party size/max size, start/end timestamp. New user activity start / user activity end events.
Needs the GUILD_PRESENCES intent + the ACTIVITY cache flag!
More properties & conditions Member Colors (colors of %member%): the RoleColors of the member's highest non-default role. Invite Creation Date (expanded invites only!). User is Showing Server Tag condition. New user primary guild update event (past/new primary guild id & user tag). Added a slash command id expression in slash command events.
Retrieve Poll Voters New retrieve poll voters effect: get who voted for a given poll answer (by position or pollanswer). Just pass the poll's message, the bot rebind is handled like retrieve message.
Audio: important DAVE update Discord enforces DAVE (E2EE for audio/video) since March 1st, 2026; without it, audio connections stop working. DiSky now wires it automatically.
macOS isn't supported by DAVE (Linux & Windows only). If your bots use voice, updating is strongly recommended! Improvements has role and the bot-in-thread condition now accept lists and proper negation (isn't, doesn't have...). discord id now works on pollanswer objects. Big documentation pass + cleaner generated docs (thread states now included). Full Changelog: 4.28.0...4.29.0
4.28.0Role colors, checkboxes/radios, file uploads in modals and more!Apr 20, 2026 Hi there! I'm finally back :rocket: It's been a while since the last update (February 1st, oof), and I'm slowly coming back to DiSky, which I still try to maintain in my (shrinking) free time. This release brings Skript 2.15 support, a major JDA v6 upgrade, brand new modal components, and a few quality-of-life improvements! Thanks to @sovdeeth for the async optimizations and format fixes!:sparkles: New Features
- Checkbox & Radio components for Modals: You can now usenew checkbox groupandnew radio groupinside your modals, along with their associatednew component optionfor dropdowns, checkboxes and radios. - Attachment Upload in Modals: Added thenew attachment upload buildercomponent and thereceived attachmentsexpression to grab files uploaded through modals. - Role Color Properties: Addedprimary role color,secondary role colorandtertiary role colorproperties, along with conditions to check a role's colors. - Retrieve Role Member Count: Newretrieve role member counteffect to fetch and store, in a list variable, the members assigned to a role. - `Members with roles` expression: Introduced a cleaner expression to retrieve members by roles — combining sync & async versions — that replaces the now-deprecatedfind members with roles.:information_source: You can browse all the new syntax, along with patterns and examples, using the
tag:newquery on [DiSky Syntax](<https://syntax.disky.me/?search=tag%3Anew>)!:hammer_pick: Improvements
- Skript 2.15 support — DiSky is now compatible with the latest Skript release. - JDA updated to v6.4.1 — major dependency bump for better Discord API compatibility and access to newer features. - Enhanced thefind membersection with nativereturnsupport. - Improved patterns and documentation for the modalcomponent valueexpression andnew component optionbuilders. - RefactoredDocBuilderto support modern SkriptSyntaxInfo, improving documentation generation. - Switched to DiSky's internal registration system over Skript's default one for better consistency. - Minor performance optimizations on permission checks and array creation.:bug: Bug Fixes
- Fixed multi-threading and variable de-sync issues inside thefind membersection. - Prevented duplicated event values in the event system, with some cleanup around guild events. - Simplified and fixed boolean checks for thebot member is in threadcondition and several property conditions.:warning: Breaking Changes
- Skript 2.15+ is now required — following the dependency update, DiSky v4.28 no longer supports Skript 2.14. -find members with rolesis deprecated in favor of the newmembers with rolesexpression. Please update your scripts :slight_smile: --- That's all for this one! The next update will likely bring soundboard sounds support, voice channel effects, and more bug fixes if anything pops up. Thanks a lot for your patience and continued support :blue_heart: Full Changelog: <https://github.com/DiSkyOrg/DiSky/compare/4.27.0...4.28.0>4.27.0Support for Skript 2.14, new features, hotfixes, and more!Feb 1, 2026 This new version of DiSky mainly brings support for Skript 2.14 and upward, making any previous version of Skript __NOT__ usable! From now on, DiSky will only support Skript 2.14+. Thanks to @Fusezion & @EquipableMC as always for their help on a few things for this release!
- AddedNew Features
Member Can Interact With Member(s)/Role(s)condition - AddedThread OwnerandThread Message Countproperties - AddedUser Tag Icon/Badge URLandUser TagpropertiesYou can take a look at their syntax, along with examples and description using the new
tag:newquery in [DiSky Syntax](https://syntax.disky.me/?search=tag%3Anew)!
- Upgraded to Skript 2.14+ compatibility - Complete refactoring to support the latest Skript API changes - JDA dependency updates - Updated to the latest JDA version for better Discord API compatibility and performance - Optimized expression parsing - Improved performance when handling complex Discord object expressions - Enhanced error handling - More descriptive error messages when syntax fails or Discord API calls encounter issues - Code cleanup and refactoring - Removed deprecated code and improved overall codebase maintainability - Better null safety checks - Added additional validation to prevent null pointer exceptions in edge cases - Improved documentation generation - Enhanced syntax documentation system for better searchabilityImprovements
- Fixed issues with thread-related properties not being accessible in certain contexts - Resolved crashes when accessing member properties with invalid or missing permissions - Fixed embed field manipulation causing unexpected behavior in some scenarios - Corrected inconsistent behavior with permission checks across different guild contextsBug Fixes
- Skript 2.13 and below are no longer supported - Every modules MUST be updated! Please refer to [this page](https://wiki.disky.me/modules/#version-compatibility) to check which version of each module you need.Breaking Changes
What's Changed
* Add event-user to member leave event by @Fusezion in https://github.com/DiSkyOrg/DiSky/pull/277 * Add support for checking boost tier messages by @EquipableMC in https://github.com/DiSkyOrg/DiSky/pull/282 * Add thread owner and message count expressions by @Copilot in https://github.com/DiSkyOrg/DiSky/pull/283 * Fixed duplicate [the] in multiple expressions by @CrebsTheCoder in https://github.com/DiSkyOrg/DiSky/pull/284 * Translate DiSk handwritten documentation by @ItsTheSky in https://github.com/DiSkyOrg/DiSky/pull/288 *Complete documentation with @SeeAlso annotations for all elements by @ItsTheSky in https://github.com/DiSkyOrg/DiSky/pull/289 *
Allow Resetting or Clearing of a Nickname by @EquipableMC in https://github.com/DiSkyOrg/DiSky/pull/292 * enhance
FindMembersection with nativeEffReturnsupport by @ItsTheSky in https://github.com/DiSkyOrg/DiSky/pull/298New Contributors
* @Fusezion made their first contribution in https://github.com/DiSkyOrg/DiSky/pull/277 * @Copilot made their first contribution in https://github.com/DiSkyOrg/DiSky/pull/283 * @CrebsTheCoder made their first contribution in https://github.com/DiSkyOrg/DiSky/pull/284 Full Changelog: https://github.com/DiSkyOrg/DiSky/compare/4.26.0...4.27.04.26.0QoL Update & Embed EnhancementsOct 19, 2025 Hello there! Here comes DiSky v4.26.0 with some nice quality of life improvements and bug fixes! Thanks to @EquipableMC and @Fusezion for their help on some stuff!:sparkles: New Features
- Embed Fields as Expressions: Embed fields are now accessible and manipulable as expressions, giving you more flexibility when working with embeds. See [here](<https://docs.disky.me/latest/docs/expressions/#embed-fields>) - Embed Templates: Brought back the embed template system from DiSky v3! You can now register and reuse embed templates for more efficient embed creation. You may also use them in data structures! - Member Boost Time Support: Added support forMember's boost time, allowing you to retrieve how long a member has been boosting the guild. See [here](<https://docs.disky.me/latest/docs/expressions/#member-boo…>) - Better Variable String Support: This enables more intuitive variable storage for Discord objects (channels, messages, members, etc.). You can now use{blah::%{_member}%}instead of{blah::%discord id of {_member}%}.:tools: Improvements
- Enhanced Message Editing: Theedit messageeffect now supports full or transient replacement modes, giving you better control over whether previously unedited content (like embeds) should be replaced or preserved. See [here](<https://docs.disky.me/latest/docs/effects/#edit-message>):bug: Bug Fixes
- Fixed global and guild slash commands creation/updating system that was broken due to command ID changes on server restart.What's Changed
* Spelling correction inRetrieveMember.javaby @Mushkrem in https://github.com/DiSkyOrg/DiSky/pull/269 * Adds support for getting the boosted time of a member, and fixes invalid docs url in feature template by @EquipableMC in https://github.com/DiSkyOrg/DiSky/pull/270 Full Changelog: https://github.com/DiSkyOrg/DiSky/compare/4.25.0...4.26.04.25.0Components V2 with modals are here!Sep 16, 2025 Hi there! This is a rather small, yet useful update, that brings text display, labels, and select menus into modals! You may now mix those new components when opening modals, and gather the input easily![!CAUTION]
Breaking Changes: DiSky v4.25.0 requires an update to the way you previously created text inputs for your modals. Refer to the new [documentation page about modals](https://docs.disky.me/latest/interactions/modals/) for examples and more information.
I've also launched Projects! This will help me (and you!) keep track of what should/must be done until the next release. You may add your review anytime to any idea already inside the [DiSky v4 Project)(https://github.com/orgs/DiSkyOrg/projects/1)!4.24.0-beta3Bugfixes & new retrieve pinned message effect!Aug 12, 2025 Hi there! I'm back from vacation :P Here's another small update that brings some bugfixes, QoL things, but mainly fixes attachments issue with file uploads! - Addedretrieve pinned messageseffect, with its newpinnedmessageclass; it can be used as a normal message, but has one more property:pin date of %pinnedmessage%. - Enhancednew separatorsyntax:large/smallis now optional; it'll default tolargeif none is specified. -posteffect may now be givenfile uploadsdirectly (so you may upload only files this way) - Theinline message builderexpression has been reworked to work with the new file upload system; you cannot give strings for its files anymore. Every effect/expression that previously used attachments (= accepted strings or images, DiSky had to hint its source anyway) will now require a file upload instead, you'll have to create [according to this doc page](https://disky.me/docs/messages/file-uploads/)!You can find more info about it in the [__Migration__ page](https://disky.me/docs/migrations/disky-v4-24/), from v4.23 (or older) to v4.24
4.24.0-beta2Message/User Commands now finally work!Jul 31, 2025 This is a late night release, I know. This comes with a much needed release, and much needed features. #Message/User Commands now finally work! Thanks to Sovde on the SkriptLang team, he has helped me fix the issue with message commands/user commands, so they should properly enable and register now! Check the docs for more information! #
Suppress Link Embeds! You can now suppress (or hide) link embeds from either a bot or a certain user! If its in dms, you can only suppress link embeds from the bot in the dms, not the user. Documentation for this will come tomorrow as I need much needed sleep. Right now, the syntax is the following:
(suppress|hide) [the] [discord] [link] embed[s] [message] (of|from) [the] [discord] [message] %message%()means its required, and[]means its optional, and%message%is obviously required to specify the exact message. #Why beta? Now I know you all are going to be asking this, so I am going to explain while taking snippets from JDA's (Java Discord API's) message. We are in beta considering this a huge new update with a heck ton new features for you all to mess around with and also find anymore bugs/issues that may arise. Now for the 2nd part. JDA (Java Discord API) is what we use to make DiSky work, and with that comes it's own issues. As from JDA, "For now, this [6.0.0-rc.1] is just a release candidate, since we might want to do some more breaking changes before the stable release of 6.0.0." This is obviously a beta build of JDA which can lead to even more issues. the next release candidate might include more breaking changes, potentially with components or other parts of JDA." This is why this is a beta. #
Known Issues We are aware attachments aren't in the best of shape right now, I am waiting on Sky to get back to investigate further. Resources site is down. We are aware. Sky is not home so there is not much we can do. Sorry.
4.24.0-beta1Components V2 is here!Jul 24, 2025 It's been awhile since the last update! This is finally announcing the release of DiSky 4.24.0-beta1. I will try to keep this short and sweet and explain why this is in beta, so please take some time to read this as this is extremely important. #Components V2/Containers Update! Yes, you heard it here, DiSky now supports the new Components v2/Containers. Discord has introduced a completely new component system (which is not compatible with the old one!) meant to replace embeds and components within messages. It allows you to create customizable layouts with sections, galleries, files, and much more, all within one component called a "Container". You can find the documentation for containers [here](https://disky.me/docs/interactions/componentsv2/), although this is a beta and you should expect bugs. We have actively tested with our @
- Platinum members and have hopefully ironed out most bugs/problems! #
File Upload enhancements We have made some changes as to how File Uploading is now handled, so this should hopefully be better now! #
Why beta? Now I know you all are going to be asking this, so I am going to explain while taking snippets from JDA's (Java Discord API's) message. We are in beta considering this a huge new update with a heck ton new features for you all to mess around with and also find anymore bugs/issues that may arise. Now for the 2nd part. JDA (Java Discord API) is what we use to make DiSky work, and with that comes it's own issues. As from JDA, "For now, this [6.0.0-rc.1] is just a release candidate, since we might want to do some more breaking changes before the stable release of 6.0.0." This is obviously a beta build of JDA which can lead to even more issues. the next release candidate might include more breaking changes, potentially with components or other parts of JDA." This is why this is a beta. We hope you enjoy this update, and thank you for using DiSky!
4.23.0New event system, stickers & emojis events, and more!May 14, 2025 Hello there! It's been a while, right :) This update reworks the whole event system DiSky was originally using (inspired by Vixio back then, but it's not scalable at all, and a real mess to maintain and add new events). Now, not only do all events support better custom event-expression (e.g.,the target userin a user command event), but also support for better timed event expressions (pattern would be likenew channel regionin a channel region update event).
DiSky v4.23 brings tons of new missing events, related to updates (channel, guild, role, ... updates) and every event related to the guild's emojis and stickers! We'll also be able to add new events very easily, while keeping the syntax for you, very intuitive :) And that's pretty much all! DiSky starts to include almost everything from JDA/Discord, so it's hard to make a "big" release; not to mention my personal time is beginning to limit my time working on DiSky :< ## What's Changed * Fix Modrinth publish workflow by @zefir-git in https://github.com/DiSkyOrg/DiSky/pull/243 ## New Contributors * @zefir-git made their first contribution in https://github.com/DiSkyOrg/DiSky/pull/243 Full Changelog: https://github.com/DiSkyOrg/DiSky/compare/4.22.1...4.23.0You may find the new event documentation [here](https://disky.me/docs/docs/events-rework/)!
4.23.0-alpha3DiSky 4.23.0-alpha3Apr 9, 2025 DiSky v4.23.0 is still in alpha; this third (and, I hope, final) version general bugfixes, as well as enhancement on existing new events. Some QoL changes are also included. * All events now uses an expression-based time value. For insta,ce instead ofpast/future event-value, a user-friendly expression exists, such asthe new voice channelin a channel move event! * Slash command permissions were fixed, when specifyingenabled forentry in groups or subcommands. * The usage of cache flags has been greatly enhanced! Take a look at the revamped [wiki page](https://disky.me/docs/bot/policy/) about that :):warning: Again, this is an __ALPHA__! Don't use in a production server as it may break things \:P
Thanks for your support & feedback, and have a nice day :love_rainbow: :modrinth~1: Download: <https://modrinth.com/plugin/disky/version/4.23.0-alpha3> :gift: Donations: (if you like my hard work): #・donations (you can also star the GitHub repo!)
4.23.0-alpha2DiSky 4.23.0-alpha2Mar 29, 2025 DiSky v4.23.0 is still in alpha; this second version brings bugfixes on event-value usage, and also introduces a lot of new events! * The new events include, but are not limited to, guild voice events, self events, scheduled events, ... (in total, there's ~40 new events!) The documentation page for events has been reworked into categories*! Take a look [yourself here!](https://disky.me/docs/docs/events-rework/)Again, this is an __ALPHA__! Don't use in a production server as it may break things \:P
Thanks for your support & feedback, and have a nice weekend4.23.0-alpha1The event-rework update is here!Mar 28, 2025 DiSky v4.23.0 is finally out, in early alpha, as it contains tons of __internal__ breaking changes; scripts themselves should not be affected (that's my goal at least), and I'll do everything to not introduce breaking changes on your end! \:P:sparkles: Event Rework
The whole event system has been reworked! All events have description, better event values, and it'll be much, much easier for me to add new events with tons of quality of life features (for instance, every update-related event like
First, I want to make sure my changes are not breaking any scripts, but once that's done, I'll be able to quickly add literally every remaining events from JDA!on channel name updatewill now useold [channel] name/[new|current] [channel] nameexpressions instead of the weirdpast/future event-string!):paper: You can find the new documentation for the event rework [here](https://disky.me/docs/docs/events-rework/)!
:zap: Custom Slash Structure Args
I've added a sort of testing version for the custom argument system for the slash structures: it'll let you put non-discord argument type (e.g.
Available custom types are: - Any Skript enumeration (enums smaller than 25 constants will use a choice argument, enums with more will use auto autocompletion) -offlineplayer), and DiSky will then take care of the rest! Not only it'll parse the input correctly, but DiSky will also provide the most UI-efficient way for this type: in case ofplayer, it'll display a choice with the currently connected players!playerandofflineplayer-member(argument will be none if the command is not within a Guild) -color(accepts Skript's constants, RGB and hexadecimal colors) If you have an idea for a custom argument type, let me know in #・chatting! --- That's all for now! As said above,
:warning: This is an __ALPHA__ build! It is __NOT__ recommended to use within a production server!
Any feedback is appreciated as always :slight_smile:4.22.1Command Registration & Message HandlingMar 9, 2025 Hello everyone! Here's a small but useful update for DiSky:
* Fixed command registration by enhancingNew Features & Enhancements
BotReadyWaiterto register commands immediately if the bot is already connected * Added guild readiness handling inSlashManagerandContextCommandManagerfor better command registration * ImprovedChannelOfto properly handle messages in guild text channels * EnhancedCreateMessageto support creating messages based on existing ones
* Added error handling for invalid channels * Fixed issues with command registration timing Full Changelog: https://github.com/DiSkyOrg/DiSky/compare/4.22.0...4.22.1Bugfixes
4.22.0DiSky 4.22.0Feb 23, 2025 Hello there! It's been a while :P Here's DiSky v4.22.0 update: relatively small, yet useful and comes with bugfixes! Thanks to @Equip for making the auto-mod support!
- AutoMod Support! - Added bunch of properties & expressions around automod - Added events to listen to automod triggering & update - Added support for Face Holding Back Tears emoji - Added support for [voice message](https://disky.me/docs/docs/effects/#post-voice-message) - Added better support for modules! A new OAuth2 module will soon come out ([docs can be found here](https://disky.me/docs/modules/diskyoauth/)) as I have to finish another secret project before :>New Features
- Updated UnbanMember effect to support user ID as string format with validation - Implemented proper shutdown method for DiSkyModule - Added module shutdown handling in onDisable - Updated JDA dependency to version 5.2.3Improvements
- Fixed issue where Skript code inside slash commands wouldn't update correctly - Resolved 'enabled for' entry problems in slash commands - Documentation fixes in README.md - Fixed theBug Fixes
move roleeffect that threw an exception when moving a role above/under another - Enhanced thehas permissioncondition: it now takes the place of Skript's condition to avoid the direct conflict4.21.1The quickest update ever?Jan 18, 2025 Well ... it's been some hours since 4.21.0 xD Anyway, this very small update fixes the usage of underscore in slash commands (+ gorups and sub-commands). If you do not use any_in your commands, then you don't really need to update for now.4.21.0The biggest update yet?Jan 18, 2025 New Infrastructure
- We're excited to announce that DiSky now has its own [Maven repository](https://gradle.itsthesky.net/) (although only DiSky is available for now). - The project has been updated to fully support Skript 2.10, including comprehensive updates to the module system:warning: From now on, DiSky will only support Skript 2.10 and above!
- Introduced DiSkyMetrics with bStats integration for better usage tracking and analytics (https://bstats.org/plugin/bukkit/DiSky/):rocket: Major Feature Additions
:control_knobs: Command Structures Overhaul
- [Implemented a new system for User & Message Command Structures](https://disky.me/docs/interactions/context-structure/) - [Added support for slash command groups and sub commands](https://disky.me/docs/interactions/slash-structure/#comma… - Fixed building issues related to slash commands with integer/double arguments that have choices - Enhanced the slash command un-registration system:construction: [Data Structures](https://disky.me/docs/concepts/ds/)!
Launched a new comprehensive data structures system! This is meant to be a more easy-to-use and powerful way to create discord objects, similar to YAML. It's a more user-friendly way to create and manage Discord objects, such as embeds, buttons (and soon, more!). Here's a quick example:
* [Check out the full documentation here](https://disky.me/docs/concepts/ds/) * [Check out the full list of available data structures here](https://disky.me/docs/docs/ds/)set {_e} to a new embed: title: "Hello, World!" description: "This is a test embed!" color: red field: name: "Also support complex expressions!" value: "%event-user%" reply with {_e}:gear: Module System Improvements
- Introduced a new module API - Added validation to prevent loading of outdated modules - Removed the feature to enable/disable/reload modules as it was broken asf:warning: See [this page](https://disky.me/docs/modules/0-getting-started/#v4210-update) to update your modules accordingly! All of them are now BROKEN with v4.21.0 if you DON'T UPDATE THEM!
:zap: Quality of Life Improvements
- Enhanced the private channel effect with better error logging - Added the ability to move roles for a specified duration - Implemented pre-filled values for text inputs - Added a new section system to the debug file with listener debugging (/disky debug listener) - (Finally) Made every expressions asynchronously changeable & gettable:bug: Bug Fixes
- Fixed unban effect functionality - Resolved issues with the ban effect not completing rest actions - Updated all deprecated Skript methods to their modern equivalents - Various performance optimizations and code refactoring4.20.2The Improvement UpdateDec 20, 2024 Hi there! This release mainly fixes some previously reported issues in DiSky. This is not a major release, but with Sky being busy with his personal life, I have decided to release this version for him.
- Added [New Features
is timed out](https://disky.me/docs/docs/conditions/#member-is-timed-out) condition for checking if a member is or isn't timed out.
- Fixed an issue with stuff being duplicated (hopefully). - Fixed an issue where Transkript module would crash your server due to pink heart emoji if generating a transcript. I encourage all users to update to this latest version to take advantage of these improvements and new features. As always, please report any issues you encounter on the GitHub repository.Bug Fixes
4.20.1Hotfix: delayed bot initializationOct 14, 2024 Hi there! This version is a hotfix for using the bot's name while it has not loaded yet.As of 4.20.0, the bot's definition structure is being loaded async, thus Skript loading other structures may be parsed before the bot is fully loaded.
4.20.0The Async Acceleration UpdateOct 13, 2024 I'm excited to announce the release of DiSky v4.20.0! This update brings several new features, performance improvements, and bug fixes.
- Bot initialization is now performed in an asynchronous task for improved responsiveness - Many elements are now asynchronously changeable, including guild/bot avatars, member nicknames, and scheduled event properties - Enhanced bot shutdown system for smoother terminationPerformance Improvements
- Added [New Features
retrieve webhook](https://disky.me/docs/docs/effects/#retrieve-webhooks) effect - New [forward message](https://disky.me/docs/docs/effects/#forward-message) effect with ability to store the forwarded message - Added [is forwarded](https://disky.me/docs/docs/conditions/#is-message-forwarded) condition for messages - Introduced ability to specify the desired bot in thepost messageeffect - Added support for changing guild verification levels - Ban effect now accepts plain user IDs
- Fixed exception when changing permissions of an entity with empty actions - Resolved issue where DiSky interfered with the "is text" condition (#223) - Corrected pattern for the secondBug Fixes
move membereffect
- Deprecated error handler now supports node information - DiSky exceptions will show the full stack trace when debug mode is active - Improved scheduled event location return types - Embed and role colors can now be reset (and are async changeable) --- I encourage all users to update to this latest version to take advantage of these improvements and new features. As always, please report any issues you encounter on the GitHub repository. Thank you for your continued support and happy coding \:PEnhancements
4.19.0Listen once section, bugfixes and more!Sep 4, 2024 Hi there! I'm finally back from vacation, with this wonderful update :)
You can now listen one time* to a specific event, right from any code. More information on the [wiki](https://disky.me/docs/concepts/listen-once/) * Added user-friendly error messages a bit everywhere. A lot are still missing tho, but it's better than nothing!New Features
* Fixed null checking in the CommandFactory class (when the args won't parse correctly) * "Fixed" (more likely enhanced) theBugfixes
on shutdownsection in a bot definition structure. The code running inside of it can now communicate with Discord's API right before the bot instance is actually shut down. * Fixed parsing exception when creating a post in a thread without specifying a storing variable. * Fixed incompatible cast in every channel action expression (when passing a channel action) Thank you for your support and happy coding! Full Changelog: https://github.com/DiSkyOrg/DiSky/compare/4.18.0...4.19.04.18.0The 'long time no see' updateAug 3, 2024 DiSky v4.18.0
We're excited to announce the release of DiSky v4.18, which includes an update to JDA v5.0.1 and introduces several new features, improvements, and bug fixes.
- Runtime Error Handler: Added a new runtime error handler with try/catch functionality. (see [here](https://disky.me/docs/concepts/error-handling/)) - Bot Leave Guild Effect: You can now programmatically make a bot leave a guild. - Thread Creation Enhancement: Made the storing part of the create thread effect optional. - Bot Name Customization: Added a way to change the name of the logged-in bot. - Bot Banner Editing: Introduced the ability to edit the banner of the logged-in bot.New Features
- Enhanced Configuration System: Implemented a better and more efficient configuration system. - Snowflake Validation: Added improved snowflake validation with more user-friendly messages and references. - Message Editing and Destroying: These actions now check if they originate from a webhooks. - Discord Name Expression: Moved the bot name expression into 'discord name' for better organization. (see [here](https://disky.me/docs/docs/expressions/#name-of-discord-e…Improvements
- Fixed usage of poll in rich messages. - Corrected the order of arguments in slash command structures. - Resolved issues with event-bots in DiSky-related events. - Fixed slash command execution on Minecraft 1.21+.Bug Fixes
- Removed the avatar decoration expression as it's not yet officially released.Removals
- Post effect exceptions are now handled by the runtime error handler. - This release includes all changes from the previous (unreleased) v4.17.3 update.Notes
- Added [Error Handling](https://disky.me/docs/concepts/error-handling/) - Added [Asynchronous Operations](https://disky.me/docs/concepts/async/) (you should really read this one \:P) We encourage all users to update to this latest version to take advantage of these new features and improvements. As always, please report any issues you encounter on our GitHub repository. Thank you for your continued support and happy coding!New Wiki Pages
4.17.2The "Mixed Additions" update!May 17, 2024 Hi there! This release mainly "converts previous stuff to new systems (you'll see what I mean below). It also comes with some additions and many bug fixes around the new slash command structure system!
More expressions now supports async gettable* via the"Rework"
awaiteffect. Some still need their migration, see the list here: #207 * The member ban, kick, and timeout (new) events are now using a new event system and thus provide more event-values (and they are more accurate) * Enhanced the slash command system when updating a command (it may only update the Skript code, not the whole command over Discord, only if no changes to the name/description/args happened)
* Added [New Features
on member timeout](https://disky.me/docs/docs/events/#on-member-timeout) event * Added [logged reason](https://disky.me/docs/guild/logs-manipulation/#logentry) property for alogentry(works for bans, kicks, ...) Added [`retrieve start message`](https://disky.me/docs/docs/effects/#retrieve-start-message) effect to retrieve the start message of a thread* * Added a user-friendly warning when using a non-message channel with theretrieve messageeffect
* Fixed a lot of conflicts, and non-registering bugs about the new slash structure system (I'm too lazy to list them all lmao) * Fixed propertyFixes
pollof message builder (it used the wrong type) Thanks for reading!4.17.1Hot & bug fixes LatestMay 14, 2024 Hi there! This minimal release fixes several bugs with the new slash command system and theon shutdownentry of the define bot structure. It also introduces a new async system for expressions and changer, although it's only available for themember with idexpression (keep information of it over [#207](https://github.com/DiSkyOrg/DiSky/issues/207)), planned to release for DiSky v4.18.0 (*a smalle xample can be found [here](https://discord.com/channels/818182471140114432/955047837…4.17.0Slash Structure, QoL enchantements and bug fixes!May 12, 2024 Hello there! This new release introduces many new features (mainly QoL) and bug fixes. It also adds a new slash command structure system, that's still in beta.
- Fixed/enhanced [Bug Fixes
create inviteeffect](https://disky.me/docs/docs/effects/#create-invite) as it doesn't support a Guild anymore - Fixed theemoji urlproperty's pattern to[the] emo(te|ji) image [url](#196) - Fixed arguments type parsed in the slash command event
- AddedNew Features
event-channelin the [user typingevent](https://disky.me/docs/docs/events/#on-user-online-status-… - Added [on poll vote add](https://disky.me/docs/docs/events/#on-poll-vote-add) and [on poll vote remove](https://disky.me/docs/docs/events/#on-poll-vote-remove) events (#192) - Added [on member kick](https://disky.me/docs/docs/events/#on-member-kick) and [on member ban](https://disky.me/docs/docs/events/#on-member-ban) events (read the docs for more info!) - Addedauthorretrieve value of the [on guild log entry createevent](https://disky.me/docs/docs/events/#on-guild-log-entry-cre…Slash Command Structure!
You can now create, register, and handle slash commands directly via a single structure! Here's a quick example:This feature is still in beta, I don't recommend using it in production yet!
slash command ban <user="target"> [<string="reason">]: description: Ban a user arguments: target: The user to ban reason: The reason of the ban lmao cooldown: 30 seconds on cooldown: if arg-2 is "cheatcode": cancel event stop reply with "You still have to wait %remaining time% before using this command again!" bot: disky guilds: 937001799896956988 enabled for: manage server trigger: reply with "Banning %mention tag of arg-1% for `%arg-2%`"Learn more over the [wiki page](https://disky.me/docs/interactions/slash-structure/)!
4.16.0Bugfixes & New Features!May 3, 2024 Hi there! This new release introduces a ton of internal cleanup, with some bug fixes and additions.
* Added [New Features
edit component by id](https://disky.me/docs/docs/effects/#edit-messages-component) effect, to edit any component from a message by its ID (instead of the whole message) #183 * Added [guild boost tier](https://disky.me/docs/docs/expressions/#guild-boost-tier) property * Added [guild bot role](https://disky.me/docs/docs/expressions/#guild-bots-role) property * Addedevent-memberandevent-userin the [member boost time update event](https://disky.me/docs/docs/events/#on-member-boost-time-c…
* Fixed and enhanced [Fixes
channel position](https://disky.me/docs/docs/expressions/#channelrole-posit… property for channels & roles #187 🔥 Removed*on member boostevent, replaced byon member boost time update. For details, please check [the docs](https://disky.me/docs/docs/events/#on-member-boost-time-c… * Fixed [thread parent](https://disky.me/docs/docs/expressions/#parent-channel-of… unable to return a forum or a voice channel * Fixed thereplyeffect when storing the message in an interaction * Fixed position calculation for channel/role positions Have a nice evening all! :)4.15.1Bugfixes & QoL EnhancementsApr 29, 2024 Hi there! This very small release only changes two things:
- You can useCore
memberas slash command option. Although it's not directly supported by Discord, DiSky handles the hard work by converting it to a member. Feel free to open a [new suggestion](https://github.com/DiSkyOrg/DiSky/issues/new/choose) if you find anything else like this that can be improved! - Hotfix & enhancements for the [download attachment](https://disky.me/docs/docs/effects/#download-attachment) effect. It now uses JDA's rest action system, and DiSky checks by itself it the folder/parent folder needs to be created.
- Reworked the [welcome/home page](https://disky.me/docs/home/) to includes cards. It leads newcomers in the right direction! - Added [slash command options](https://disky.me/docs/interactions/slash-commands/#options) table to show all possible options - Added an example usage for the attachment option - Added a new header to show newest wiki pages! That's all for tonight. Have fun guys!Documentation
4.15.0DiSky 4.15.0Apr 28, 2024 Hi there! Doesn't a new DiSky update herald a good day?
The Webhooks module is now outdated, as JDA implemented support for webhooks into the core library. Thus, it integrates smoothly with DiSky's existing features! For instance, simply use the syntax to create your rich message, you can then send it to a webhook!Webhooks are coming native!
More information can be found on the [Wiki Page](https://disky.me/docs/basic-stuff/webhooks/)!
As some of you may have noticed, I've made a few changes to the documentation/wiki: * All emojis have been replaced by icons to clean up the site visually. Many examples have been added to the wiki* (complete example codes, 99% of the time supplied with a command) * many new effects and expressions have been updated with documentation and missing examples * All the wiki has been reorganized under more logical categories than just "basic/advanced stuff". Feedback is appreciated, and don't forget you can contribute to the wiki [right here](https://github.com/DiSkyOrg/Documentation)!Documentation Update!
* TheSmall Enhancements
editeffect handles errors much better, and you can modify the direct message without going through the interaction (more information [just here](https://disky.me/docs/docs/effects/#edit-message)) * The [retrieve invites](https://disky.me/docs/docs/effects/#retrieve-invites) effect's pattern has been enhanced to me "more English" 🆕 Added [`avatar decoration`](https://disky.me/docs/docs/expressions/#users-avatar-decoration-url) expression for a member. It's not even in JDA yet, but DiSky has it :>*4.14.3Oh my god, too much update?!Apr 22, 2024 Whoa, I guess I'm in a rush now? Anyway, this update brings tons of new features and tweaks. Here's a recap:
Discord recently added a way to bulk-find members, thus even with thousands of members, you'll still be able to retrieve the one you want. There are two "simple"Find Members!
findeffects available already (find members with roles %roles%andfind members with nickname %string% in guild %guild%), but a brand new one is also added ... Find member filter! It's a section that lets you filter by yourself the members you want to retrieve. Wants only members with a role, or specific nickname, that are not connected to a channel? You've got it!It's an experimental feature, and feedback is appreciated, while I don't recommend using this in production yet!
find members in event-guild and store them in {_members::*} with filter var {_m}: # {_m} now contains the member to apply the filter to. For instance: {_m} has discord role with id "XXX" {_m} is muted return true reply with "I have found %size of {_members::*}% that has the role and is muted!"
You can now retrieve your bot's application info! This includes, but is not limited to, its avatar/id/name/owner, the Term Of Service/Privacy Policy URLs, and more! If you are interested in how it works, take a look [at the wiki page](https://disky.me/docs/basic-stuff/bot-application-info/)!Bot Application Info
* Added [New Features!
pin/unpin %message%](https://disky.me/docs/docs/effects/#pin-unpin-message) effect * Added [is muted](https://disky.me/docs/docs/conditions/#member-is-muted) and [is deafened](https://disky.me/docs/docs/conditions/#member-is-deafened) conditions * Added way to reference message in the [post effect](https://disky.me/docs/docs/effects/?h=post#post-message) * Added way to create disabled entity/string dropdown (by addingdisabledwhen creating the component)4.14.2And yet another update!Apr 21, 2024 I'm sure I'll get blamed if I continue to make updates that fast 😂 Anyway, here's yet another update for DiSky! Here's what changed:
JDA has an internal bug with their latest release (beta23), thus I fixed it on my side for DiSky. Although polls were created, they were not attached to the desired message and thus, not sent. You can also now send polls alone, without any other message value (content, components, etc..) using thePolls Hotfix
reply withandposteffect.
For button & dropdown clicks, you can now directly edit the clicked component with one line of code, instead of re-editing the whole message like before. You can find more information about how it works for [buttons here](https://disky.me/docs/advanced-stuff/components/#handling… and [dropdown here](https://disky.me/docs/advanced-stuff/components/#handling…New
edit componentseffect!
* Fixed SelectMenu couldn't be added to the inline message's builder `edit` and `reply` effects now impact the interaction (if in an interaction event of course) instead of the message*. * Fixed polls being not set correctly using the rich message builder * FixedBugfixes
interactiontype for button/dropdown click event
* Added a way to disconnect a connecter member from its voice channel ([reference](https://disky.me/docs/docs/effects/?h=disconnect#movedisc… * Update some old WaiterEffect to the new AsyncEffect systemNew Features
4.14.1Better polls and optimizationsApr 20, 2024 * This small release introduces a lot of new polls-related stuff, such as ending existing polls and getting votes for finished polls (more information can be read [here](https://disky.me/docs/basic-stuff/polls/#already-created-… * In addition, thedefine botscope was converted to Skript's new Structure system, meaning it's faster, more efficient, and less laggy (e.g. you can now use function/custom expressions inside ready/guild ready events). You can also set default selected values* for entities dropdown, supporting roles, channels, and users. The added values will be selected once the component is sent! Full Changelog: https://github.com/DiSkyOrg/DiSky/compare/4.14.0...4.14.14.14.0The "Asynchronous" UpdateApr 18, 2024 Hello there! Long time no see since the last update ;) This one brings a lot of content here and there, so please read the whole message below to be sure to miss nothing.Async Rework
Most DiSky effects, because of HTTP requests, require asynchronous execution to avoid lag spikes (especially when retrieving a value for instance). Although I made my own "waiter effect" to handle those timings, it was not built-in Skript and thus weird synchronization bugs appeared, especially when dealing with local variables.
All retrieve effects, and most asynchronous effects are now using a completely new method, where the code is completed in another thread (thus it'll make that other thread lag, but since Minecraft is mainly single-threaded, it does not matter at all). :bookmark_tabs: __To put it simply, most effects in DiSky are now faster and can be handled much easier by Skript, e.g. when using those effects in loops or functions__Embed section optimization (#155)
Previously, to create an embed, you had to go through
:bookmark_tabs: __While the previous embed section is still available, it has been reworked so you can provide a variable at the end of the section that'll handle your embed at the end (basically like the message builder & components row builder).__ For instance:make new embedand use the expressionlast embed, which sometimes caused conflicts when creating several embeds simultaneously. Moreover, the solelast embedexpression slowed down the Skript's parser as it was overcomplicated with too many patterns.make new embed and store it in {_embed}: set title of embed to "Hello there" set embed color of embed to red reply with {_embed} # 'embed' is not accessible outside the section anymore, releasing a lot of work for Skript's parsing:bar_chart: Polls!
While they are waiting to be approved on Discord's docs, poll syntaxes are already in DiSky!
:bookmark_tabs: __You can already use the syntax, but no polls will be sent over Discord yet. Take a look at the wiki page about polls for more information: https://disky.me/docs/basic-stuff/polls/__Syntax Changes
As I reworked some parts of DiSky, I ended up optimizing/adding existing syntax, so here they are:
- You can now use both strings and tags when adding/removing them from forum channels - Addedretrieve start/original message from %threadchannel%effect - Added type checking for theupdating commandseffect (e.g. giving guild when updating globally, and vice-versa) - Addedevent-longinreaction addevent to get the message author's ID - Fixedmention tagwith emotes, for custom and animated emojis:warning: JAR & Version Support
- Only Skript 2.8+ is supported, going forward. - shadowJar minimizer is now used on DiSky's final JAR, reducing its size from ~20MB to ~15MB - The minimal required version of Java will soon (v4.15 or v4.16, no ETA yet) become Java 11 Whoa, I've never had an update this big, apart from the reworks! I hope you have fun, and I'll be on the lookout if you have any new ideas or optimizations to suggest4.12.2-beta1DiSky 4.12.2-beta1Jan 8, 2024 First update of the year :DSkript 2.8-beta Support
DiSKy v4.12.2-beta1 has been released on Modrinth, with several new features and bug fixes. In addition, this new version should only support Skript 2.8+, meaning :warning: Skript 2.7 won't work! Check added features/bug fixes at the [GitHub History](https://github.com/DiSkyOrg/DiSky/commit/061da196f44395f8…SkEditor Addon Release
SkEditor is an IDE made for Skript developers. It brings syntax highlighting, auto-completion, code analyzer, GUI/Command generation, and many other features to make your life easier. I made a small addon, adding two (and soon more!) generators related to DiSky: bot's loading & buttons! :information_source: How to download? Once [SkEditor](https://forums.skunity.com/resources/1517/) is installed, head overOther->Marketplace, then look upDiSky Supportand clickInstall. The attached image is a preview of the bot's loading & buttons generator! Thanks for reading, and have a nice day :D4.12.1The cleanup update!Aug 26, 2023 Hello there! This small release introduces a new feature alongside bugfixes and code cleanup:• You can now serialize embeds into JSON, and vice-versa! Check here for more info!
• I'm trying to clean up annoying user-side errors little by little, and today it's hierarchy nickname! A proper and more user-friendly error message will be sent if the bot cannot modify a user's nickname!
• We bumped to JDA v5-beta13, which brings some optimizations and bugfixes on the WebSocket server!
4.12.0The 'I don't have any title' update is here!Aug 11, 2023 Hello there! DiSky v4.12.0 is here, and fix/add things here and there, without a main idea to follow. Here are the main changes:Changes
•We addednullchecks for emojis, roles, and permissions expressions. DiSky will not throw an ugly exception anymore!•It has been requested for a pretty long time now, but you can now use options inside entries! (such as the bot's token)•Deferred and waited interactions can now be replied to correctly using thereply witheffect!•A lot of conflicts came from thepermissions ofproperty from DiSky and Skript. Now, DiSky will try to unregister the Skript's property to make its own, while keeping normal Skript's behaviors!•Fixed some uncatched exceptions around the project.•Skript v2.7-beta3 is now supported! Any 2.7.X version should be tho, while keeping 2.6.X supported too!4.12.0-beta2Voice message & member flags supports!May 27, 2023 Hey there! Another update of DiSky that brings some interesting new features :)Voice messages
- Addedattachment is audiocondition (<https://disky.me/wiki/docs/conditions/#is-attachment-audio>) - Addedattachment durationexpression (<https://disky.me/wiki/docs/expressions/#attachment-duration>) You can also directly download *voice message as an audio file!Member Flags
- Addedmember flagsexpression (<https://disky.me/wiki/docs/expressions/#attachment-duration>) - Addedmemberflagtype (<https://disky.me/wiki/docs/types/#memberflag>)
Misc
- Addedembed urlexpression (<https://disky.me/wiki/docs/expressions/#embed-url>) - Increased max file upload size to 25 MiB - Added more developer-debug message Have a lovely afternoon everyone ^^4.11.1Bug fixes & enhancementsApr 8, 2023 Hey there! Here's a small update from DiSky containing bug fixes and enhancements! *Added
on bot leaveevent *Added supports for the new Structure API coming in Skript 2.7 *
Added deafen-related & voice mute-related events (thanks to @Mushkrem & @Kapilarny) *
Fixed DiSky project not building on Skript 2.7 *
Fixed I/O exception about the configuration file
4.11.0DiSky 4.11.0Mar 11, 2023 Hey there! Here's, after a bit of reorganization on the docs, DiSky v4.11.0! Tons of things have been added, and a lot of bugs have been fixed:__New Features__
:sparkles: Addedretrieve thread memberseffect, to get and cache members of a thread channel. :sparkles: Addedretrieve logeffect, to get and cache audit logs of a guild. :sparkles: Added a console's command/disky botto check information about a bot. :sparkles: Added the way to send silent messages (without notifications). Check the docs for more information. :new: :sparkles: Added a brand new message caching system! You can now get a deleted message and all its data even if it's deleted! (event-messagein delete message event basically)__Enhancements__
:zap: Changed debug messages to be more "visible" (in purple & pink, whoa!) :zap: Added better shutdown system (graceful shutdown), that can be configured in the config file. :zap: Mademodify welcome screensection work with loops.__Bug Fixes__
:bug: Fixed intents that were override by cache flags :bug: Fixed configuration file that was recreated every time__Documentation__
As you may notice since a few days, the documentation & wiki has been reorganized, and they are both linked together! The common link is https://disky.me/wiki/ (the old docs are still available, but won't be updated!)!__Download__
:modrinth: Modrinth: <https://modrinth.com/plugin/disky> :paper: Documentation: <https://disky.me/wiki/> :patreon~2: Patreon: <https://patreon.com/itsthesky> Have a nice day everyone!4.10.0DiSky v4.10.0Feb 17, 2023 Added __welcome screen__ management: <https://docs.disky.me/basic-stuff/guild-welcome-screen>
Added more information and debugging when DiSky have an internal error.
Reworked the configuration's loading, and how it was used
Updated to JDA v5-beta3
Fixed the __disconnect__ effect that was trying to use the given expression
Fixed error while using any __retrieve__ effect
4.9.0DiSky v4.9.0 - Audio updates & default expressions.Jan 18, 2023 Hello there! This small release brings some new features and some bugfixes:New Features:
* Addedself memberproperty, to get the self-member of a bot in a guild. * Addedconnecteffect, to connect a bot to an audio channel. * Added default expressions for every DiSky type in events * Added more channel-type input for commands (thanks Mushkrem!)Bugfixes:
* Fixedcache flagsentry in the bot's scope * Fixed theAudioChanneltype that wasn't spelled correctly.4.8.0Scheduled events, bugfixes and much more!Dec 10, 2022 Hello there! It's been a while, hasn't it? This update fixes a lot of issues and adds support for events.New features
* Scheduled events (you can create, retrieve, modify, and retrieve info such as position or members following it) * More documentation! (thanks to Cerial) * Added%thread% is locked,.. publicand.. archivedconditions for thread states You can now define a slash command as NSFW* (only executable in NSFW rooms)Fixes
Attachments can be uploaded with with or without* a filename. * Failure to open a private room will result in the deletion of the variable provided. * You can add components directly to a modal, without going through component lines. * Some documentation corrections (thanks to Mushkrem)Others
The DiSky website has been redesigned, and now includes proper documentation*: <https://disky.me/docs/> * I recommend that you download DiSky through Modrinth: it supports me through ads, without you paying a cent: <https://modrinth.com/plugin/disky> * Thanks to Cerial, IllagerCaptain & Hotampa for their contribution to the DiSky wiki: <https://docs.disky.me/> As always, thanks for your support and good code to all!4.7.0Conflicts & Bug fixes + Member Thread ManagementNov 19, 2022 DiSky v4.7.0 - Fixes & New feature
Requirements
Minecraft 1.13+* Skript 2.6.0+*Fixes
* No more conflicts with SkBee's components * Every emoji using numbers (like) are now working properly * Threads can now be created without problems
New features
* You can add members to a thread manually * ID and name of a thread are now retrievable * Optimization of the loading of the bots
Similar projects
Plugin →VeinMiner
Mine the whole vein on mining a single ore/block. Make the tedious mining experience to something satisfying and fun! FTB Ultimine alternative
99.3MSueta
Simple Voice Chat
A working voice chat in Minecraft!
76.8MSueta
Let Me Despawn
Improves performance by tweaking mob despawn rules. Say bye to pesky unintentional persistent mobs.
25MSueta
Chunky
Pre-generates chunks, quickly and efficiently
18.4MSueta
VeinMiner Enchantment
Veinminer Addon - Adds vineminer enchantment to enchanting tables. Only tools with the enchantment can veinmine
18MSueta
JourneyMap
Real-time map used for mapping in-game or your browser as you explore.
14.7MSueta