11个版本
0.2.8 | 2022年5月28日 |
---|---|
0.2.7 | 2022年5月28日 |
0.2.6 | 2021年3月13日 |
0.2.2 | 2021年2月27日 |
0.1.0 | 2020年5月21日 |
#1003 在 数据库接口 中
每月41次下载
35KB
941 行
GCHDB,即通用聊天历史数据库
此crate提供聊天记录抽象,用于存储从不同聊天软件提取的聊天记录,并集成中文全文索引。
使用方法
fn main() -> ChatRecordResult<()> {
// create an records database
let mut recoder = SqliteChatRecorder::new("record.db")?;
// create record, you can extract some record from other im's database
let record = Record {
chat_type: "testaasdavxz".into(),
owner_id: "asdasdasdaaaa".into(),
group_id: "asdasdasd".into(),
sender: "人民日报".into(),
content:
"张华考上了北京大学;李萍进了中等技术学校;我在百货公司当售货员:我们都有光明的前途"
.into(),
timestamp: chrono::Local::now().naive_utc().timestamp_millis(),
..Default::default()
};
// insert to database
assert_eq!(recoder.insert_or_update_record(&record)?, true);
// index the contents of the record
recoder.refresh_index()?;
// query record by sql
println!(
"{:?}",
recoder.get_record(Query {
chat_type: Some("testaasdavxz".into()),
sender: Some("%日报".into()),
..Default::default()
})?
);
// query record by indexer
println!(
"{:?}",
recoder.get_record(Query {
keyword: Some("技术学校".into()),
..Default::default()
})?
);
// remove record in database
assert_eq!(recoder.remove_record(record)?, true);
Ok(())
}
贡献
欢迎提交拉取请求 :)
许可证
AGPL3.0
依赖关系
~54MB
~779K SLoC