12 releases (4 breaking)
0.5.3 | Sep 18, 2024 |
---|---|
0.5.2 | Sep 18, 2024 |
0.4.0 | Sep 18, 2024 |
0.3.3 | Sep 14, 2024 |
0.1.1 | Sep 2, 2024 |
#812 in Web programming
106 downloads per month
Used in trustfall-pandascore-adap…
91KB
2K
SLoC
pandascore
Rust client for the PandaScore API.
Currently only supports the free tier of the API.
Features
- “All Video Games” endpoints
- Incidents
- Leagues
- Lives
- Matches
- Players
- Series
- Teams
- Tournaments
- Video Games
- “League of Legends” endpoints
- Champions
-
Games - Items
- Leagues
-
Mastery -
Stats - Matches
-
Stats - Players
- Series
- Teams
- Spells
- Tournaments
- “Call of Duty” endpoints
- “Counter Strike” endpoints
- “Dota 2” endpoints
- “EA Sports FC” endpoints
- “LOL Wild Rift” endpoints
- “Mobile Legends: Bang Bang” endpoints
- “OverWatch” endpoints
- “PUBG” endpoints
- “Rainbow Six Siege” endpoints
- “Rocket League” endpoints
- “Valorant” endpoints
- “King of Glory” endpoints
- “StarCraft 2” endpoints
- “StarCraft Brood War” endpoints
Examples
To search for a league by name:
use anyhow::Context;
use pandascore::{
endpoint::{all::leagues::ListLeagues, CollectionOptions},
Client,
};
#[tokio::main]
async fn main() -> anyhow::Result<()> {
let token = std::env::var("PANDASCORE_TOKEN").context("PANDASCORE_TOKEN missing")?;
let search = std::env::args().nth(1).unwrap_or_else(|| "LCK".to_owned());
let list_leagues = ListLeagues(CollectionOptions::new().search("name", search));
let client = Client::new(reqwest::Client::new(), token)?;
let response = client.execute(list_leagues).await?;
println!("{:#?}", response);
Ok(())
}
To get a player by ID or name:
use anyhow::Context;
use pandascore::{endpoint::all::players::GetPlayer, model::Identifier, Client};
#[tokio::main]
async fn main() -> anyhow::Result<()> {
let token = std::env::var("PANDASCORE_TOKEN").context("PANDASCORE_TOKEN missing")?;
let arg = std::env::args()
.nth(1)
.unwrap_or_else(|| "faker".to_owned());
let get_player = match arg.parse::<u64>() {
Ok(id) => GetPlayer(Identifier::Id(id)),
Err(_) => GetPlayer(Identifier::Slug(&arg)),
};
let client = Client::new(reqwest::Client::new(), token)?;
let response = client.execute(get_player).await?;
println!("{:#?}", response);
Ok(())
}
Dependencies
~10–22MB
~320K SLoC