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.

    Requirements

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