See documentation for more info.
You can see current unpublished docs here:
See examples for examples.
use twitch_api2::{TwitchClient, helix::channels::GetChannelInformationRequest};
use twitch_oauth2::{AccessToken, Scope, TwitchToken, tokens::errors::TokenError, UserToken, client::reqwest_http_client};
#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error + Send + Sync + 'static>> {
let token = UserToken::from_existing(
reqwest_http_client,
AccessToken::new("mytoken".to_string()),
None, // Client ID
None, // Client Secret
)
.await?;
let client: TwitchClient<reqwest::Client> = TwitchClient::default();
let req = GetChannelInformationRequest::builder()
.broadcaster_id("12826")
.build();
println!("{:?}", &client.helix.req_get(req, &token).await?.data.unwrap().title);
Ok(())
}
This crate aims to target
- Helix
- TMI
- EventSub
- Webhooks
- PubSub (without a client)
- Extensions
This crate should also be able to be used for
- some v5 Kraken services
- GraphQL
- Useful undocumented Helix endpoints, i.e endpoints mobile Twitch app uses. Including working "hidden" endpoints
There are no current plans to support
- Drops (except what is in Helix)
- Twitch IRC Chat, use museun/twitchchat
- Authentication, use Emilgardis/twitch_oauth2
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in this crate by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.