pub struct Command { /* private fields */ }
Expand description
A simple command implementation.
We just take first command from a message and ignore others.
Also we assume that entire text after command is arguments separated by whitespace.
In order to include space in argument you need to wrap it with '
: 'arg1 v' arg2
.
§Example
use tgbot::types::{Command, Message};
use std::convert::TryFrom;
fn handle_command(message: Message) {
let command = Command::try_from(message).unwrap();
println!("NAME: {}", command.get_name());
println!("ARGUMENTS: {:?}", command.get_args());
println!("MESSAGE: {:?}", command.get_message());
}
Implementations§
Trait Implementations§
source§impl Handler<Command> for CommandPredicate
impl Handler<Command> for CommandPredicate
source§impl TryFromInput for Command
impl TryFromInput for Command
§type Error = CommandError
type Error = CommandError
An error when conversion failed.
source§async fn try_from_input(
input: HandlerInput
) -> Result<Option<Self>, Self::Error>
async fn try_from_input( input: HandlerInput ) -> Result<Option<Self>, Self::Error>
Performs conversion. Read more
Auto Trait Implementations§
impl Freeze for Command
impl RefUnwindSafe for Command
impl Send for Command
impl Sync for Command
impl Unpin for Command
impl UnwindSafe for Command
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
source§impl<T> Instrument for T
impl<T> Instrument for T
source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
source§impl<T> IntoEither for T
impl<T> IntoEither for T
source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moresource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read more