Trait serenity::utils::ArgumentConvert [−][src]
pub trait ArgumentConvert: Sized {
type Err;
fn convert<'life0, 'life1, 'async_trait>(
ctx: &'life0 Context,
guild_id: Option<GuildId>,
channel_id: Option<ChannelId>,
s: &'life1 str
) -> Pin<Box<dyn Future<Output = Result<Self, Self::Err>> + Send + 'async_trait>>
where
'life0: 'async_trait,
'life1: 'async_trait,
Self: 'async_trait;
}
Expand description
Parse a value from a string in context of a received message.
This trait is a superset of std::str::FromStr
. The
difference is that this trait aims to support serenity-specific Discord types like Member
or Message
.
Trait implementations may do network requests as part of their parsing procedure.
Useful for implementing argument parsing in command frameworks.
Associated Types
Required methods
Parses a string s
as a command parameter of this type.
Implementors
Look up a Channel by a string case-insensitively.
Lookup are done via local guild. If in DMs, the global cache is used instead.
The cache feature needs to be enabled.
The lookup strategy is as follows (in order):
- Lookup by ID.
- Lookup by mention.
- Lookup by name.
type Err = ChannelParseError
Look up a ChannelCategory by a string case-insensitively.
Lookup is done by the global cache, hence the cache feature needs to be enabled.
For more information, see the ArgumentConvert implementation for Channel
type Err = ChannelCategoryParseError
Look up a GuildChannel by a string case-insensitively.
Lookup is done by the global cache, hence the cache feature needs to be enabled.
For more information, see the ArgumentConvert implementation for Channel
type Err = GuildChannelParseError
Look up a message by a string.
The lookup strategy is as follows (in order):
- Lookup by “{channel ID}-{message ID}” (retrieved by shift-clicking on “Copy ID”)
- Lookup by message ID (the message must be in the context channel)
- Lookup by message URL
type Err = MessageParseError
Look up a Emoji
.
Requires the cache feature to be enabled.
The lookup strategy is as follows (in order):
- Lookup by ID.
- Lookup by extracting ID from the emoji.
- Lookup by name.
type Err = EmojiParseError
Look up a Guild, either by ID or by a string case-insensitively.
Requires the cache feature to be enabled.
type Err = GuildParseError
Look up a guild member by a string case-insensitively.
Requires the cache feature to be enabled.
The lookup strategy is as follows (in order):
- Lookup by ID.
- Lookup by mention.
- Lookup by name#discrim.
- Lookup by name
- Lookup by nickname
type Err = MemberParseError
Look up a Role
by a string case-insensitively.
Requires the cache feature to be enabled.
The lookup strategy is as follows (in order):
- Lookup by ID
- Lookup by mention.
- Lookup by name (case-insensitive)
type Err = RoleParseError
Look up a user by a string case-insensitively.
Requires the cache feature to be enabled. If a user is not in cache, they will not be found!
The lookup strategy is as follows (in order):
- Lookup by ID.
- Lookup by mention.
- Lookup by name#discrim.
- Lookup by name