pub trait CommandOption: Sized {
    const TYPE: CommandOptionType;

    // Required methods
    fn to_option(
        name: impl Into<String>,
        description: impl Into<String>
    ) -> CreateCommandOption;
    fn from_option(option: Option<&CommandDataOptionValue>) -> Result<Self>;
}
Expand description

A sub-command or sub-command group which can be nested within other CommandOptions or Commands.

Required Associated Constants§

source

const TYPE: CommandOptionType

The type of this command option.

Required Methods§

source

fn to_option( name: impl Into<String>, description: impl Into<String> ) -> CreateCommandOption

Create the command option.

source

fn from_option(option: Option<&CommandDataOptionValue>) -> Result<Self>

Extract this command option’s data from an option list.

Errors

Returns an error if the implementation fails.

Object Safety§

This trait is not object safe.

Implementations on Foreign Types§

source§

impl CommandOption for bool

source§

const TYPE: CommandOptionType = CommandOptionType::Boolean

source§

fn to_option( name: impl Into<String>, description: impl Into<String> ) -> CreateCommandOption

source§

fn from_option(option: Option<&CommandDataOptionValue>) -> Result<Self>

source§

impl CommandOption for f32

source§

const TYPE: CommandOptionType = CommandOptionType::Number

source§

fn to_option( name: impl Into<String>, description: impl Into<String> ) -> CreateCommandOption

source§

fn from_option(option: Option<&CommandDataOptionValue>) -> Result<Self>

source§

impl CommandOption for f64

source§

const TYPE: CommandOptionType = CommandOptionType::Number

source§

fn to_option( name: impl Into<String>, description: impl Into<String> ) -> CreateCommandOption

source§

fn from_option(option: Option<&CommandDataOptionValue>) -> Result<Self>

source§

impl CommandOption for i8

source§

const TYPE: CommandOptionType = CommandOptionType::Integer

source§

fn to_option( name: impl Into<String>, description: impl Into<String> ) -> CreateCommandOption

source§

fn from_option(option: Option<&CommandDataOptionValue>) -> Result<Self>

source§

impl CommandOption for i16

source§

const TYPE: CommandOptionType = CommandOptionType::Integer

source§

fn to_option( name: impl Into<String>, description: impl Into<String> ) -> CreateCommandOption

source§

fn from_option(option: Option<&CommandDataOptionValue>) -> Result<Self>

source§

impl CommandOption for i32

source§

const TYPE: CommandOptionType = CommandOptionType::Integer

source§

fn to_option( name: impl Into<String>, description: impl Into<String> ) -> CreateCommandOption

source§

fn from_option(option: Option<&CommandDataOptionValue>) -> Result<Self>

source§

impl CommandOption for i64

source§

const TYPE: CommandOptionType = CommandOptionType::Integer

source§

fn to_option( name: impl Into<String>, description: impl Into<String> ) -> CreateCommandOption

source§

fn from_option(option: Option<&CommandDataOptionValue>) -> Result<Self>

source§

impl CommandOption for i128

source§

const TYPE: CommandOptionType = CommandOptionType::Integer

source§

fn to_option( name: impl Into<String>, description: impl Into<String> ) -> CreateCommandOption

source§

fn from_option(option: Option<&CommandDataOptionValue>) -> Result<Self>

source§

impl CommandOption for isize

source§

const TYPE: CommandOptionType = CommandOptionType::Integer

source§

fn to_option( name: impl Into<String>, description: impl Into<String> ) -> CreateCommandOption

source§

fn from_option(option: Option<&CommandDataOptionValue>) -> Result<Self>

source§

impl CommandOption for u8

source§

const TYPE: CommandOptionType = CommandOptionType::Integer

source§

fn to_option( name: impl Into<String>, description: impl Into<String> ) -> CreateCommandOption

source§

fn from_option(option: Option<&CommandDataOptionValue>) -> Result<Self>

source§

impl CommandOption for u16

source§

const TYPE: CommandOptionType = CommandOptionType::Integer

source§

fn to_option( name: impl Into<String>, description: impl Into<String> ) -> CreateCommandOption

source§

fn from_option(option: Option<&CommandDataOptionValue>) -> Result<Self>

source§

impl CommandOption for u32

source§

const TYPE: CommandOptionType = CommandOptionType::Integer

source§

fn to_option( name: impl Into<String>, description: impl Into<String> ) -> CreateCommandOption

source§

fn from_option(option: Option<&CommandDataOptionValue>) -> Result<Self>

source§

impl CommandOption for u64

source§

const TYPE: CommandOptionType = CommandOptionType::Integer

source§

fn to_option( name: impl Into<String>, description: impl Into<String> ) -> CreateCommandOption

source§

fn from_option(option: Option<&CommandDataOptionValue>) -> Result<Self>

source§

impl CommandOption for u128

source§

const TYPE: CommandOptionType = CommandOptionType::Integer

source§

fn to_option( name: impl Into<String>, description: impl Into<String> ) -> CreateCommandOption

source§

fn from_option(option: Option<&CommandDataOptionValue>) -> Result<Self>

source§

impl CommandOption for usize

source§

const TYPE: CommandOptionType = CommandOptionType::Integer

source§

fn to_option( name: impl Into<String>, description: impl Into<String> ) -> CreateCommandOption

source§

fn from_option(option: Option<&CommandDataOptionValue>) -> Result<Self>

source§

impl CommandOption for String

source§

const TYPE: CommandOptionType = CommandOptionType::String

source§

fn to_option( name: impl Into<String>, description: impl Into<String> ) -> CreateCommandOption

source§

fn from_option(option: Option<&CommandDataOptionValue>) -> Result<Self>

source§

impl CommandOption for AttachmentId

source§

const TYPE: CommandOptionType = CommandOptionType::Attachment

source§

fn to_option( name: impl Into<String>, description: impl Into<String> ) -> CreateCommandOption

source§

fn from_option(option: Option<&CommandDataOptionValue>) -> Result<Self>

source§

impl CommandOption for ChannelId

source§

const TYPE: CommandOptionType = CommandOptionType::Channel

source§

fn to_option( name: impl Into<String>, description: impl Into<String> ) -> CreateCommandOption

source§

fn from_option(option: Option<&CommandDataOptionValue>) -> Result<Self>

source§

impl CommandOption for GenericId

source§

const TYPE: CommandOptionType = CommandOptionType::Mentionable

source§

fn to_option( name: impl Into<String>, description: impl Into<String> ) -> CreateCommandOption

source§

fn from_option(option: Option<&CommandDataOptionValue>) -> Result<Self>

source§

impl CommandOption for RoleId

source§

const TYPE: CommandOptionType = CommandOptionType::Role

source§

fn to_option( name: impl Into<String>, description: impl Into<String> ) -> CreateCommandOption

source§

fn from_option(option: Option<&CommandDataOptionValue>) -> Result<Self>

source§

impl CommandOption for UserId

source§

const TYPE: CommandOptionType = CommandOptionType::User

source§

fn to_option( name: impl Into<String>, description: impl Into<String> ) -> CreateCommandOption

source§

fn from_option(option: Option<&CommandDataOptionValue>) -> Result<Self>

source§

impl<T: CommandOption> CommandOption for Option<T>

Implementors§