Crate obws

Source
Expand description

§OBWS - The obws (obvious) remote control library for OBS

Remote control OBS with the obs-websocket plugin from Rust 🦀.

§Example

use anyhow::Result;
use obws::Client;

#[tokio::main]
async fn main() -> Result<()> {
    /// Connect to the OBS instance through obs-websocket.
    let client = Client::connect("localhost", 4455, Some("password")).await?;

    /// Get and print out version information of OBS and obs-websocket.
    let version = client.general().version().await?;
    println!("{:#?}", version);

    /// Get a list of available scenes and print them out.
    let scene_list = client.scenes().list().await?;
    println!("{:#?}", scene_list);

    Ok(())
}

§Differences to obs-websocket API design

You may notice that several functions are named differently from the original obs-websocket documentation. To help you find the right functions, have a look at docs::mapping.

Re-exports§

pub use self::client::Client;

Modules§

client
The client to the obs-websocket API and main entry point.
common
Common data structures shared between requests, responses and events.
docs
Additional documentation, mostly in regards to obs-websocket, or details outside of direct API elements.
error
Various error types that can occur while using this crate.
events
All events that can be received from the API.
requests
All requests that can be send to the API.
responses
All responses that can be received from the API.