ChoiceArg

open class ChoiceArg<T>(val name: String, val description: String = internalLocale.choiceArgDescription, choices: T) : StringArgument<T>

Accepts a choice from the provided list.

Parameters

choices

The available choices. Can be any type, but associated by toString value.

Constructors

Link copied to clipboard
constructor(name: String, description: String = internalLocale.choiceArgDescription, vararg choices: T)

Properties

Link copied to clipboard
val choices: List<T>

The available choices. Can be any type, but associated by toString value.

Link copied to clipboard
open override val description: String

A description of the data that this type represents.

Link copied to clipboard
open override val name: String

The display name for this type in documentations and examples.

Functions

Link copied to clipboard
open fun autocomplete(choices: suspend AutocompleteData.() -> List<String>): AutocompleteArg<String, T>

Offer autocomplete options for this argument.

Link copied to clipboard
open suspend override fun generateExamples(context: DiscordContext): List<String>

A function called whenever an example of this type is needed.

Link copied to clipboard
open fun isOptional(): Boolean

Utility function to check that this Argument is an OptionalArg.

Link copied to clipboard

Accept multiple inputs of this Argument.

Link copied to clipboard
open fun optional(default: T): OptionalArg<String, T, T>

Make this argument optional and fall back to the default value if the conversion fails.

open fun optional(default: suspend (DiscordContext) -> T): OptionalArg<String, T, T>

Make this argument optional and fall back to the default value if the conversion fails. Exposes a CommandEvent.

Link copied to clipboard
open fun optionalNullable(default: T?): OptionalArg<String, T, T?>

Make this argument optional and fall back to the default value if the conversion fails.

open fun optionalNullable(default: suspend (DiscordContext) -> T?): OptionalArg<String, T, T?>

Make this argument optional and fall back to the default value if the conversion fails. Exposes a CommandEvent.

Link copied to clipboard
open suspend override fun parse(args: MutableList<String>, discord: Discord): String?

Parse string input into the correct type handled by this argument.

Link copied to clipboard
open suspend override fun transform(input: String, context: DiscordContext): Result<T>

Transforms a value produced by a slash command or by the parse function.