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):

  • Constructor Details

    • GenericMessageReactionEvent

      public GenericMessageReactionEvent(@Nonnull JDA api, long responseNumber, @Nullable User user, @Nullable Member member, @Nonnull MessageReaction reaction, long userId)
  • Method Details

    • getUserId

      @Nonnull public 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 reacting User
      This might be missing if the user was not cached. Use retrieveUser() to load the user.
      Returns:
      The reacting user or null if this information is missing
    • getMember

      @Nullable public Member getMember()
      The Member instance for the reacting user or null if the reaction was from a user not in this guild.
      This will also be null if the member is not available in the cache. Use retrieveMember() to load the member.
      Returns:
      Member of the reacting user or null if they are no longer member of this guild
      Throws:
      IllegalStateException - If this was not sent in a Guild.
      See Also:
    • getReaction

      @Nonnull public MessageReaction getReaction()
      Returns:
      The MessageReaction
    • getEmoji

      @Nonnull public EmojiUnion getEmoji()
      The Emoji of the reaction, shortcut for getReaction().getEmoji()
      Returns:
      The Emoji instance
    • retrieveUser

      @Nonnull @CheckReturnValue public RestAction<User> retrieveUser()
      Retrieves the User who owns the reaction.
      If a user is known, this will return getUser().
      Returns:
      RestAction - Type: User
      Since:
      4.2.1
    • retrieveMember

      @Nonnull @CheckReturnValue public RestAction<Member> retrieveMember()
      Retrieves the Member who owns the reaction.
      If a member is known, this will return getMember().

      Note that banning a member will also fire MessageReactionRemoveEvent and no member will be available in those cases. An UNKNOWN_MEMBER error response should be the failure result.

      Returns:
      RestAction - Type: Member
      Throws:
      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 for getChannel().retrieveMessageById(getMessageId()).

      The Message.getMember() method will always return null for the resulting message. To retrieve the member you can use getGuild().retrieveMember(message.getAuthor()).

      Returns:
      RestAction - Type: Message
      Since:
      4.2.1