1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
//! # twilight-command-parser
//!
//! [![discord badge][]][discord link] [![github badge][]][github link] [![license badge][]][license link] ![rust badge]
//!
//! `twilight-command-parser` is a command parser for the [`twilight-rs`]
//! ecosystem.
//!
//! Included is a mutable configuration that allows you to specify the command
//! names and prefixes. The parser parses out commands matching an available
//! command and prefix and provides the command arguments to you.
//!
//! ### Examples
//!
//! A simple parser for a bot with one prefix (`"!"`) and two commands: `"echo"`
//! and `"ping"`:
//!
//! ```rust,no_run
//! use twilight_command_parser::{Command, CommandParserConfig, Parser};
//!
//! let mut config = CommandParserConfig::new();
//!
//! config.add_command("echo", false);
//! config.add_command("ping", false);
//!
//! // Add the prefix `"!"`.
//! // (Use `CommandParserConfig::add_prefixes` to add multiple prefixes)
//! config.add_prefix("!");
//!
//! let parser = Parser::new(config);
//!
//! // Now pass a command to the parser
//! match parser.parse("!echo a message") {
//! Some(Command { name: "echo", arguments, .. }) => {
//! let content = arguments.as_str();
//!
//! println!("Got an echo request to send `{}`", content);
//! },
//! Some(Command { name: "ping", .. }) => {
//! println!("Got a ping request");
//! },
//! // Ignore all other commands.
//! Some(_) => {},
//! None => println!("Message didn't match a prefix and command"),
//! }
//! ```
//!
//! [discord badge]: https://img.shields.io/discord/745809834183753828?color=%237289DA&label=discord%20server&logo=discord&style=for-the-badge
//! [discord link]: https://discord.gg/7jj8n7D
//! [github badge]: https://img.shields.io/badge/github-twilight-6f42c1.svg?style=for-the-badge&logo=github
//! [github link]: https://github.com/twilight-rs/twilight
//! [license badge]: https://img.shields.io/badge/license-ISC-blue.svg?style=for-the-badge&logo=pastebin
//! [license link]: https://github.com/twilight-rs/twilight/blob/trunk/LICENSE.md
//! [rust badge]: https://img.shields.io/badge/rust-1.48+-93450a.svg?style=for-the-badge&logo=rust
//! [`twilight-rs`]: https://github.com/twilight-rs/twilight
pub use ;