# dailyco [![dailyco on crates.io](https://img.shields.io/crates/v/dailyco.svg)](https://crates.io/crates/dailyco) [![dailyco on docs.rs](https://docs.rs/dailyco/badge.svg)](https://docs.rs/dailyco) Rust bindings to interact with the [`Daily` API](https://docs.daily.co/reference/rest-api). We aim to eventually support the entire API surface, for now this crate supports - [Room](https://docs.daily.co/reference/rest-api/rooms) creation - Getting + deleting room(s) - [Meeting tokens](https://docs.daily.co/reference/rest-api/meeting-tokens) ## 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](https://www.daily.co/) to generate a valid API key. ```rust,no_run 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, ```toml [dependencies] dailyco = { version = "0.1.0" } ``` ## License Licensed under either of * Apache License, Version 2.0 ([LICENSE-APACHE](LICENSE-APACHE) or http://www.apache.org/licenses/LICENSE-2.0) * MIT license ([LICENSE-MIT](LICENSE-MIT) or http://opensource.org/licenses/MIT) 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.