1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
|
# pandascore  [](https://crates.io/crates/pandascore) [](https://docs.rs/pandascore) [](https://github.com/ansg191/pandascore)
## Rust client for the [PandaScore API][__link0].
Currently **only** supports the free tier of the API.
### Features
* [ ] “All Video Games” endpoints
* [ ] Incidents
* [x] Leagues
* [ ] Lives
* [x] Matches
* [x] Players
* [x] Series
* [x] Teams
* [x] Tournaments
* [ ] Video Games
* [ ] “League of Legends” endpoints
* [x] Champions
* [ ] ~~Games~~
* [x] Items
* [x] Leagues
* [ ] ~~Mastery~~
* [ ] ~~Stats~~
* [x] Matches
* [ ] ~~Stats~~
* [x] Players
* [x] Series
* [x] Teams
* [x] Spells
* [x] 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
* [x] “Rocket League” endpoints
* [ ] “Valorant” endpoints
* [ ] “King of Glory” endpoints
* [ ] “StarCraft 2” endpoints
* [ ] “StarCraft Brood War” endpoints
### Examples
To search for a league by name:
```rust
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:
```rust
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(())
}
```
[__link0]: https://pandascore.co/
|