12个版本

0.1.4 2024年5月7日
0.1.3 2024年3月16日
0.0.8 2024年3月2日
0.0.4 2024年2月29日

#1070网络编程

Download history 89/week @ 2024-05-03 11/week @ 2024-05-10 4/week @ 2024-05-17 1/week @ 2024-05-24 1/week @ 2024-06-07 1/week @ 2024-06-28 4/week @ 2024-07-05

1,242 每月下载量
用于 twitch_ircv3_parse

MIT/Apache

8KB
134

IRCv3解析


lib.rs:

IRCv3解析

示例

use std::collections::HashMap;
use ircv3_parse::ircv3_parse;
let msg = "@badge-info=;badges=broadcaster/1;client-nonce=997dcf443c31e258c1d32a8da47b6936;color=#0000FF;display-name=abc;emotes=;first-msg=0;flags=0-6:S.7;id=eb24e920-8065-492a-8aea-266a00fc5126;mod=0;room-id=713936733;subscriber=0;tmi-sent-ts=1642786203573;turbo=0;user-id=713936733;user-type= :[email protected] PRIVMSG #xyz :HeyGuys\r\n";
let (tags, prefix, command, params) = ircv3_parse(msg);
let expeced_tags= HashMap::from([
    ("badge-info", ""),
    ("subscriber", "0"),
    ("id", "eb24e920-8065-492a-8aea-266a00fc5126"),
    ("user-id", "713936733"),
    ("emotes", ""),
    ("tmi-sent-ts", "1642786203573"),
    ("client-nonce", "997dcf443c31e258c1d32a8da47b6936"),
    ("mod", "0"),
    ("badges", "broadcaster/1"),
    ("room-id", "713936733"),
    ("flags", "0-6:S.7"),
    ("color", "#0000FF"),
    ("turbo", "0"),
    ("display-name", "abc"),
    ("first-msg", "0"),
    ("user-type", "")]);



assert_eq!(prefix.as_ref(), &Some(("abc", Some("[email protected]"))));
assert_eq!(command, "PRIVMSG");
assert_eq!(params.channel(), Some("#xyz"));
assert_eq!(params.message(), Some("HeyGuys"));

依赖项

~1MB
~19K SLoC