Crate twitch_api2[−][src]
Rust library for talking with the new Twitch API aka. "Helix", TMI and more! Use Twitch endpoints fearlessly!
Examples
Get information about a channel with the Get Channel Information
helix endpoint.
use twitch_api2::{TwitchClient, helix::channels::GetChannelInformationRequest}; use twitch_oauth2::client::surf_http_client; use twitch_oauth2::{AppAccessToken, Scope, TwitchToken, tokens::errors::TokenError}; let token = match AppAccessToken::get_app_access_token(surf_http_client, client_id, client_secret, Scope::all()).await { Ok(t) => t, Err(TokenError::Request(e)) => panic!("got error: {:?}", e), Err(e) => panic!(e), }; let client = TwitchClient::new(); let req = GetChannelInformationRequest::builder() .broadcaster_id("27620241") .build(); println!("{:?}", &client.helix.req_get(req, &token).await?.data.unwrap().title);
Features
This crate provides almost no functionality by default, only exposing types
. To enable more features, refer to below table.
Feature | |
---|---|
twitch_oauth2 | Gives scopes for endpoints and topics that are needed to call them. |
client | Gives a client abstraction for endpoints. See for example TmiClient and HelixClient |
helix | Enables Helix endpoints |
tmi | Enables TMI endpoints |
eventsub | Enables deserializable structs for EventSub |
pubsub | Enables deserializable structs for PubSub |
surf_client | Enables surf for HttpClient |
reqwest_client | Enables reqwest for HttpClient |
all | Enables all above features. Including reqwest and surf. Do not use this in production, it's better if you specify exactly what you need |
unsupported | Enables undocumented or experimental endpoints or topics. Breakage may occur |
allow_unknown_fields | Removes #[serde(deny_unknown_fields)] on all applicable structs/enums |
Re-exports
pub use twitch_oauth2; |
pub use client::Client as HttpClient; |
Modules
client | client Different clients you can use with this crate to call endpoints. |
eventsub | eventsub Holds serializable EventSub stuff |
helix | helix Helix endpoints or the New Twitch API |
pubsub | pubsub Holds serializable pubsub stuff |
tmi | tmi TMI Endpoint, twitch's unsupported api for better chatters retrieval |
types | Twitch types |
Structs
HelixClient | client and helix Client for Helix or the New Twitch API |
TmiClient | client and tmi Client for the twitch TMI endpoint, almost entirely undocumented and certainly not supported. |
TwitchClient | client and (helix or tmi )Client for Twitch APIs. |
Statics
TWITCH_HELIX_URL | helix Location of Twitch Helix |
TWITCH_PUBSUB_URL | pubsub Location to twitch PubSub |
TWITCH_TMI_URL | tmi Location of Twitch TMI |