1个不稳定版本
0.1.0 | 2024年4月29日 |
---|
#278 in 压缩
33KB
665 行
Lib-messenger-archive
该库读取指定路径的文件,并尝试将其解释为有效的MSN Messenger / Windows Live Messenger对话存档。
如果是有效的存档,则返回一个迭代器以读取存档中包含的各种消息。
也支持由《Messenger Plus!插件生成的存档。
使用示例
上面的简单示例只打印了文本内容,未格式化
use lib_messenger_archive::{Parser, Data};
let file = "test/alice1234.xml";
let mut parser = Parser::new(file).expect("unable to read the archive");
println!("Messages in archive \"{}\":\n---", file);
while let Some(message) = parser.next() {
if let Ok(msg) = message {
let msg_txts: Vec<&str> = msg.data
.iter()
.filter_map(|d| match d {
Data::Text(txt) => Some(txt.content.as_str()),
_ => None,
})
.collect();
println!("{}: {}", msg.sender_friendly_name, msg_txts.join(""));
}
}
let details = parser.details().unwrap();
println!("---\nThose messages were exchanged with: {}", details.recipient_id);
依赖项
~1.5MB
~27K SLoC