Releases: Greenadine/acf-javacord
Releases · Greenadine/acf-javacord
0.5.1-SNAPSHOT
Bugfixes
- Fixed breaking bug where arguments for slash commands for context resolving were being stored in an unmodifiable list.
0.5.0
Highlights
- Updated to Javacord 3.8.0.
- Added near-full support for slash commands! Name and description localizations will follow in a later update.
Improvements
- Added
MessageCommandManager
, a command manager for solely message commands (AKA old Discord commands). - Added
SlashCommandManager
, a command manager for solely slash commands. - Added
MessageCommandEvent
andSlashCommandEvent
, which are to be used instead ofJavacordCommandEvent
when working with message- and slash commands, respectively. - Added context resolvers for
ChannelCategory
.ServerForumChannel
,ServerThreadChannel
andStageVoiceChannel
.
Breaking changes
JavacordCommandManager
is now a convenience class for creating a command manager for both message- and slash commands.- Removed deprecated
embedBuilder()
fromJavacordCommandEvent
. - Removed context resolver for
CustomEmoji
.
0.4.0
Highlights
- Updated to Javacord 3.7.0.
Improvements
- Added
newEmbed()
in favor ofembedBuilder()
toJavacordCommandEvent
.JavacordCommandEvent::embedBuilder()
is now deprecated. - Added
getServerBoostingSinceTimestamp()
toMember
. - Added
getServerAvatarHash()
toMember
. - An exception (
UserNotMemberOfServerException
) will now be thrown once an instance ofMember
is being constructed where theUser
is not currently present in theServer
.
Bugfixes
- Correctly implemented a few methods of
Member
implemented fromUser
.
Breaking changes
- Changed the signature of
ban(int)
toban(Duration)
inMember
. - Changed the signature of
ban(int, String)
toban(Duration, String)
inMember
.
v0.2
Additions
- Added
UnicodeEmoji
- an object which represents a Unicode emoji, and allows creatingEmoji
objects of Unicode emojis. - Added
Require
annotation - can be used on any object extendingChannel
to force require command input. - Additions to
Member
:- Added
getStatus()
- returns the member's current status, same asUser#getStatus()
. - Added
getStatusOnClient(DiscordClient)
- returns the member's current status on the given client, same asUser#getStatusOnClient(DiscordClient)
. - Added
getUserFlags()
- returns the member's user flags, same asUser#getUserFlags()
. - Added
getActivities()
- returns the member's current activities, same asUser#getActivities()
. - Added
hasDefaultAvatar()
- returns whether the member has the default Discord avatar set on their profile, same asUser#hasDefaultAvatar()
. - Added
getMutualServers()
- returns theServer
s the member has mutual with the API. - Added
isInVoiceChannel()
- returns whether the member is connected to a voice channel within its server. - Added
isConnected(ServerVoiceChannel)
- returns whether the member is connected to the givenServerVoiceChannel
, same asUser#isConnected(ServerVoiceChannel)
.
- Added
- Added context resolvers for
Emoji
,UnicodeEmoji
,Channel
,PrivateChannel
,GroupChannel
,VoiceChannel
andServerVoiceChannel
objects.
Changes
- Changes to
Member
:getHighestRole()
now returns anOptional<Role>
instead of aRole
.
- Changed context resolvers of
User
andMember
to a regular context resolvers, instead of issuer aware. - Switched to using regex matching instead of manual string comparing when checking for tagged entities in context resolvers.
Bug fixes
- Context resolvers of
Role
,CustomEmoji
andKnownCustomEmoji
now properly handle being annotated withOptional
.
v0.1.1
- Update to Javacord v3.3.0 (from v3.1.2).
- Renamed
co.aikar.commands.annotations
toco.aikar.commands.annotation
for consistency. - Made some changes to the
JavacordCommandEvent
object.- Added new methods:
replyf()
, a convenience reply method with formatting capabilities according toString.format()
.getExecCommandLabel()
, which will return the currently used command execution label.getUser()
, which will return theUser
that is associated with current command execution.getMember()
, which will return theMember
that is associated with current command execution.
- Internally sent messages now use an embed with a red color instead of regular messages.
- Added new methods:
- Made some changes to the
Member
object.- Added new methods:
getAvatar()
, which returns theMember
's avatar.getMentionTag()
, which returns theMember
's mention tag, according toUser#getMentionTag()
getNicknameMentionTag()
, which returns theMember
's nickname mention tag, according toUser#getNicknameMentionTag()
.
- Changed
getJoinedAtTimestamp()
to return anInstant
instead of anOptional<Instant>
.
- Added new methods:
- Added context resolvers for
CustomEmoji
andKnownCustomEmoji
objects. - Changed context resolver for
User
,Member
,TextChannel
andServerTextChannel
objects to an issuer aware context resolver. - Slightly improved context resolvers for
User
andMember
objects.- It is now possible to annotate
User
andMember
objects withSelfUser
, which will always return the bot's instance of both objects. - It is now possible to flag
User
andMember
objects with "other" with@Flags("other")
, which will force the context resolver to require a user-provided argument.
- It is now possible to annotate
- Some code cleanup.
v0.1
Installation
Add the .jar file to a new /libs
folder (or a different one) within the project.
Maven
<dependency>
<groupId>com.github.greenadine</groupId>
<artifactId>acf-javacord</artifactId>
<version>0.1</version>
<scope>system</scope>
<systemPath>${project.basedir}/libs/javacord-0.1.jar</systemPath>
</dependency>
Gradle
repositories {
flatDir {
dirs 'libs'
}
}
dependencies {
implementation files('libs/acf-javacord-0.1.jar')
}