Interface ApplicationInfo

    • Method Detail

      • doesBotRequireCodeGrant

        boolean doesBotRequireCodeGrant()
        Whether the bot requires code grant to invite or not.

        This means that additional OAuth2 steps are required to authorize the application to make a bot join a guild like &response_type=code together with a valid &redirect_uri.
        For more information look at the Discord OAuth2 documentation.

        Returns:
        Whether the bot requires code grant
      • getDescription

        @Nonnull
        java.lang.String getDescription()
        The description of the bot's application.
        Returns:
        The description of the bot's application or an empty String if no description is defined
      • getTermsOfServiceUrl

        @Nullable
        java.lang.String getTermsOfServiceUrl()
        The URL for the application's terms of service.
        Returns:
        The URL for the application's terms of service or null if none is set
      • getPrivacyPolicyUrl

        @Nullable
        java.lang.String getPrivacyPolicyUrl()
        The URL for the application's privacy policy.
        Returns:
        The URL for the application's privacy policy or null if none is set
      • getIconId

        @Nullable
        java.lang.String getIconId()
        The icon id of the bot's application.
        The application icon is not necessarily the same as the bot's avatar!
        Returns:
        The icon id of the bot's application or null if no icon is defined
      • getIconUrl

        @Nullable
        java.lang.String getIconUrl()
        The icon-url of the bot's application.
        The application icon is not necessarily the same as the bot's avatar!
        Returns:
        The icon-url of the bot's application or null if no icon is defined
      • getTeam

        @Nullable
        ApplicationTeam getTeam()
        The team information for this application.
        Returns:
        The ApplicationTeam, or null if this application is not in a team.
      • setRequiredScopes

        @Nonnull
        default ApplicationInfo setRequiredScopes​(@Nonnull
                                                  java.lang.String... scopes)
        Configures the required scopes applied to the getInviteUrl(Permission...) and similar methods.
        To use slash commands you must add "applications.commands" to these scopes. The scope "bot" is always applied.
        Parameters:
        scopes - The scopes to use with getInviteUrl(Permission...) and the likes
        Returns:
        The current ApplicationInfo instance
        Throws:
        java.lang.IllegalArgumentException - If null is provided
      • setRequiredScopes

        @Nonnull
        ApplicationInfo setRequiredScopes​(@Nonnull
                                          java.util.Collection<java.lang.String> scopes)
        Configures the required scopes applied to the getInviteUrl(Permission...) and similar methods.
        To use slash commands you must add "applications.commands" to these scopes. The scope "bot" is always applied.
        Parameters:
        scopes - The scopes to use with getInviteUrl(Permission...) and the likes
        Returns:
        The current ApplicationInfo instance
        Throws:
        java.lang.IllegalArgumentException - If null is provided
      • getInviteUrl

        @Nonnull
        default java.lang.String getInviteUrl​(@Nullable
                                              java.util.Collection<Permission> permissions)
        Creates a OAuth invite-link used to invite the bot.

        The link is provided in the following format:
        https://discord.com/oauth2/authorize?client_id=APPLICATION_ID&scope=bot&permissions=PERMISSIONS
        Unnecessary query parameters are stripped.

        Parameters:
        permissions - Possibly empty Collection of Permissions that should be requested via invite.
        Returns:
        The link used to invite the bot
      • getInviteUrl

        @Nonnull
        default java.lang.String getInviteUrl​(@Nullable
                                              Permission... permissions)
        Creates a OAuth invite-link used to invite the bot.

        The link is provided in the following format:
        https://discord.com/oauth2/authorize?client_id=APPLICATION_ID&scope=bot&permissions=PERMISSIONS
        Unnecessary query parameters are stripped.

        Parameters:
        permissions - Permissions that should be requested via invite.
        Returns:
        The link used to invite the bot
      • getInviteUrl

        @Nonnull
        java.lang.String getInviteUrl​(@Nullable
                                      java.lang.String guildId,
                                      @Nullable
                                      java.util.Collection<Permission> permissions)
        Creates a OAuth invite-link used to invite the bot.

        The link is provided in the following format:
        https://discord.com/oauth2/authorize?client_id=APPLICATION_ID&scope=bot&permissions=PERMISSIONS&guild_id=GUILD_ID
        Unnecessary query parameters are stripped.

        Parameters:
        guildId - The id of the pre-selected guild.
        permissions - Possibly empty Collection of Permissions that should be requested via invite.
        Returns:
        The link used to invite the bot
        Throws:
        java.lang.NumberFormatException - If the provided id cannot be parsed by Long.parseLong(String)
      • getInviteUrl

        @Nonnull
        default java.lang.String getInviteUrl​(long guildId,
                                              @Nullable
                                              java.util.Collection<Permission> permissions)
        Creates a OAuth invite-link used to invite the bot.

        The link is provided in the following format:
        https://discord.com/oauth2/authorize?client_id=APPLICATION_ID&scope=bot&permissions=PERMISSIONS&guild_id=GUILD_ID
        Unnecessary query parameters are stripped.

        Parameters:
        guildId - The id of the pre-selected guild.
        permissions - Possibly empty Collection of Permissions that should be requested via invite.
        Returns:
        The link used to invite the bot
      • getInviteUrl

        @Nonnull
        default java.lang.String getInviteUrl​(@Nullable
                                              java.lang.String guildId,
                                              @Nullable
                                              Permission... permissions)
        Creates a OAuth invite-link used to invite the bot.

        The link is provided in the following format:
        https://discord.com/oauth2/authorize?client_id=APPLICATION_ID&scope=bot&permissions=PERMISSIONS&guild_id=GUILD_ID
        Unnecessary query parameters are stripped.

        Parameters:
        guildId - The id of the pre-selected guild.
        permissions - Possibly empty array of Permissions that should be requested via invite.
        Returns:
        The link used to invite the bot
        Throws:
        java.lang.NumberFormatException - If the provided id cannot be parsed by Long.parseLong(String)
      • getInviteUrl

        @Nonnull
        default java.lang.String getInviteUrl​(long guildId,
                                              @Nullable
                                              Permission... permissions)
        Creates a OAuth invite-link used to invite the bot.

        The link is provided in the following format:
        https://discord.com/oauth2/authorize?client_id=APPLICATION_ID&scope=bot&permissions=PERMISSIONS&guild_id=GUILD_ID
        Unnecessary query parameters are stripped.

        Parameters:
        guildId - The id of the pre-selected guild.
        permissions - Possibly empty array of Permissions that should be requested via invite.
        Returns:
        The link used to invite the bot
      • getJDA

        @Nonnull
        JDA getJDA()
        The JDA instance of this ApplicationInfo (the one logged into this application's bot account).
        Returns:
        The JDA instance of this ApplicationInfo
      • getName

        @Nonnull
        java.lang.String getName()
        The name of the bot's application.
        The application name is not necessarily the same as the bot's name!
        Returns:
        The name of the bot's application.
      • getOwner

        @Nonnull
        User getOwner()
        The owner of the bot's application.
        Returns:
        The owner of the bot's application
      • isBotPublic

        boolean isBotPublic()
        Whether the bot is public or not. Public bots can be added by anyone. When false only the owner can invite the bot to guilds.
        Returns:
        Whether the bot is public