Class OptionMapping
java.lang.Object
net.dv8tion.jda.api.interactions.commands.OptionMapping
Name/Value pair for a
CommandInteraction
option.
Since values for command options are a union-type you can use this class to coerce the values to the desired target type.
You can use getType()
to do dynamic handling as well. Each getter documents the conditions and coercion rules for the specific types.
- See Also:
-
Constructor Summary
ConstructorDescriptionOptionMapping
(DataObject data, gnu.trove.map.TLongObjectMap<Object> resolved, JDA jda, Guild guild) -
Method Summary
Modifier and TypeMethodDescriptionboolean
The file uploaded for this option.boolean
The boolean value.The resolvedGuildChannel
for this option value.double
The double value for this option.int
getAsInt()
The int value for this option.long
The long value for this option.The resolvedMember
for this option value.The resolvedIMentionable
instance for this option value.The resolvedRole
for this option value.The String representation of this option value.The resolvedUser
for this option value.TheChannelType
for the resolved channel.Resolved mentions for aSTRING
option.getName()
The name of this option.getType()
TheOptionType
of this option.int
hashCode()
toString()
-
Constructor Details
-
OptionMapping
public OptionMapping(DataObject data, gnu.trove.map.TLongObjectMap<Object> resolved, JDA jda, Guild guild)
-
-
Method Details
-
getMentions
Resolved mentions for aSTRING
option.
If this option is not of typeSTRING
, this always returns empty lists. Mentions are sorted by occurrence.Mentioned
members
androles
are always of the same guild. If the interactionuser
, mentions users from other guilds, they will only be provided byMentions.getUsers()
.This is not supported for
CommandAutoCompleteInteraction
.- Returns:
Mentions
for this option
-
getType
TheOptionType
of this option.- Returns:
- The
OptionType
-
getName
The name of this option.- Returns:
- The option name
-
getAsAttachment
The file uploaded for this option.
This is represented as anephemeral
attachment which will only be hosted for up to 2 weeks. If you want a permanent reference, you must download it.- Returns:
Attachment
- Throws:
IllegalStateException
- If this optiontype
is notOptionType.ATTACHMENT
-
getAsString
The String representation of this option value.
This will automatically convert the value to a string if the type is notOptionType.STRING
.
This will be the ID of any resolved entity such asRole
orMember
.- Returns:
- The String representation of this option value
-
getAsBoolean
public boolean getAsBoolean()The boolean value.- Returns:
- The boolean value
- Throws:
IllegalStateException
- If this option is not of typeBOOLEAN
-
getAsLong
public long getAsLong()- Returns:
- The long value
- Throws:
IllegalStateException
- If this optiontype
cannot be converted to a longNumberFormatException
- If this option is of typeSTRING
and could not be parsed to a valid long value
-
getAsInt
public int getAsInt()The int value for this option.
This will be the ID of any resolved entity such asRole
orMember
.It is highly recommended to assert int values by using
OptionData.setRequiredRange(long, long)
- Returns:
- The int value
- Throws:
IllegalStateException
- If this optiontype
cannot be converted to a longNumberFormatException
- If this option is of typeSTRING
and could not be parsed to a valid long valueArithmeticException
- If the provided integer value cannot fit into a 32bit signed int
-
getAsDouble
public double getAsDouble()The double value for this option.- Returns:
- The double value
- Throws:
IllegalStateException
- If this optiontype
cannot be converted to a doubleNumberFormatException
- If this option is of typeSTRING
and could not be parsed to a valid double value
-
getAsMentionable
The resolvedIMentionable
instance for this option value.- Returns:
- The resolved
IMentionable
- Throws:
IllegalStateException
- If the mentioned entity is not resolvable
-
getAsMember
The resolvedMember
for this option value.
Note thatOptionType.USER
can also accept users that are not members of a guild, in which case this will be null!- Returns:
- The resolved
Member
, or null - Throws:
IllegalStateException
- If this option is not of typeUSER
orMENTIONABLE
-
getAsUser
The resolvedUser
for this option value.- Returns:
- The resolved
User
- Throws:
IllegalStateException
- If this option is not of typeUSER
orMENTIONABLE
without a resolved user
-
getAsRole
The resolvedRole
for this option value.- Returns:
- The resolved
Role
- Throws:
IllegalStateException
- If this option is not of typeROLE
orMENTIONABLE
without a resolved role
-
getChannelType
TheChannelType
for the resolved channel.- Returns:
- The
ChannelType
- Throws:
IllegalStateException
- If this option is not of typeCHANNEL
-
getAsChannel
The resolvedGuildChannel
for this option value.
Note thatOptionType.CHANNEL
can accept channels of any type!- Returns:
- The resolved
GuildChannel
- Throws:
IllegalStateException
- If this option is not of typeCHANNEL
or could not be resolved for unexpected reasons
-
toString
-
hashCode
public int hashCode() -
equals
-