Interface ApplicationInfo
- All Superinterfaces:
ISnowflake
- Since:
- 3.0
- Author:
- Aljoscha Grebe
- See Also:
-
Nested Class Summary
Modifier and TypeInterfaceDescriptionstatic enum
Flag constants corresponding to the Discord Enum -
Method Summary
Modifier and TypeMethodDescriptionboolean
Whether the bot requires code grant to invite or not.The custom Authorization URL of this bot's application.The description of the bot's application.default EnumSet<ApplicationInfo.Flag>
getFlags()
TheFlags
set for the application.long
The raw bitset representing this application's flags.default ImageProxy
getIcon()
Returns anImageProxy
for this application info's icon.The icon id of the bot's application.The icon-url of the bot's application.The interaction endpoint URL of this bot's application.default String
getInviteUrl
(long guildId, Collection<Permission> permissions) Creates a OAuth invite-link used to invite the bot.default String
getInviteUrl
(long guildId, Permission... permissions) Creates a OAuth invite-link used to invite the bot.getInviteUrl
(String guildId, Collection<Permission> permissions) Creates a OAuth invite-link used to invite the bot.default String
getInviteUrl
(String guildId, Permission... permissions) Creates a OAuth invite-link used to invite the bot.default String
getInviteUrl
(Collection<Permission> permissions) Creates a OAuth invite-link used to invite the bot.default String
getInviteUrl
(Permission... permissions) Creates a OAuth invite-link used to invite the bot.getJDA()
TheJDA
instance of this ApplicationInfo (the one logged into this application's bot account).getName()
The name of the bot's application.getOwner()
The owner of the bot's application.AnEnumSet
of permissions the default authorization URL is set up with.long
Thelong
representation of the literal permissions the default authorization URL is set up with.The URL for the application's privacy policy.AList
containing the OAuth2 redirect URIs of this bot's application.The role connections (linked roles) verification URL of this bot's application.AList
of scopes the default authorization URL is set up with.getTags()
AList
containing the tags of this bot's application.getTeam()
The team information for this application.The URL for the application's terms of service.boolean
Whether the bot is public or not.default ApplicationInfo
setRequiredScopes
(String... scopes) Configures the required scopes applied to thegetInviteUrl(Permission...)
and similar methods.setRequiredScopes
(Collection<String> scopes) Configures the required scopes applied to thegetInviteUrl(Permission...)
and similar methods.Methods inherited from interface net.dv8tion.jda.api.entities.ISnowflake
getId, getIdLong, getTimeCreated
-
Method Details
-
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
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
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
The URL for the application's privacy policy.- Returns:
- The URL for the application's privacy policy or
null
if none is set
-
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
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
-
getIcon
Returns anImageProxy
for this application info's icon.- Returns:
- The
ImageProxy
of this application info's icon or null if no icon is defined - See Also:
-
getTeam
The team information for this application.- Returns:
- The
ApplicationTeam
, or null if this application is not in a team.
-
setRequiredScopes
Configures the required scopes applied to thegetInviteUrl(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 withgetInviteUrl(Permission...)
and the likes- Returns:
- The current ApplicationInfo instance
- Throws:
IllegalArgumentException
- If null is provided
-
setRequiredScopes
Configures the required scopes applied to thegetInviteUrl(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 withgetInviteUrl(Permission...)
and the likes- Returns:
- The current ApplicationInfo instance
- Throws:
IllegalArgumentException
- If null is provided
-
getInviteUrl
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 emptyCollection
ofPermissions
that should be requested via invite.- Returns:
- The link used to invite the bot
-
getInviteUrl
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 String getInviteUrl(@Nullable String guildId, @Nullable 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 emptyCollection
ofPermissions
that should be requested via invite.- Returns:
- The link used to invite the bot
- Throws:
NumberFormatException
- If the providedid
cannot be parsed byLong.parseLong(String)
-
getInviteUrl
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 emptyCollection
ofPermissions
that should be requested via invite.- Returns:
- The link used to invite the bot
-
getInviteUrl
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 ofPermissions
that should be requested via invite.- Returns:
- The link used to invite the bot
- Throws:
NumberFormatException
- If the providedid
cannot be parsed byLong.parseLong(String)
-
getInviteUrl
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 ofPermissions
that should be requested via invite.- Returns:
- The link used to invite the bot
-
getJDA
TheJDA
instance of this ApplicationInfo (the one logged into this application's bot account).- Returns:
- The JDA instance of this ApplicationInfo
-
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
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
-
getTags
AList
containing the tags of this bot's application.This List is empty if no tags are set in the Developer Portal.
- Returns:
- Immutable list containing the tags of this bot's application
-
getRedirectUris
AList
containing the OAuth2 redirect URIs of this bot's application.This List is empty if no redirect URIs are set in the Developer Portal.
- Returns:
- Immutable list containing the OAuth2 redirect URIs of this bot's application
-
getInteractionsEndpointUrl
The interaction endpoint URL of this bot's application.This returns
null
if no interaction endpoint URL is set in the Developer Portal.A non-null value means your bot will no longer receive
interactions
through JDA, such as slash commands, components and modals.- Returns:
- Interaction endpoint URL of this bot's application, or
null
if it has not been set
-
getRoleConnectionsVerificationUrl
The role connections (linked roles) verification URL of this bot's application.This returns
null
if no role connection verification URL is set in the Developer Portal.- Returns:
- Role connections verification URL of this bot's application, or
null
if it has not been set
-
getCustomAuthorizationUrl
The custom Authorization URL of this bot's application.This returns
null
if no custom URL is set in the Developer Portal or if In-app Authorization is enabled.- Returns:
- Custom Authorization URL, or null if it has not been set
-
getScopes
AList
of scopes the default authorization URL is set up with.This List is empty if you set a custom URL in the Developer Portal.
- Returns:
- Immutable list of scopes the default authorization URL is set up with.
-
getPermissions
AnEnumSet
of permissions the default authorization URL is set up with.This is empty if you set a custom URL in the Developer Portal.
- Returns:
- Set of permissions the default authorization URL is set up with.
-
getPermissionsRaw
long getPermissionsRaw()Thelong
representation of the literal permissions the default authorization URL is set up with.- Returns:
- Never-negative long containing offset permissions the default authorization URL is set up with.
-
getFlags
TheFlags
set for the application.
Modifying the returned EnumSet will have not actually change the flags of the application.- Returns:
EnumSet
ofApplicationInfo.Flag
-
getFlagsRaw
long getFlagsRaw()The raw bitset representing this application's flags.- Returns:
- The bitset
-