Interface Presence


  • public interface Presence
    The Presence associated with the provided JDA instance
    Since:
    3.0
    • Method Detail

      • getJDA

        JDA getJDA()
        The JDA instance of this Presence
        Returns:
        The current JDA instance
      • getStatus

        OnlineStatus getStatus()
        The current OnlineStatus for this session.
        This might not be what the Discord Client displays due to session clashing!
        Returns:
        The OnlineStatus of the current session
      • getGame

        Game getGame()
        The current Game for this session.
        This might not be what the Discord Client displays due to session clashing!
        Returns:
        The Game of the current session or null if no game is set
      • isIdle

        boolean isIdle()
        Whether the current session is marked as afk or not.

        This is relevant to client accounts to monitor whether new messages should trigger mobile push-notifications.

        Returns:
        True if this session is marked as afk
      • setStatus

        void setStatus​(OnlineStatus status)
        Sets the OnlineStatus for this session
        Parameters:
        status - the OnlineStatus to be used (OFFLINE/null -> INVISIBLE)
        Throws:
        java.lang.IllegalArgumentException - if the provided OnlineStatus is UNKNOWN
      • setGame

        void setGame​(Game game)
        Sets the Game for this session.
        A Game can be retrieved via Game.playing(String). For streams you provide a valid streaming url as second parameter

        Examples:
        presence.setGame(Game.playing("Thrones"));
        presence.setGame(Game.streaming("Thrones", "https://twitch.tv/EasterEggs"));

        Parameters:
        game - A Game instance or null to reset
        See Also:
        Game.playing(String), Game.streaming(String, String)
      • setIdle

        void setIdle​(boolean idle)
        Sets whether this session should be marked as afk or not

        This is relevant to client accounts to monitor whether new messages should trigger mobile push-notifications.

        Parameters:
        idle - boolean
      • setPresence

        void setPresence​(OnlineStatus status,
                         Game game)
        Sets two presence fields of this session.
        The third field stays untouched.
        Parameters:
        status - The OnlineStatus for this session (See setStatus(OnlineStatus))
        game - The Game for this session (See setGame(Game) for more info)
        Throws:
        java.lang.IllegalArgumentException - If the specified OnlineStatus is UNKNOWN
      • setPresence

        void setPresence​(OnlineStatus status,
                         boolean idle)
        Sets two presence fields of this session.
        The third field stays untouched.
        Parameters:
        status - The OnlineStatus for this session (See setStatus(OnlineStatus))
        idle - Whether to mark this session as idle (useful for client accounts setIdle(boolean))
        Throws:
        java.lang.IllegalArgumentException - If the specified OnlineStatus is UNKNOWN
      • setPresence

        void setPresence​(Game game,
                         boolean idle)
        Sets two presence fields of this session.
        The third field stays untouched.
        Parameters:
        game - The Game for this session (See setGame(Game) for more info)
        idle - Whether to mark this session as idle (useful for client accounts setIdle(boolean))