| Crates.io | twilight-command-parser |
| lib.rs | twilight-command-parser |
| version | 0.9.0 |
| created_at | 2020-08-30 02:56:06.969914+00 |
| updated_at | 2022-01-23 00:25:32.721147+00 |
| description | Message command parser for the Twilight ecosystem. |
| homepage | https://twilight.rs/chapter_1_crates/section_5_command_parser.html |
| repository | https://github.com/twilight-rs/twilight.git |
| max_upload_size | |
| id | 282541 |
| size | 31,253 |
This crate has been deprecated. Please use Discord interactions via the
twilight-gateway or twilight-http crates.
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.
A simple parser for a bot with one prefix ("!") and two commands: "echo"
and "ping":
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"),
}