v3.7.0
Starting in early 2023, support for Java 8 will be discontinued and Java 11 will be the new minimum requirement for using Javacord.
If you are not yet running Java 11+, we strongly recommend that you upgrade before the end of this year.
📦 Download
Using a Build Manager
Gradle
repositories { mavenCentral() }
dependencies { implementation 'org.javacord:javacord:3.7.0' }
Maven
<dependency>
<groupId>org.javacord</groupId>
<artifactId>javacord</artifactId>
<version>3.7.0</version>
<type>pom</type>
</dependency>
Sbt
libraryDependencies ++= Seq("org.javacord" % "javacord" % "3.7.0")
📋 Changelog
Improvements
- Added "nsfw" field to
ServerVoiceChannel
(#1127) - Added message reply listeners (via
Message#addMessageReplyListener
) (#1139) - Added support for select menus v2 (#1150)
- Deprecated
SelectMenu#create
methods in favor of#createStringMenu
(#1150) - Added the ability to get a thread member by their user id. (#1155)
- Deprecated
getThreadMembers
in favor ofrequestThreadMembers
(#1155) - Added
SlashCommand#getMentionTags
to get all mention tags of all subcommands (#1157) - Added new
RestRequestResultErrorCodes
50039
and40062
(#1163) - Added missing builder methods for setting the
emoji
property to a unicode emoji on Select Menu Options (#1166) - Changed how the
delete_message_seconds
field is set when banning a user from as query parameter to the request json body (#1167) - Added
MessageDecoration#applyToText(String)
which applies the decoration to a given string (#1169) - Added new Javacord compatible library
Discord Interaction handler
and removedsdcf4j
because it is deprecated (#1175) - Added
ApplicationCommandInteraction#getRegisteredCommandServerId
andgetRegisteredCommandServer
to get the id/server the command is registered on from an application command interaction (#1176) - Deprecated
ApplicationCommand#deleteGlobal
anddeleteForServer
in favor ofdelete
(#1177) - Added
Message#canYouReadContent
which checks if you can read the content of a message if you do not have theMESSAGE_CONTENT
intent enabled to cover special cases like DMs, bot mentions or your own messages (#1185)
Bugfixes
- Fixed MessageUpdater not removing attachments when replacing the message although no new attachments are added (#1168)
- Fixed moving the audio connection to the new ServervoiceChannel if the bot gets moved (#1170)
- Fixed not closing the audio connection when kicking the bot from a ServerVoiceChannel (#1170)
- Fixed wrong links in README (#1178)
- Fixed not working contributing guidelines link in PR template (#1181)
Breaking Changes
- Removed obsolete application owner methods (#1147)
- Removed some banning server member methods (#1147)
- Renamed
downloadAsXY
methods toasXY
(#1147) - Moved some methods from
VoiceChannel
toServerVoiceChannel
(#1147) - SelectMenuBuilder now requires a
SELECT_MENU_*
component type and acustom_id
to be instantiated. (#1150) get/requestSticketById(String)
methods do no longer throw an exception when the id is being parsed and instead return an empty optional or complete exceptionally with the number parsing exception (#1156)SlashCommand#getMentionTag
now returns the mention tag with only the base command (#1157)- Renamed
SlashCommand#getFullCommandName
to#getFullCommandNames
and changed return type toList<String>
(#1157) - Renamed
SlashCommandOptionsProvider
methods that are only usable for arguments of a slash command fromgetOption*
togetArgument*
and changed the implementation from getting the options from the option to getting always the command arguments if there are any (#1171) - Throw an exception when the content of a message is accessed without having the
MESSAGE_CONTENT
enabled (#1182)
Contributors in this release:
@Bastian (#1188, #1189, #1190)
@felldo (#1150, #1156, #1157, #1168, #1169, #1170, #1171, #1175, #1176, #1177, #1179, #1181, #1182, #1185)
@Lainika (#1172)
@Mysterypotatoguy (#1139, #1166)
@RealYusufIsmail (#1127, #1155, #1163, #1167)
@Saladoc (#1147, #1154)
@haseeb-xd (#1178)