Skip to content

Releases: DiSkyOrg/DiSky

Oh my god, too much update?!

22 Apr 21:13
Compare
Choose a tag to compare

Whoa, 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!

And yet another update!

21 Apr 20:33
Compare
Choose a tag to compare

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:

📊 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
  • 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
  • Fixed interaction type 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

20 Apr 14:51
Compare
Choose a tag to compare
  • 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 bot scope 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: 4.14.0...4.14.1

The "Asynchronous" Update

18 Apr 21:20
a9d5a32
Compare
Choose a tag to compare

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).

📑 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 embed and use the expression last embed, which sometimes caused conflicts when creating several embeds simultaneously. Moreover, the sole last embed expression slowed down the Skript's parser as it was overcomplicated with too many patterns.

📑 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

📊 Polls!

While they are waiting to be approved on Discord's docs, poll syntaxes are already in DiSky!

📑 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 commands effect (e.g. giving guild when updating globally, and vice-versa)
  • Added event-long in reaction add event to get the message author's ID
  • Fixed mention tag with emotes, for custom and animated emojis

⚠️ 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. As always, you can download the new version on Modrinth

The cleanup update!

26 Aug 21:41
50eeb58
Compare
Choose a tag to compare

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!

⬇️ Download: https://modrinth.com/plugin/disky/

The 'I don't have any title' update is here!

11 Aug 21:08
27508b6
Compare
Choose a tag to compare

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 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!

ℹ️ Important Information

I'm taking a two-week off vacation starting tomorrow. I'll come back ~27 august and won't be available during this period of time! There's no big deal with DiSky or Discord making big updates right now anyway 😂. Thanks for your understanding :p

Have a nice evening everyone!

AutoMod Creation is here!

12 Jun 11:17
Compare
Choose a tag to compare

Hello there 👋
This pre-release update introduces support for creating and editing auto-moderation rules, supporting triggers, filters, and more!

⚠️ I am a bit overbooked lately, so the second part of this update (including managing already-created rules) will come later, sorry!

📜 AutoMod Documentation: https://disky.me/wiki/basic-stuff/automod/
⬇️ Download: https://disky.me/resources/index.php?resources/5/

Updated message wrappers, conflict fix

04 Jun 17:20
Compare
Choose a tag to compare

Hello there!

DiSky v4.12.0-beta3 is here!

This minor release fixes conflicts with the attachments property. The same expression can now be used for messages & message-builders!
For those who had some issues with the message wrapper system, I updated/optimized it a bit so it should work even better.

More info about the message caching system here: https://disky.me/wiki/basic-stuff/message-wrapper/

Future plan

Although that release is pretty small, I plan to fully release v4.12.0 soon, including new features such as:

  • AutoMod supports (manage rules/punishments)
  • Supports the new username system
    Stay tuned!

Have a nice evening everyone :)

Full Changelog: 4.12.0-beta2...4.12.0-beta3
Download: https://disky.me/resources/index.php?resources/5/

Voice message & member flags supports!

27 May 10:27
Compare
Choose a tag to compare

Hey there! Another update of DiSky that brings some interesting new features :)

Voice messages

You can also directly download *voice message as an audio file!

Member Flags

Misc

Download: https://disky.me/resources/index.php?resources/5/

Have a lovely afternoon everyone ^^

Developer debug mode and improvements.

23 May 19:09
Compare
Choose a tag to compare
Pre-release

The developer release

⚠️ Because this version has a lot of internal behaviors changed, it's still in beta!

This new update brings a whole new way for developers to debug their code: the developer debug mode!
It can be enabled in the configuration file (developer-debug: true) and will print useful information such as:

  • Null/not set values
  • Wrong type
  • Errors not handled by the default error handler
    It'll also contain the exact file and line on where the error happened! I'd love to hear your feedback on that :)

I also updated JDA to alpha9, and will implement the small new features within the month!

⬇️ Download: https://disky.me/resources/index.php?resources/5/

Full Changelog: 4.11.1...4.12.0-beta1