dailyco

Crates.iodailyco
lib.rsdailyco
version0.7.0
sourcesrc
created_at2022-06-12 19:39:31.474194
updated_at2024-08-09 14:02:01.273197
descriptionRust bindings for Daily REST API (videochat provider)
homepage
repositoryhttps://github.com/rookly-dev/dailyco-rs
max_upload_size
id604728
size134,287
Matthew Zeitlin (mzeitlin11)

documentation

README

dailyco

dailyco on crates.io dailyco on docs.rs

Rust bindings to interact with the Daily API.

We aim to eventually support the entire API surface, for now this crate supports

Example

Let's make a customized meeting room and generate a meeting token to join it. To run this example you will need to make an account with Daily to generate a valid API key.

use dailyco::meeting_token::CreateMeetingToken;
use dailyco::room::{CreateRoom, RoomPrivacy};
use dailyco::RoomPropertiesBuilder;

#[tokio::main]
async fn main() -> dailyco::Result<()> {
    let client = dailyco::Client::new("test-api-key")?;

    // Make a customized room
    let created_room = CreateRoom::new()
        .name("my-test-room")
        .privacy(RoomPrivacy::Private)
        .properties(
          RoomPropertiesBuilder::new()
           .enable_screenshare(false)
           .max_participants(20)
           .start_audio_off(true)
          )
        .send(&client)
        .await?;

    // Since it is a private room, we will need a meeting token to join it! Let's give
    // ourselves owner privileges while we're at it.
    let _meeting_token = CreateMeetingToken::new()
        .room_name(&created_room.name)
        .is_owner(true)
        .send(&client)
        .await?;
    Ok(())
}

Installation

The dailyco client is just a thin wrapper around a reqwest::Client. Because of this, in future we aim to add a feature set which forwards relevant features to reqwest. For now,

[dependencies]
dailyco = { version = "0.1.0" }

License

Licensed under either of

at your option.

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.

Commit count: 25

cargo fmt