1个不稳定版本
0.3.0 | 2023年7月15日 |
---|
#3 在 #弹幕
54KB
1.5K SLoC
bilive-danmaku
这个库提供模拟哔哩哔哩直播的wss连接的功能,持续迭代中
关于发送弹幕等主动API,可以查看这个仓库: https://github.com/4t145/bilibili-client
使用
通过WebSocket
通过使用 https://github.com/4t145/rudanmaku-core
这使你可以通过ws来获取事件,计划在未来支持ipc通讯(uds for linux,命名管道 for windows)
在Cargo.toml
中加入
bilive-danmaku = { version = "0.3", features = ["rt_tokio"] }
使用
use bilive_danmaku::Connector;
use futures_util::StreamExt;
async fn tokio_main() {
let roomid = 851181;
let connector = Connector::init(roomid).await.unwrap();
let mut stream = connector.connect().await.unwrap();
while let Some(maybe_evt) = stream.next().await {
match maybe_evt {
Ok(evt) => {
log::info!("{:?}", evt);
}
Err(e) => {
log::warn!("{:?}", e);
}
}
}
stream.abort();
}
数据类型在model
模块中, 事件类型在event
模块中
use model::{User, FansMedal};
use event::Event as BiliEvent;
已支持的事件
可参考:
特性标志
标志 | 功能 |
---|---|
事件 |
只启用model和event,不包含连接,默认启用 |
rt_tokio |
使用tokio连接直播间 |
rt_wasm |
在wasm直播间运行 |
bincode |
启用bincode正反序列化 |
json |
启用json正反序列化 |
默认只启用event
,例如你想把收到的消息序列化为json格式,启用
[dependencies.bilive-danmaku]
# ****
features = ["rt_tokio", "json"]
提交代码
提交代码请fork一份,在自己的那一份签出新分支,然后提交到master分支
提交前请进行格式化和clippy check,可以直接运行根目录的脚本文件
Windows
./fix-all
Linux
bash fix-all.sh
依赖项
~1–20MB
~297K SLoC