1 个不稳定版本
0.2.1 | 2023 年 10 月 21 日 |
---|
#2505 在 解析器实现
用于 e2e-irc
18KB
196 行
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
库采用 BSD 3-Clause 许可。