Skip to content

v5.0.0-beta.16 | Webhook Execution and Super Reactions

Compare
Choose a tag to compare
@MinnDevelopment MinnDevelopment released this 22 Oct 15:35
· 123 commits to master since this release
649d68e

Overview

With this release, we have redesigned a major flaw in our entity constraints. Previously, message instances required a known cached channel instance to be usable. This flaw has been remedied by reworking this implementation to be usable with only a known channel id.

This means, that methods such as message.addReaction(...) or message.pin() can now work for message instances that have no channel object in cache. You can find out if a channel is available on a message instance, by using hasChannel. Adding support for this behavior was necessary, in order to implement webhook executions!

With this change resolved, we can now fully support sending messages through arbitrary webhooks by using WebhookClient.createClient. This webhook client makes use of the JDA rate-limit system and request queue, to properly handle rate-limits for you.

Interactions Hidden Threads

This release also fixes the problem of not receiving interactions in hidden threads, for instance if the thread is a private thread and your bot has not been added yet. This problem was actually caused by JDA expecting a channel instance in cache that was not present, which stopped the interaction from going through.

Discord has added more information about the channel objects in interactions, so we can now properly construct the thread channel instance just in time for the interaction event.

Super Reactions

Your bot can now tell what super-reactions are used. You still cannot send them because the API is too unstable.

Beta Period Almost Done!

We plan to end the beta period for JDA 5.0.0 very soon. There are a few more changes we are thinking of merging first, but the current release already seems very complete. We hope to end the beta period before the end of the year, stay tuned.

New Features

Bug Fixes

Full Changelog: v5.0.0-beta.15...v5.0.0-beta.16

Installation

Gradle

repositories {
    mavenCentral()
}
dependencies {
    implementation("net.dv8tion:JDA:5.0.0-beta.16")
}

Maven

<dependency>
    <groupId>net.dv8tion</groupId>
    <artifactId>JDA</artifactId>
    <version>5.0.0-beta.16</version> 
</dependency>