CommandOption

@Serializable
data class CommandOption(source)

Raw data option, to be converted

https://discord.com/developers/docs/interactions/application-commands#application-command-object-application-command-option-type

Highly recommended to convert to and from CommandOption.Type using CommandOption.parsed and CommandOption.fromOption

Types

Link copied to clipboard
@Serializable
data class AttachmentOption(val name: String, val description: String, val localizedNames: Map<String, String> = emptyMap(), val localizedDescriptions: Map<String, String> = emptyMap(), val required: Boolean = false) : CommandOption.Type
Link copied to clipboard
@Serializable
data class BooleanOption(val name: String, val description: String, val localizedNames: Map<String, String> = emptyMap(), val localizedDescriptions: Map<String, String> = emptyMap(), val required: Boolean = false) : CommandOption.Type
Link copied to clipboard
@Serializable
data class ChannelOption(val name: String, val description: String, val localizedNames: Map<String, String> = emptyMap(), val localizedDescriptions: Map<String, String> = emptyMap(), val required: Boolean = false) : CommandOption.Type
Link copied to clipboard
@Serializable
data class CommandOptionChoice(val name: String, val value: JsonPrimitive, val localizedNames: Map<String, String> = emptyMap())
Link copied to clipboard
object Companion
Link copied to clipboard
@Serializable
data class IntegerOption(val name: String, val description: String, val localizedNames: Map<String, String> = emptyMap(), val localizedDescriptions: Map<String, String> = emptyMap(), val required: Boolean = false, val choices: List<CommandOption.CommandOptionChoice> = emptyList(), val autocomplete: Boolean = false, val minValue: Int? = null, val maxValue: Int? = null) : CommandOption.Type
Link copied to clipboard
@Serializable
data class MentionableOption(val name: String, val description: String, val localizedNames: Map<String, String> = emptyMap(), val localizedDescriptions: Map<String, String> = emptyMap(), val required: Boolean = false) : CommandOption.Type
Link copied to clipboard
@Serializable
data class NumberOption(val name: String, val description: String, val localizedNames: Map<String, String> = emptyMap(), val localizedDescriptions: Map<String, String> = emptyMap(), val required: Boolean = false, val choices: List<CommandOption.CommandOptionChoice> = emptyList(), val autocomplete: Boolean = false, val minValue: Float? = null, val maxValue: Float? = null) : CommandOption.Type
Link copied to clipboard
@Serializable
data class RoleOption(val name: String, val description: String, val localizedNames: Map<String, String> = emptyMap(), val localizedDescriptions: Map<String, String> = emptyMap(), val required: Boolean = false) : CommandOption.Type
Link copied to clipboard
@Serializable
data class StringOption(val name: String, val description: String, val localizedNames: Map<String, String> = emptyMap(), val localizedDescriptions: Map<String, String> = emptyMap(), val required: Boolean = false, val choices: List<CommandOption.CommandOptionChoice> = emptyList(), val autocomplete: Boolean = false) : CommandOption.Type
Link copied to clipboard
@Serializable
data class SubCommandGroupOption(val name: String, val description: String, val localizedNames: Map<String, String> = emptyMap(), val localizedDescriptions: Map<String, String> = emptyMap(), val options: List<CommandOption> = emptyList()) : CommandOption.Type
Link copied to clipboard
@Serializable
data class SubCommandOption(val name: String, val description: String, val localizedNames: Map<String, String> = emptyMap(), val localizedDescriptions: Map<String, String> = emptyMap(), val options: List<CommandOption> = emptyList()) : CommandOption.Type
Link copied to clipboard
interface Type
Link copied to clipboard
@Serializable
data class UnknownOption(val type: Int, val data: CommandOption) : CommandOption.Type

A representation of an option with a code we don't recognize

Link copied to clipboard
@Serializable
data class UserOption(val name: String, val description: String, val localizedNames: Map<String, String> = emptyMap(), val localizedDescriptions: Map<String, String> = emptyMap(), val required: Boolean = false) : CommandOption.Type

Properties

Link copied to clipboard
@SerialName(value = "autocomplete")
val autocomplete: Boolean = false
Link copied to clipboard
@SerialName(value = "channel_types")
val channelTypes: List<ChannelType>
Link copied to clipboard
@SerialName(value = "choices")
val choices: List<CommandOption.CommandOptionChoice>
Link copied to clipboard
@SerialName(value = "description")
val description: String
Link copied to clipboard
@SerialName(value = "description_localizations")
val localizedDescriptions: Map<String, String>
Link copied to clipboard
@SerialName(value = "name_localizations")
val localizedNames: Map<String, String>
Link copied to clipboard
@SerialName(value = "max_length")
val maxLength: Int? = null
Link copied to clipboard
@SerialName(value = "max_value")
val maxValue: JsonPrimitive? = null
Link copied to clipboard
@SerialName(value = "min_length")
val minLength: Int? = null
Link copied to clipboard
@SerialName(value = "min_value")
val minValue: JsonPrimitive? = null
Link copied to clipboard
@SerialName(value = "name")
val name: String
Link copied to clipboard
@SerialName(value = "options")
val options: List<CommandOption>
Link copied to clipboard
@SerialName(value = "required")
val required: Boolean = false
Link copied to clipboard
@SerialName(value = "type")
val type: Int

Functions

Link copied to clipboard