Class UserActivityEndEvent

All Implemented Interfaces:
GenericEvent, GenericUserPresenceEvent

public class UserActivityEndEvent extends GenericUserEvent implements GenericUserPresenceEvent
Indicates that a User has stopped an Activity in a Guild.

This is fired for every Guild the user is part of. If the title of a stream changes a start event is fired before an end event which will replace the activity.

The activities of the Member are updated before all start/end events are fired. This means you can check Member.getActivities() when handling this event and it will already contain all new activities, even ones that have not yet fired the start event.

To check whether the activity has concluded rather than was replaced due to an update of one of its properties such as name you can check Member.getActivities(). Iterate the list of activities and check if an activity of the same type exists, if that is the case it was replaced and not finished.


This event requires the GUILD_PRESENCES intent to be enabled.
createDefault(String) and createLight(String) disable this by default!

Additionally, this event requires 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.

This also requires CacheFlag.ACTIVITY to be enabled. You can enable the cache flag with enableCache(CacheFlag.ACTIVITY).