Skip to main content

Crate blivemsg

Crate blivemsg 

Source
Expand description

§blivemsg - B站直播弹幕客户端库

一个高性能的异步B站直播弹幕客户端,支持所有消息类型。

§快速开始

§Stream 模式(推荐)

use blivemsg::{BliveClient, types::Message};
use futures_util::StreamExt;

#[tokio::main]
async fn main() -> Result<(), blivemsg::Error> {
    let mut client = BliveClient::new(7734200, "cookies.json")?;
    let mut stream = client.stream().await?;

    while let Some(message) = stream.next().await {
        match message {
            Message::Danmu(d) => println!("[{}] {}: {}", d.medal_level, d.username, d.content),
            Message::Gift(g) => println!("{} 送了 {} x{}", g.username, g.gift_name, g.num),
            _ => {}
        }
    }
    Ok(())
}

§回调模式

use blivemsg::BliveClient;

#[tokio::main]
async fn main() -> Result<(), blivemsg::Error> {
    let mut client = BliveClient::new(7734200, "cookies.json")?;

    client.on_danmu(|danmu| {
        println!("[{}] {}: {}", danmu.medal_level, danmu.username, danmu.content);
    }).await?;

    Ok(())
}

§架构说明

  • BliveClient: 核心客户端,负责建立和管理WebSocket连接
  • types::Message: 消息枚举,包含所有52种消息类型
  • Error: 统一错误类型

更多详细信息请查看各模块文档。

Modules§

types
所有消息类型定义

Structs§

BliveClient
核心客户端 B站直播弹幕客户端

Enums§

Error
错误类型