Class GenericUserUpdateEvent<T>
- java.lang.Object
-
- net.dv8tion.jda.api.events.Event
-
- net.dv8tion.jda.api.events.user.GenericUserEvent
-
- net.dv8tion.jda.api.events.user.update.GenericUserUpdateEvent<T>
-
- Type Parameters:
T
- The type of the updated value
- All Implemented Interfaces:
GenericEvent
,UpdateEvent<User,T>
- Direct Known Subclasses:
UserUpdateActivitiesEvent
,UserUpdateActivityOrderEvent
,UserUpdateAvatarEvent
,UserUpdateDiscriminatorEvent
,UserUpdateFlagsEvent
,UserUpdateNameEvent
,UserUpdateOnlineStatusEvent
public abstract class GenericUserUpdateEvent<T> extends GenericUserEvent implements UpdateEvent<User,T>
Indicates that a user has updated their presence on discord.
This includes name, avatar, and similar visible features of the user.Requirements
These events require the
GUILD_MEMBERS
intent to be enabled.createDefault(String)
andcreateLight(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 Summary
Constructors Constructor Description GenericUserUpdateEvent(JDA api, long responseNumber, User user, T previous, T next, java.lang.String identifier)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description User
getEntity()
The affected entityT
getNewValue()
The new valueT
getOldValue()
The old valuejava.lang.String
getPropertyIdentifier()
The field name for the updated propertyjava.lang.String
toString()
-
Methods inherited from class net.dv8tion.jda.api.events.user.GenericUserEvent
getUser
-
Methods inherited from class net.dv8tion.jda.api.events.Event
getJDA, getResponseNumber
-
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface net.dv8tion.jda.api.events.GenericEvent
getJDA, getResponseNumber
-
Methods inherited from interface net.dv8tion.jda.api.events.UpdateEvent
getEntityType
-
-
-
-
Method Detail
-
getEntity
@Nonnull public User getEntity()
Description copied from interface:UpdateEvent
The affected entity- Specified by:
getEntity
in interfaceUpdateEvent<User,T>
- Returns:
- The affected entity
-
getPropertyIdentifier
@Nonnull public java.lang.String getPropertyIdentifier()
Description copied from interface:UpdateEvent
The field name for the updated propertyExample
@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 interfaceUpdateEvent<User,T>
- Returns:
- The name of the updated property
-
getOldValue
@Nullable public T getOldValue()
Description copied from interface:UpdateEvent
The old value- Specified by:
getOldValue
in interfaceUpdateEvent<User,T>
- Returns:
- The old value
-
getNewValue
@Nullable public T getNewValue()
Description copied from interface:UpdateEvent
The new value- Specified by:
getNewValue
in interfaceUpdateEvent<User,T>
- Returns:
- The new value
-
toString
public java.lang.String toString()
- Overrides:
toString
in classjava.lang.Object
-
-