Crates.io | dailyco |
lib.rs | dailyco |
version | 0.7.0 |
source | src |
created_at | 2022-06-12 19:39:31.474194 |
updated_at | 2024-08-09 14:02:01.273197 |
description | Rust bindings for Daily REST API (videochat provider) |
homepage | |
repository | https://github.com/rookly-dev/dailyco-rs |
max_upload_size | |
id | 604728 |
size | 134,287 |
Rust bindings to interact with the Daily
API.
We aim to eventually support the entire API surface, for now this crate supports
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(())
}
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" }
Licensed under either of
at your option.
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.