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.
-
Constructor Summary
ConstructorsConstructorDescriptionOptionMapping
(DataObject data, gnu.trove.map.TLongObjectMap<Object> resolved, JDA jda, Guild guild) -
Method Summary
Modifier and TypeMethodDescriptionboolean
The file uploaded for this option.The resolvedAudioChannel
for this option value.boolean
The boolean value.double
The double value for this option.The resolvedGuildChannel
for this option value.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 resolvedGuildMessageChannel
for this option value.The resolvedNewsChannel
for this option value.The resolvedRole
for this option value.The resolvedStageChannel
for this option value.The String representation of this option value.The resolvedTextChannel
for this option value.The resolvedThreadChannel
for this option value.The resolvedUser
for this option value.The resolvedVoiceChannel
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
-
getAsGuildChannel
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
-
getAsMessageChannel
The resolvedGuildMessageChannel
for this option value.
Note thatOptionType.CHANNEL
can accept channels of any type!- Returns:
- The resolved
GuildMessageChannel
, or null if this was not a message channel - Throws:
IllegalStateException
- If this option is not of typeCHANNEL
-
getAsTextChannel
The resolvedTextChannel
for this option value.
Note thatOptionType.CHANNEL
can accept channels of any type!- Returns:
- The resolved
TextChannel
, or null if this was not a text channel - Throws:
IllegalStateException
- If this option is not of typeCHANNEL
-
getAsNewsChannel
The resolvedNewsChannel
for this option value.
Note thatOptionType.CHANNEL
can accept channels of any type!- Returns:
- The resolved
NewsChannel
, or null if this was not a news channel - Throws:
IllegalStateException
- If this option is not of typeCHANNEL
-
getAsThreadChannel
The resolvedThreadChannel
for this option value.
Note thatOptionType.CHANNEL
can accept channels of any type!- Returns:
- The resolved
ThreadChannel
, or null if this was not a thread channel - Throws:
IllegalStateException
- If this option is not of typeCHANNEL
-
getAsAudioChannel
The resolvedAudioChannel
for this option value.
Note thatOptionType.CHANNEL
can accept channels of any type!- Returns:
- The resolved
AudioChannel
, or null if this was not an audio channel - Throws:
IllegalStateException
- If this option is not of typeCHANNEL
-
getAsVoiceChannel
The resolvedVoiceChannel
for this option value.
Note thatOptionType.CHANNEL
can accept channels of any type!- Returns:
- The resolved
VoiceChannel
, or null if this was not a voice channel - Throws:
IllegalStateException
- If this option is not of typeCHANNEL
-
getAsStageChannel
The resolvedStageChannel
for this option value.
Note thatOptionType.CHANNEL
can accept channels of any type!- Returns:
- The resolved
StageChannel
, or null if this was not a stage channel - Throws:
IllegalStateException
- If this option is not of typeCHANNEL
-
toString
-
hashCode
public int hashCode() -
equals
-