nonebot_rs 0.3.0

A Onebot SDK in Rust
Documentation
pub mod revs_ws;
pub mod utils;
pub mod ws;

pub async fn strat_comms(nb: &crate::Nonebot) {
    let access_token = nb.config.gen_access_token();

    if let Some(ws_server_config) = &nb.config.ws_server {
        tokio::spawn(revs_ws::run(
            ws_server_config.host,
            ws_server_config.port,
            nb.event_sender.clone(),
            nb.action_sender.clone(),
            access_token.clone(),
        ));
    }

    if let Some(bots) = &nb.config.bots {
        for (bot_id, bot_config) in bots {
            if !bot_config.ws_server.is_empty() {
                tokio::spawn(ws::run(
                    bot_config.ws_server.clone(),
                    bot_id.clone(),
                    nb.event_sender.clone(),
                    nb.action_sender.clone(),
                    access_token.clone(),
                ));
            }
        }
    }
}