Skip to content
Choose a tag to compare

This pretty big update brings new features, along with bug fixes to work with.

⚠️ The Slash command system has been removed now! Check the 3.5.0 release message for more information.


  • Fixed most of the wrong properties, when used in loops or argument command
  • Fixed the download attachment effect, it now input the file name too.
  • Fixed text name event fire to the NSFW change JDA event
  • Fixed channel name of a channel return null
  • Fixed channel with id XXX wasn't loaded correctly
  • Fixed bot is playing condition, which was inserted
  • Fixed the destroy effect that can now delete guild
  • Fixed delay errors while using list properties


  • Added new eval command! Check docs for more information.
  • Added a whole new emoji library (updated some days ago), synced with Discord directly
  • Added a lot of converters for multiple types (message to string, bot to user, member to user, etc...)
  • Added color from hex expression


  • Optimized DiSky's changer, it's now all within an interface
  • Fixed every exception / NPE we could have while loading bots
  • Fixed conflicts with SkImage in the color expression

This update took pretty long to do, and I'm currently sick (literally) for some days!
I hope ill get better at the end of the week, but will still try to work as much as I can on DiSky.

Choose a tag to compare

This very small update simply adds the way to add/remove members from a specific thread.
I think it's useful to make something like that for creating ticket code for example :)

Full Changelog: 3.5.0...3.5.1

Choose a tag to compare

Welcome to DiSky v3.5.0, which include some breaking changes;
-> The delete effect has been replaced by destroy, to not override Skript's syntax.
-> Every name syntaxes now need its entity name before (name of event-channel -> channel name of event-channel, name of event-user -> user name of event-user, etc...)
In addition to fixing some bugs related to null values (thanks @LavaPlayerAPI#9631) and with a whole new emoji library, here's the first update that ...
Can manage thread a little! You can now create, delete a thread, change its archive time, etc... (even if there's not every control on it yet)

What can we do with Threads now? Don't forget to check the docs!

  • Create a (private) Thread, with a name (and possibly a reference message)
  • Make a bot join or leave a specific thread
  • Delete a thread
  • Check if a member/bot is in a thread
  • Retrieve (same as the guild property, but we force the caching of threads) threads from a guild
    Member management (add/remove member) will come later, as JDA doesn't fully support them yet.

In addition, I updated the Emoji library in order to have a more accurate emote from Discord.
You can find a complete list of available emojis right here:

Full Changelog: 3.4.0...3.5.0

Choose a tag to compare

Welcome to the biggest update of v3 currently 😂
This update introduces a lot of new features, such as:

Moreover, bugfixes are added in that version, such as:

  • Fixed #36, #33, #31, #29, #26 and #28
  • Fixed the usage of properties can cause XXX can only be changed through the DiSky changer error on parsing
  • Fixed event-message in the reaction add event
  • Fixed tracks event are not fired anymore
  • Fixed documentation generation for the event type
  • ... and many more! ...

⚠️ I'm aware of the slash command bug, used in a global state. I'm working on a rework but it took some time and won't be available for that release, sorry for the inconvenience!

💻 Examples using 3.4.0:

Choose a tag to compare

This small update (again) add some new features and fix plenty of bugs.
First, you can get event-invite in the member join the event, the event-message works fine again in the reaction dd event and the event component doesn't throw an exception while being used in a button click event.
There's every discord command property (check the docs) and you can get the used alias, prefix, and argument.

Choose a tag to compare

This small release adds two new event:
thread [member] join and thread [member] (leave|quite), fired as they said when members joins or leave a thread.
and also add the way to make Markdown table through DiSky:

discord command table:
	prefixes: !
		set {_table} to new markdown table
		# The first row added will be the header of the table itself.
		add row "Role", "ID" to {_table}
		# Simple math to not make an exception when sending the message xD
		set {_limit} to 20
		set {_amountRestant} to (size of roles of event-guild) - {_limit}
		set {_i} to 1
		loop roles of event-guild:
			add row "%discord name of loop-value%", "%discord id of loop-value%" to {_table}
			add 1 to {_i}
			if {_i} is bigger or equal to {_limit}:
				add row "... and %{_amountRestant}% mores ..." to {_table}
				exit loop
		reply with "**Roles:**```%built {_table}%```"
Choose a tag to compare

This release now supports (read) Thread features, and you can, therefore:
Get a thread from its ID
Get threads of guilds/channels
Get the owner, members, name, and max archive time of a thread
Check if the thread is archived and/or locked
It's based on GuildChannel, so you can retrieve messages in them.

⚠️ There's no effect/event related to thread yet since JDA doesn't support them for now!

You can also now get any news channel from its ID, and get every news channel of guilds through these new expressions.

Thread usage example:

discord command thread <string>:
	prefixes: !
		set {_thread} to thread with id arg-1
		if {_thread} is not set:
			reply with ":x: This thread doesn't exist!"
		add "**Owner:** %mention tag of thread owner of {_thread}%" to {_l::*}
		add "**Name:** %{_thread}%" to {_l::*}
		# The members doesn't count the owner (since a thread always have one)
		add "**Members:** %(size of members of {_thread}) + 1% members" to {_l::*}
		add "**Max Archive Time:** %archive time of {_thread}%" to {_l::*}
		make embed:
			set color of embed to orange
			set author of embed to "Thread info on %{_thread}%:"
			set author icon of embed to avatar of thread owner of {_thread}
			set description of embed to join {_l::*} with nl
		reply with last embed

discord command threads:
	prefixes: !
	executable in: guild
		send "%threads of event-guild%" to console
		loop threads of event-guild:
			if loop-value is archived:
				add "`%loop-value%` owned by %mention tag of thread owner of loop-value% in %mention tag of thread parent of loop-value%" to {_archived::*}
				add "`%loop-value%` owned by %mention tag of thread owner of loop-value% in %mention tag of thread parent of loop-value%" to {_normal::*}
		set {_haveAny} to false
		if {_normal::1} is set:
			add "**:writing_hand: Active:**" to {_l::*}
			add {_normal::*} to {_l::*}
			set {_haveAny} to true
		if {_archived::1} is set:
			add "**:lock: Archived:**" to {_l::*}
			add {_archived::*} to {_l::*}
			set {_haveAny} to true
		if {_haveAny} is false:
			add ":x: **No threads found in this guild!**" to {_l::*}
		make embed:
			set color of embed to yellow
			set author of embed to "Threads of %event-guild% (%size of threads of event-guild%):"
			set author icon of embed to avatar of event-guild
			set description of embed to join {_l::*} with nl
		reply with last embed
Choose a tag to compare

This small update adds the reply to effect (check the new docs for the full pattern:
It also fixes the event-message expression in the reaction add & remove event because the getter is not blocking the thread anymore.
Lastly, I updated the MessageUpdater used to cache messages to refresh on any message receive event.

Full Changelog: 3.0.0-beta5...3.0.1-ARK

Choose a tag to compare

I'm proud to annouce you DiSky v3 ARK!
It's not a recode, so i simply added a stylish nickname for this version.
The ARK version offer the JDA v5 support, and needed a lot of code convertion from default v3 to ARK.
This took me some days to understand how the JDA 5 worked, and a full week to convert my current code to the new version.

So, what are changed with ARK version ?

Introducing a new channel type, they was were channel (regrouping every guild-based channel), textchannel and voicechannel. You now have newschannel ! The only message which is in these types can be posted through followed guilds. You, of course, can use that for discord command argument and get them using news channel with id expression like every other channel.

Message events are now both private & guild, Except for private message receive, private reaction remove and private reaction add that keep fired only in direct message. You will have to check by yourself in the event if it come from a specific type (new condition, if message is from <type> type).

SlashCommand are now working in both guilds & bots, as multiple and reloading the script itself will not make them stop working. Updating to V5 also allowed to fix the allowed role bug (hehe @AfonsoHackers#3656, ur happy now, aren't you ? xD)

Some permissions names also changed:
message read was removed since it is the old version of view channel, use that instead.
message send in threads was added. with that, you can control which member/role can send messages in threads.
use slash commands was renamed to use application commands.
manage emotes was renamed to manage emotes and stickers.
message write was renamed to message send.
use public threads was renamed to create public threads.
use private threads was renamed to create private threads

⚠️ This new version is still in beta and some basic bugs can appear, feel free to open an issue on GitHub in order to receive help.

This needed a lot of time from my side, and keep in mind I know that bugs are not fixed in the ARK version yet. However, i'm a human and need a break some times 😢

Choose a tag to compare

This pretty big release fixes a lot of bugs such as the loop of multiple properties (text channels of the guild, roles of the member, etc...)
It also bring the new retrieve last X messages effect, and I improved the way how DiSky delete multiple message at once (without being rate limited).

Embed templates are back! Register an embed template using the right effect, and you can after using it in the make embed scope!
The usage of RGB color has also been improved, to allow the use of ',' (wasn't possible before because of the pattern).

⚠️ Passing this beta5 version, I am not responsible for any of your bot restrictions caused by the rate limit!
DiSky was deleted by the global slash commands, which could cause a rate limit in a certain context.
You have , by yourself, delete the global slash commands (if you want so) using the new effect clear [slash] command[s] of [the] [bot] %bot%
This is only for global slash command, and guilds ones are not affected. These will be deleted at every reload (of the bot) since they don't have any rate limit.

Lastly, I opened financial support for DiSky v3, you can found Kofi & Patreon link on the main page ( on the right border. Keep in mind that DiSky is and will be completely free, but some support touch anyway my heart ❤️

PS: I also created a (very) small wiki to start with DiSky, it's on the README file ^^