8 releases
0.7.0-rc.8 | Oct 11, 2024 |
---|---|
0.7.0-rc.7 | Sep 17, 2023 |
0.7.0-rc.6 | May 1, 2023 |
0.7.0-rc.4 | Jan 21, 2023 |
0.1.1 |
|
#149 in Web programming
443 downloads per month
1.5MB
28K
SLoC
Twitch API | Rust library for talking with the new Twitch API aka. "Helix", EventSub and more!
See documentation for more info.
You can see current unpublished docs for the main branch here:
See examples for examples. If you want to run them locally, make sure you get the git submodules first.
use twitch_api::helix::HelixClient;
use twitch_api::twitch_oauth2::{AccessToken, UserToken};
#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error + Send + Sync + 'static>> {
// Create the HelixClient, which is used to make requests to the Twitch API
let client: HelixClient<reqwest::Client> = HelixClient::default();
// Create a UserToken, which is used to authenticate requests
let token = UserToken::from_token(&client, AccessToken::from("mytoken")).await?;
println!(
"Channel: {:?}",
client.get_channel_from_login("twitchdev", &token).await?
);
Ok(())
}
Notes
This crate was previously available as twitch_api2
and has since been renamed to twitch_api
Goals
This crate aims to target
- Helix
- EventSub
- Extensions
- No functionality implemented yet
- PubSub (without a client)
- See implemented topics
- PubSub is deprecated, replaced with EventSub websockets
There are no current plans to support
- GraphQL
- Drops (except what is in Helix)
- Twitch IRC Chat, use museun/twitch_message or robotty/twitch-irc
- Authentication, use twitch-rs/twitch_oauth2
- Undocumented Helix endpoints, i.e endpoints mobile Twitch app uses. Including working "hidden" endpoints
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
~3–19MB
~284K SLoC