#discord #twilight #discord-api #command-arguments #config-parser #name

twilight-command-parser

Twilight生态系统消息命令解析器

20个版本 (9个重大更新)

0.9.0 2022年1月23日
0.8.1 2021年12月27日
0.7.0 2021年10月21日
0.6.0 2021年7月31日
0.2.2 2020年11月2日

#18 in #twilight

Download history 33/week @ 2024-03-30 2/week @ 2024-04-06 3/week @ 2024-04-20 1/week @ 2024-04-27 1/week @ 2024-05-25

154 每月下载量

ISC 许可证

32KB
561

twilight-command-parser

codecov badge discord badge github badge license badge rust badge

此包已弃用。请使用通过 Discord交互twilight-gatewaytwilight-http 包。

twilight-command-parsertwilight-rs 生态系统的命令解析器。

包含可变的配置,允许您指定命令名称和前缀。解析器解析出与可用命令和前缀匹配的命令,并将命令参数提供给您。

示例

一个简单的解析器,用于具有一个前缀 ("!) 和两个命令:"echo"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"),
}

依赖项

~95KB