Class GenericGuildMemberUpdateEvent<T>

All Implemented Interfaces:
GenericEvent, UpdateEvent<Member,T>
Direct Known Subclasses:
GuildMemberUpdateAvatarEvent, GuildMemberUpdateBoostTimeEvent, GuildMemberUpdateNicknameEvent, GuildMemberUpdatePendingEvent, GuildMemberUpdateTimeOutEvent

public abstract class GenericGuildMemberUpdateEvent<T> extends GenericGuildMemberEvent implements UpdateEvent<Member,T>
Indicates that a Guild member event is fired.
Every GuildMemberUpdateEvent is an instance of this event and can be casted.

Can be used to detect any GuildMemberUpdateEvent.

Requirements

These events require the GUILD_MEMBERS intent to be enabled.
createDefault(String) and createLight(String) disable this by default!

Additionally, these events require the MemberCachePolicy to cache the updated members. Discord does not specifically tell us about the updates, but merely tells us the member was updated and gives us the updated member object. In order to fire a specific event like this we need to have the old member cached to compare against.

  • Constructor Details

  • Method Details

    • getPropertyIdentifier

      @Nonnull public String getPropertyIdentifier()
      Description copied from interface: UpdateEvent
      The field name for the updated property

      Example

      
       @Override
       public void onGenericRoleUpdate(GenericRoleUpdateEvent event)
       {
           switch (event.getPropertyIdentifier())
           {
           case RoleUpdateColorEvent.IDENTIFIER:
               System.out.printf("Updated color for role: %s%n", event);
               break;
           case RoleUpdatePositionEvent.IDENTIFIER:
               RoleUpdatePositionEvent update = (RoleUpdatePositionEvent) event;
               System.out.printf("Updated position for role: %s raw(%s->%s)%n", event, update.getOldPositionRaw(), update.getNewPositionRaw());
               break;
           default: return;
           }
       }
       
      Specified by:
      getPropertyIdentifier in interface UpdateEvent<Member,T>
      Returns:
      The name of the updated property
    • getEntity

      @Nonnull public Member getEntity()
      Description copied from interface: UpdateEvent
      The affected entity
      Specified by:
      getEntity in interface UpdateEvent<Member,T>
      Returns:
      The affected entity
    • getOldValue

      @Nullable public T getOldValue()
      Description copied from interface: UpdateEvent
      The old value
      Specified by:
      getOldValue in interface UpdateEvent<Member,T>
      Returns:
      The old value
    • getNewValue

      @Nullable public T getNewValue()
      Description copied from interface: UpdateEvent
      The new value
      Specified by:
      getNewValue in interface UpdateEvent<Member,T>
      Returns:
      The new value
    • toString

      public String toString()
      Overrides:
      toString in class Object