Class GenericMessageReactionEvent
- java.lang.Object
-
- net.dv8tion.jda.api.events.Event
-
- net.dv8tion.jda.api.events.message.GenericMessageEvent
-
- net.dv8tion.jda.api.events.message.react.GenericMessageReactionEvent
-
- All Implemented Interfaces:
GenericEvent
- Direct Known Subclasses:
MessageReactionAddEvent
,MessageReactionRemoveEvent
public class GenericMessageReactionEvent extends GenericMessageEvent
Indicates that a MessageReaction was added/removed.
Every MessageReactionEvent is derived from this event and can be casted.Can be used to detect both remove and add events.
Requirements
These events require at least one of the following intents (Will not fire at all if neither is enabled):
GUILD_MESSAGE_REACTIONS
to work in guild text channelsDIRECT_MESSAGE_REACTIONS
to work in private channels
-
-
Constructor Summary
Constructors Constructor Description GenericMessageReactionEvent(JDA api, long responseNumber, User user, Member member, MessageReaction reaction, long userId)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description Member
getMember()
TheMember
instance for the reacting user ornull
if the reaction was from a user not in this guild.MessageReaction
getReaction()
TheMessageReaction
MessageReaction.ReactionEmote
getReactionEmote()
TheReactionEmote
of the reaction, shortcut forgetReaction().getReactionEmote()
User
getUser()
The reactingUser
This might be missing if the user was not cached.java.lang.String
getUserId()
The id for the user who owns the reaction.long
getUserIdLong()
The id for the user who owns reaction.RestAction<Member>
retrieveMember()
Retrieves theMember
who owns the reaction.RestAction<Message>
retrieveMessage()
Retrieves the message for this reaction event.RestAction<User>
retrieveUser()
Retrieves theUser
who owns the reaction.-
Methods inherited from class net.dv8tion.jda.api.events.message.GenericMessageEvent
getChannel, getChannelType, getGuild, getMessageId, getMessageIdLong, getPrivateChannel, getTextChannel, isFromGuild, isFromType
-
Methods inherited from class net.dv8tion.jda.api.events.Event
getJDA, getResponseNumber
-
-
-
-
Constructor Detail
-
GenericMessageReactionEvent
public GenericMessageReactionEvent(@Nonnull JDA api, long responseNumber, @Nullable User user, @Nullable Member member, @Nonnull MessageReaction reaction, long userId)
-
-
Method Detail
-
getUserId
@Nonnull public java.lang.String getUserId()
The id for the user who owns the reaction.- Returns:
- The user id
-
getUserIdLong
public long getUserIdLong()
The id for the user who owns reaction.- Returns:
- The user id
-
getUser
@Nullable public User getUser()
The reactingUser
This might be missing if the user was not cached. UseretrieveUser()
to load the user.- Returns:
- The reacting user or null if this information is missing
-
getMember
@Nullable public Member getMember()
TheMember
instance for the reacting user ornull
if the reaction was from a user not in this guild.
This will also benull
if the member is not available in the cache. UseretrieveMember()
to load the member.- Returns:
- Member of the reacting user or null if they are no longer member of this guild
- Throws:
java.lang.IllegalStateException
- If this was not sent in aTextChannel
.- See Also:
GenericMessageEvent.isFromGuild()
,GenericMessageEvent.getChannelType()
-
getReaction
@Nonnull public MessageReaction getReaction()
TheMessageReaction
- Returns:
- The MessageReaction
-
getReactionEmote
@Nonnull public MessageReaction.ReactionEmote getReactionEmote()
TheReactionEmote
of the reaction, shortcut forgetReaction().getReactionEmote()
- Returns:
- The ReactionEmote instance
-
retrieveUser
@Nonnull @CheckReturnValue public RestAction<User> retrieveUser()
- Returns:
RestAction
- Type:User
- Since:
- 4.2.1
-
retrieveMember
@Nonnull @CheckReturnValue public RestAction<Member> retrieveMember()
Retrieves theMember
who owns the reaction.
If a member is known, this will returngetMember()
.Note that banning a member will also fire
MessageReactionRemoveEvent
and no member will be available in those cases. AnUNKNOWN_MEMBER
error response should be the failure result.- Returns:
RestAction
- Type:Member
- Throws:
java.lang.IllegalStateException
- If this event is not from a guild- Since:
- 4.2.1
-
retrieveMessage
@Nonnull @CheckReturnValue public RestAction<Message> retrieveMessage()
Retrieves the message for this reaction event.
Simple shortcut forgetChannel().retrieveMessageById(getMessageId())
.The
Message.getMember()
method will always return null for the resulting message. To retrieve the member you can usegetGuild().retrieveMember(message.getAuthor())
.- Returns:
RestAction
- Type:Message
- Since:
- 4.2.1
-
-