Struct serenity::model::interactions::ApplicationCommand [−][src]
#[non_exhaustive]pub struct ApplicationCommand { pub id: CommandId, pub application_id: ApplicationId, pub guild_id: Option<GuildId>, pub name: String, pub description: String, pub options: Vec<ApplicationCommandOption>, pub default_permission: bool, }
unstable_discord_api
only.Expand description
The base command model that belongs to an application.
Fields (Non-exhaustive)
This struct is marked as non-exhaustive
Struct {{ .. }}
syntax; cannot be matched against without a wildcard ..
; and struct update syntax will not work.id: CommandId
Expand description
The command Id.
application_id: ApplicationId
Expand description
The parent application Id.
guild_id: Option<GuildId>
Expand description
The command guild Id, if it is a guild command.
Note: It may only be present if it is received through the gateway.
name: String
Expand description
The command name.
description: String
Expand description
The command description.
options: Vec<ApplicationCommandOption>
Expand description
The parameters for the command.
default_permission: bool
Expand description
Whether the command is enabled by default when the application is added to a guild.
Implementations
impl ApplicationCommand
[src]
impl ApplicationCommand
[src]pub async fn create_global_application_command<F>(
http: impl AsRef<Http>,
f: F
) -> Result<ApplicationCommand> where
F: FnOnce(&mut CreateApplicationCommand) -> &mut CreateApplicationCommand,
[src]
pub async fn create_global_application_command<F>(
http: impl AsRef<Http>,
f: F
) -> Result<ApplicationCommand> where
F: FnOnce(&mut CreateApplicationCommand) -> &mut CreateApplicationCommand,
[src]Creates a global ApplicationCommand
,
overriding an existing one with the same name if it exists.
When a created ApplicationCommand
is used, the InteractionCreate
event will be emitted.
Note: Global commands may take up to an hour to become available.
As such, it is recommended that guild application commands be used for testing purposes.
Examples
Create a simple ping command
use serenity::model::{interactions::ApplicationCommand, id::ApplicationId}; let _ = ApplicationCommand::create_global_application_command(&http, |a| { a.name("ping") .description("A simple ping command") }) .await;
Create a command that echoes what is inserted
use serenity::model::{ interactions::{ApplicationCommand, ApplicationCommandOptionType}, id::ApplicationId }; let _ = ApplicationCommand::create_global_application_command(&http, |a| { a.name("echo") .description("What is said is echoed") .create_option(|o| { o.name("to_say") .description("What will be echoed") .kind(ApplicationCommandOptionType::String) .required(true) }) }) .await;
Errors
May return an Error::Http
if the ApplicationCommand
is illformed,
such as if more than 10 choices
are set. See the API Docs for further details.
Can also return an Error::Json
if there is an error in deserializing
the response.
pub async fn create_global_application_commands<F>(
http: impl AsRef<Http>,
f: F
) -> Result<Vec<ApplicationCommand>> where
F: FnOnce(&mut CreateApplicationCommands) -> &mut CreateApplicationCommands,
[src]
pub async fn create_global_application_commands<F>(
http: impl AsRef<Http>,
f: F
) -> Result<Vec<ApplicationCommand>> where
F: FnOnce(&mut CreateApplicationCommands) -> &mut CreateApplicationCommands,
[src]Same as create_global_application_command
but allows
to create more than one global command per call.
pub async fn edit_global_application_command<F>(
http: impl AsRef<Http>,
command_id: CommandId,
f: F
) -> Result<ApplicationCommand> where
F: FnOnce(&mut CreateApplicationCommand) -> &mut CreateApplicationCommand,
[src]
pub async fn edit_global_application_command<F>(
http: impl AsRef<Http>,
command_id: CommandId,
f: F
) -> Result<ApplicationCommand> where
F: FnOnce(&mut CreateApplicationCommand) -> &mut CreateApplicationCommand,
[src]Edits a global command by its Id.
pub async fn get_global_application_commands(
http: impl AsRef<Http>
) -> Result<Vec<ApplicationCommand>>
[src]
pub async fn get_global_application_commands(
http: impl AsRef<Http>
) -> Result<Vec<ApplicationCommand>>
[src]Gets all global commands.
pub async fn get_global_application_command(
http: impl AsRef<Http>,
command_id: CommandId
) -> Result<ApplicationCommand>
[src]
pub async fn get_global_application_command(
http: impl AsRef<Http>,
command_id: CommandId
) -> Result<ApplicationCommand>
[src]Gets a global command by its Id.
Trait Implementations
impl Clone for ApplicationCommand
[src]
impl Clone for ApplicationCommand
[src]fn clone(&self) -> ApplicationCommand
[src]
fn clone(&self) -> ApplicationCommand
[src]Returns a copy of the value. Read more
fn clone_from(&mut self, source: &Self)
1.0.0[src]
fn clone_from(&mut self, source: &Self)
1.0.0[src]Performs copy-assignment from source
. Read more
impl Debug for ApplicationCommand
[src]
impl Debug for ApplicationCommand
[src]impl<'de> Deserialize<'de> for ApplicationCommand
[src]
impl<'de> Deserialize<'de> for ApplicationCommand
[src]fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error> where
__D: Deserializer<'de>,
[src]
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error> where
__D: Deserializer<'de>,
[src]Deserialize this value from the given Serde deserializer. Read more
impl Serialize for ApplicationCommand
[src]
impl Serialize for ApplicationCommand
[src]Auto Trait Implementations
impl RefUnwindSafe for ApplicationCommand
impl Send for ApplicationCommand
impl Sync for ApplicationCommand
impl Unpin for ApplicationCommand
impl UnwindSafe for ApplicationCommand
Blanket Implementations
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]pub fn borrow_mut(&mut self) -> &mut T
[src]
pub fn borrow_mut(&mut self) -> &mut T
[src]Mutably borrows from an owned value. Read more
impl<T> Instrument for T
[src]
impl<T> Instrument for T
[src]fn instrument(self, span: Span) -> Instrumented<Self>
[src]
fn instrument(self, span: Span) -> Instrumented<Self>
[src]Instruments this type with the provided Span
, returning an
Instrumented
wrapper. Read more
fn in_current_span(self) -> Instrumented<Self>
[src]
fn in_current_span(self) -> Instrumented<Self>
[src]impl<T> Same<T> for T
impl<T> Same<T> for T
type Output = T
type Output = T
Should always be Self
impl<T> ToOwned for T where
T: Clone,
[src]
impl<T> ToOwned for T where
T: Clone,
[src]type Owned = T
type Owned = T
The resulting type after obtaining ownership.
pub fn to_owned(&self) -> T
[src]
pub fn to_owned(&self) -> T
[src]Creates owned data from borrowed data, usually by cloning. Read more
pub fn clone_into(&self, target: &mut T)
[src]
pub fn clone_into(&self, target: &mut T)
[src]🔬 This is a nightly-only experimental API. (toowned_clone_into
)
recently added
Uses borrowed data to replace owned data, usually by cloning. Read more
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
pub fn vzip(self) -> V
impl<T> DeserializeOwned for T where
T: for<'de> Deserialize<'de>,
[src]
T: for<'de> Deserialize<'de>,