Interface Activity

    • Method Detail

      • getUrl

        @Nullable
        java.lang.String getUrl()
        The URL of the Activity if the game is actually a Stream.
        This will return null for regular games.
        Returns:
        Possibly-null String containing the Activity's URL.
      • getTimestamps

        @Nullable
        Activity.Timestamps getTimestamps()
        Information on the match duration, start, and end.
        Returns:
        Timestamps wrapper of null if unset
      • getEmoji

        @Nullable
        Activity.Emoji getEmoji()
        The emoji (or custom emoji) attached to a custom status.
        Returns:
        Possibly-null Activity.Emoji used for custom status
      • playing

        @Nonnull
        static Activity playing​(@Nonnull
                                java.lang.String name)
        Creates a new Activity instance with the specified name.
        In order to appear as "streaming" in the official client you must provide a valid (see documentation of method) streaming URL in Activity.streaming(String, String).
        Parameters:
        name - The not-null name of the newly created game
        Returns:
        A valid Activity instance with the provided name with Activity.ActivityType.DEFAULT
        Throws:
        java.lang.IllegalArgumentException - if the specified name is null, empty, blank or longer than 128 characters
      • streaming

        @Nonnull
        static Activity streaming​(@Nonnull
                                  java.lang.String name,
                                  @Nullable
                                  java.lang.String url)
        Creates a new Activity instance with the specified name and url.
        The specified URL must be valid according to discord standards in order to display as "streaming" in the official client. A valid streaming URL must be derived from https://twitch.tv/ or https://youtube.com/watch?v= and can be verified using isValidStreamingUrl(String). (see documentation)
        Parameters:
        name - The not-null name of the newly created game
        url - The streaming url to use, required to display as "streaming"
        Returns:
        A valid Activity instance with the provided name and url
        Throws:
        java.lang.IllegalArgumentException - If the specified name is null, empty or longer than 128 characters
        See Also:
        isValidStreamingUrl(String)
      • listening

        @Nonnull
        static Activity listening​(@Nonnull
                                  java.lang.String name)
        Creates a new Activity instance with the specified name.
        This will display as Listening name in the official client
        Parameters:
        name - The not-null name of the newly created game
        Returns:
        A valid Activity instance with the provided name with Activity.ActivityType.LISTENING
        Throws:
        java.lang.IllegalArgumentException - if the specified name is null, empty, blank or longer than 128 characters
      • watching

        @Nonnull
        @Incubating
        static Activity watching​(@Nonnull
                                 java.lang.String name)
        Creates a new Activity instance with the specified name.
        This will display as Watching name in the official client
        Parameters:
        name - The not-null name of the newly created game
        Returns:
        A valid Activity instance with the provided name with Activity.ActivityType.WATCHING
        Throws:
        java.lang.IllegalArgumentException - if the specified name is null, empty, blank or longer than 128 characters
        Incubating:
        This feature is not yet confirmed for the official bot API
      • competing

        @Nonnull
        static Activity competing​(@Nonnull
                                  java.lang.String name)
        Creates a new Activity instance with the specified name.
        This will display as Competing in name in the official client
        Parameters:
        name - The not-null name of the newly created game
        Returns:
        A valid Activity instance with the provided name with Activity.ActivityType.COMPETING
        Throws:
        java.lang.IllegalArgumentException - If the specified name is null, empty, blank or longer than 128 characters
        Since:
        4.2.1
      • of

        @Nonnull
        static Activity of​(@Nonnull
                           Activity.ActivityType type,
                           @Nonnull
                           java.lang.String name)
        Creates a new Activity instance with the specified name.
        Parameters:
        type - The ActivityType to use
        name - The not-null name of the newly created game
        Returns:
        A valid Activity instance with the provided name
        Throws:
        java.lang.IllegalArgumentException -
        • If the specified ActivityType is null or unsupported
        • If the specified name is null, empty or longer than 128 characters
      • of

        @Nonnull
        static Activity of​(@Nonnull
                           Activity.ActivityType type,
                           @Nonnull
                           java.lang.String name,
                           @Nullable
                           java.lang.String url)
        Creates a new Activity instance with the specified name and url.
        The provided url would only be used for ActivityType.STREAMING and should be a twitch url.
        Parameters:
        type - The ActivityType to use
        name - The not-null name of the newly created game
        url - The streaming url to use, required to display as "streaming".
        Returns:
        A valid Activity instance with the provided name and url
        Throws:
        java.lang.IllegalArgumentException -
        • If the specified ActivityType is null or unsupported
        • If the specified name is null, empty or longer than 128 characters
        See Also:
        isValidStreamingUrl(String)
      • isValidStreamingUrl

        static boolean isValidStreamingUrl​(@Nullable
                                           java.lang.String url)
        Checks if a given String is a valid Twitch/Youtube streaming url (ie, one that will display "Streaming" on the Discord client).
        Parameters:
        url - The url to check.
        Returns:
        True if the provided url is valid for triggering Discord's streaming status