Crate trovo[][src]

Expand description

A Rust api client for Trovo.

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

Example

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

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

#[tokio::main]
async fn main() -> Result<(), Box<dyn Error>> {
    let client_id = env::var("CLIENT_ID").expect("missing CLIENT_ID env var");
    let username = env::var("USER_NAME").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(())
}

Modules

Chat

Structs

Struct representing errors that trovo api responds with.

Entrypoint for making requests to the Trovo api.

A simple client id provider that simply wraps the client id string

Payload for the get users api

Response for the get users api

User details returned by Client::users

Enums

Represents an access token

Error codes returned by the Trovo api

Standard errors that can occur on most api calls

Traits

A trait for an auth provider that can provide an access token.

A trait for an auth provider that can provide a client id