3 个不稳定版本
0.2.1 | 2022 年 8 月 2 日 |
---|---|
0.2.0 | 2022 年 8 月 2 日 |
0.1.0 | 2022 年 7 月 30 日 |
#1758 in 解析实现
18KB
193 行
ircparser
一个基于 Rust 的 IRC (RFC1459) 解析器和格式化工具。
ircparser
应该在几乎任何 Rust 版本上都能工作,但是在 CI 中检查的最早版本是 v1.31(第一个支持 Rust 2018 的版本)。
设置
要使用 ircparser
的最新稳定版本,将其添加到您的 Cargo.toml 文件中,如下所示
[dependencies]
ircparser = "^0.2.1"
您也可以通过指定以下内容使用最新开发版本
[dependencies]
ircparser = { git = "https://github.com/parafoxia/ircparser" }
使用方法
ircparser
目前只有一个公共函数 — parse
。此函数接受一条 IRC 消息的行,并将其解析为易于使用的 Line
对象。
use ircparser;
fn main() {
let msg = "@id=123;name=rick :[email protected] PRIVMSG #rickastley :Never gonna give you up!";
match ircparser::parse(msg) {
Ok(x) => {
let line = x;
assert_eq!(&line.tags["id"], "123");
if line.source.is_some() {
assert_eq!(line.source.unwrap(), ":[email protected]");
}
assert_eq!(line.command, "PRIVMSG");
assert_eq!(line.params[0], "#rickastley");
assert_eq!(line.params[1], "Never gonna give you up!");
}
Err(e) => {
println!("A parsing error occured: {e}");
return;
}
};
}
许可
Rust 的 ircparser
crate 采用 BSD 3-Clause 许可证。