Crates.io Crates.io Docs.rs Workflow Status

trovo-rs

A Rust api client for Trovo.

Currently supports connecting to chat, sending messages, looking up users via username, and fetching channel information, more will be added as the crate develops.

Example

Find a user by username and then connect to their chat.

```rust use futures::prelude::*; use std::{env, error::Error}; use trovo::ClientId;

[tokio::main]

async fn main() -> Result<(), Box> { let clientid = env::var("CLIENTID").expect("missing CLIENTID env var"); let username = env::var("USERNAME").expect("missing USER_NAME env var");

let client = trovo::Client::new(ClientId::new(client_id));

println!("looking up user '{}'", username);
let user = client
    .user(username)
    .await?
    .expect("no user found for the given username");
println!("found user {:#?}", user);

let mut messages = client.chat_messages_for_channel(&user.channel_id).await?;
println!("listening for chat messages");
while let Some(msg) = messages.next().await {
    let msg = msg?;
    println!("[{}] {}", msg.nick_name, msg.content);
}

Ok(())

} ```

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.