14 releases
0.6.1 | Apr 29, 2022 |
---|---|
0.6.0-rc.3 | Sep 27, 2021 |
0.6.0-rc.1 | Jul 14, 2021 |
0.5.0-alpha.5 |
|
0.5.0-alpha.2 |
|
#713 in Authentication
Used in 4 crates
1MB
19K
SLoC
Twitch API2 | Rust library for talking with the new Twitch API aka. "Helix", TMI and more!
See documentation for more info.
You can see current unpublished docs here:
See examples for examples.
use twitch_api2::helix::HelixClient;
use twitch_oauth2::{AccessToken, UserToken};
use reqwest::Client as ReqwestClient;
#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error + Send + Sync + 'static>> {
let client: HelixClient<ReqwestClient> = HelixClient::default();
let token = UserToken::from_existing(
&client,
AccessToken::new("mytoken".to_string()),
None, // Refresh Token
None, // Client Secret
)
.await?;
println!("Channel: {:?}",
client.get_channel_from_login("twitchdev", &token).await?
);
Ok(())
}
Goals
This crate aims to target
- Helix
- TMI
- EventSub
- 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
License
Licensed under either of Apache License, Version 2.0 or MIT license at your option.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.
Dependencies
~4–21MB
~323K SLoC