Releases: DiSkyOrg/DiSky
Hotfix: delayed bot initialization
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.
The Async Acceleration Update
I'm excited to announce the release of DiSky v4.20.0! This update brings several new features, performance improvements, and bug fixes.
🚀 Performance Improvements
- 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 termination
✨ New Features
- Added
retrieve webhook
effect - New
forward message
effect with ability to store the forwarded message - Added
is forwarded
condition for messages - Introduced ability to specify the desired bot in the
post message
effect - Added support for changing guild verification levels
- Ban effect now accepts plain user IDs
🐛 Bug Fixes
- 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 second
move member
effect
⚡ Enhancements
- 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 :P
Listen once section, bugfixes and more!
Hi there! I'm finally back from vacation, with this wonderful update :)
✨ New Features
- You can now listen one time to a specific event, right from any code. More information on the wiki
- Added user-friendly error messages a bit everywhere. A lot are still missing tho, but it's better than nothing!
🐛 Bugfixes
- Fixed null checking in the CommandFactory class (when the args won't parse correctly)
- "Fixed" (more likely enhanced) the
on shutdown
section 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)
Full Changelog: 4.18.0...4.19.0
4.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.
🚀 New Features
- Runtime Error Handler: Added a new runtime error handler with try/catch functionality. (see here)
- 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.
⚡ Improvements
- 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)
🐛 Bug Fixes
- 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+.
🔥 Removals
- Removed the avatar decoration expression as it's not yet officially released.
📝 Notes
- Post effect exceptions are now handled by the runtime error handler.
- This release includes all changes from the previous (unreleased) v4.17.3 update.
📦 New Wiki Pages
- Added Error Handling
- Added Asynchronous Operations (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!
The "Mixed Additions" update!
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!
🗝️ "Rework"
- More expressions now supports async gettable via the
await
effect. 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)
✨ New Features
- Added
on member timeout
event - Added
logged reason
property for alogentry
(works for bans, kicks, ...) - Added
retrieve start message
effect to retrieve the start message of a thread - Added a user-friendly warning when using a non-message channel with the
retrieve message
effect
🐛 Fixes
- 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 property
poll
of message builder (it used the wrong type)
Thanks for reading!
Hot & bug fixes
Hi there! This minimal release fixes several bugs with the new slash command system and the on shutdown
entry of the define bot structure.
It also introduces a new async system for expressions and changer, although it's only available for the member with id
expression (keep information of it over #207), planned to release for DiSky v4.18.0
Slash Structure, QoL enchantements and bug fixes!
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.
🐛 Bug Fixes
- Fixed/enhanced
create invite
effect as it doesn't support a Guild anymore - Fixed the
emoji url
property's pattern to[the] emo(te|ji) image [url]
(#196) - Fixed arguments type parsed in the slash command event
✨ New Features
- Added
event-channel
in theuser typing
event - Added
on poll vote add
andon poll vote remove
events (#192) - Added
on member kick
andon member ban
events (read the docs for more info!) - Added
author
retrieve value of theon guild log entry create
event
🚀 Slash Command Structure!
⚠️ This feature is still in beta, I don't recommend using it in production yet!
You can now create, register, and handle slash commands directly via a single structure! Here's a quick example:
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!
Cleanup & Fixes!
Hi there! This new release introduces a ton of internal cleanup, with some bug fixes and additions.
✨ New Features
- Added
edit component by id
effect, to edit any component from a message by its ID (instead of the whole message) #183 - Added
guild boost tier
property - Added
guild bot role
property - Added
event-member
andevent-user
in themember boost time update event
🐛 Fixes
- Fixed and enhanced
channel position
property for channels & roles #187 - 🔥 Removed
on member boost
event, replaced byon member boost time update
. For details, please check the docs - Fixed
thread parent
unable to return a forum or a voice channel - Fixed the
reply
effect when storing the message in an interaction - Fixed position calculation for channel/role positions
Have a nice evening all! :)
Bugfixes & QoL Enhancements
Hi there!
This very small release only changes two things:
🤖 Core
- You can use
member
as 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 if you find anything else like this that can be improved! - Hotfix & enhancements for the
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.
📝 Documentation
- Reworked the welcome/home page to includes cards. It leads newcomers in the right direction!
- Added slash command 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!
The "Webhooks & Docs" update!
Hi there! Doesn't a new DiSky update herald a good day?
🤖 Webhooks are coming native!
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!
➡️ More information can be found on the Wiki Page!
📝 Documentation Update!
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!
✨ Small Enhancements
- The
edit
effect handles errors much better, and you can modify the direct message without going through the interaction (more information just here) - The
retrieve invites
effect's pattern has been enhanced to me "more English" - 🆕 Added
avatar decoration
expression for a member. It's not even in JDA yet, but DiSky has it :>