Slash Structure, QoL enchantements and bug fixes!
on May 12, 2024Hello 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 inviteeffect as it doesn't support a Guild anymore - Fixed the
emoji urlproperty's pattern to[the] emo(te|ji) image [url](#196) - Fixed arguments type parsed in the slash command event
✨ New Features
- Added
event-channelin theuser typingevent - Added
on poll vote addandon poll vote removeevents (#192) - Added
on member kickandon member banevents (read the docs for more info!) - Added
authorretrieve value of theon guild log entry createevent
🚀 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!
Bugfixes & New Features!
on May 3, 2024Hi there! This new release introduces a ton of internal cleanup, with some bug fixes and additions.
✨ New Features
- Added
edit component by ideffect, to edit any component from a message by its ID (instead of the whole message) #183 - Added
guild boost tierproperty - Added
guild bot roleproperty - Added
event-memberandevent-userin themember boost time update event
🐛 Fixes
- Fixed and enhanced
channel positionproperty for channels & roles #187 - 🔥 Removed
on member boostevent, replaced byon member boost time update. For details, please check the docs - Fixed
thread parentunable to return a forum or a voice channel - Fixed the
replyeffect when storing the message in an interaction - Fixed position calculation for channel/role positions
Have a nice evening all! :)
Bugfixes & QoL Enhancements
on Apr 29, 2024Hi there! This very small release only changes two things:
🤖 Core
- You can use
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 if you find anything else like this that can be improved! - Hotfix & enhancements for the
download attachmenteffect. 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!
DiSky 4.15.0
on Apr 28, 2024Hi 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
editeffect handles errors much better, and you can modify the direct message without going through the interaction (more information just here) - The
retrieve inviteseffect's pattern has been enhanced to me "more English" - 🆕 Added
avatar decorationexpression for a member. It's not even in JDA yet, but DiSky has it :>
Oh my god, too much update?!
on Apr 22, 2024Whoa, I guess I'm in a rush now? Anyway, this update brings tons of new features and tweaks. Here's a recap:
🚀 Find Members!
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 effects available already (find members with roles %roles% and find 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!"
💻 Bot Application Info
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!
✨ New Features!
- Added
pin/unpin %message%effect - Added
is mutedandis deafenedconditions - Added way to reference message in the post effect
- Added way to create disabled entity/string dropdown (by adding
disabledwhen creating the component)
And yet another update!
on Apr 21, 2024I'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:
📊 Polls Hotfix
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 the reply with and post effect.
✏️ New edit components effect!
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 and dropdown here!
🐛 Bugfixes
- Fixed SelectMenu couldn't be added to the inline message's builder
editandreplyeffects 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
- Fixed
interactiontype for button/dropdown click event
✨ New Features
- Added a way to disconnect a connecter member from its voice channel (reference)
- Update some old WaiterEffect to the new AsyncEffect system
Better polls and optimizations
on Apr 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.
- In addition, the
define 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.1
The "Asynchronous" Update
on Apr 18, 2024Hello 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
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.
: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 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
- Added
retrieve start/original message from %threadchannel%effect - Added type checking for the
updating commandseffect (e.g. giving guild when updating globally, and vice-versa) - Added
event-longinreaction addevent to get the message author's ID - Fixed
mention 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 suggest
DiSky 4.12.2-beta1
on Jan 8, 2024DiSky 4.12.2-beta1
on Jan 8, 2024First update of the year :D
Skript 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
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 is installed, head over Other -> Marketplace, then look up DiSky Support and click Install.
The attached image is a preview of the bot's loading & buttons generator!
Thanks for reading, and have a nice day :D
The cleanup update!
on Aug 26, 2023Hello 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!
The 'I don't have any title' update is here!
on Aug 11, 2023Hello 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 added null checks 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 the reply with effect!
🐛 • A lot of conflicts came from the permissions of property 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!
Voice message & member flags supports!
on May 27, 2023Hey there! Another update of DiSky that brings some interesting new features :)
Voice messages
- Added
attachment is audiocondition (https://disky.me/wiki/docs/conditions/#is-attachment-audio) - Added
attachment durationexpression (https://disky.me/wiki/docs/expressions/#attachment-duration)
You can also directly download *voice message as an audio file!
Member Flags
- Added
member flagsexpression (https://disky.me/wiki/docs/expressions/#attachment-duration) - Added
memberflagtype (📜 https://disky.me/wiki/docs/types/#memberflag)
Misc
- Added
embed 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 ^^
Bug fixes & enhancements
on Apr 8, 2023Hey 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
DiSky 4.11.0
on Mar 11, 2023Hey 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: Added retrieve thread members effect, to get and cache members of a thread channel.
:sparkles: Added retrieve log effect, to get and cache audit logs of a guild.
:sparkles: Added a console's command /disky bot to 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-message in 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: Made modify welcome screen section 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!
DiSky v4.10.0
on Feb 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
DiSky v4.9.0 - Audio updates & default expressions.
on Jan 18, 2023Hello there! This small release brings some new features and some bugfixes:
New Features:
- Added
self memberproperty, to get the self-member of a bot in a guild. - Added
connecteffect, 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:
- Fixed
cache flagsentry in the bot's scope - Fixed the
AudioChanneltype that wasn't spelled correctly.
Scheduled events, bugfixes and much more!
on Dec 10, 2022Hello 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!
Conflicts & Bug fixes + Member Thread Management
on Nov 19, 2022DiSky 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



