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
edit
andreply
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
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 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: 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 embed
and use the expressionlast embed
, which sometimes caused conflicts when creating several embeds simultaneously. Moreover, the solelast embed
expression 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 commands
effect (e.g. giving guild when updating globally, and vice-versa) - Added
event-long
inreaction add
event to get the message author's ID - Fixed
mention tag
with 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 audio
condition (https://disky.me/wiki/docs/conditions/#is-attachment-audio) - Added
attachment duration
expression (https://disky.me/wiki/docs/expressions/#attachment-duration)
You can also directly download *voice message as an audio file!
Member Flags
- Added
member flags
expression (https://disky.me/wiki/docs/expressions/#attachment-duration) - Added
memberflag
type (📜 https://disky.me/wiki/docs/types/#memberflag)
Misc
- Added
embed url
expression (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 leave
event - ✨ 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 member
property, to get the self-member of a bot in a guild. - Added
connect
effect, 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 flags
entry in the bot's scope - Fixed the
AudioChannel
type 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
,.. public
and.. archived
conditions 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