#web-api #bindings #dota2 #dota

dota2_webapi_bindings

Rust bindings for official dota2 webapi

3 unstable releases

0.6.0 Oct 18, 2020
0.5.1 Oct 15, 2020
0.5.0 Oct 15, 2020

#5 in #dota

MIT license

25KB
501 lines

dota2_webapi_bindings

Build Status Crates.io Download crate Documentation

Dota 2 webapi bindings for rust

You can find the official(outdated) documentation here

I am currently using xpaw to get a list of APIs

How to Use :

In Cargo.toml :

[dependencies]
dota2_webapi_bindings = "*"

In main.rs :

//main.rs
use dota2_webapi_bindings::Dota2Api;
static DOTA2_KEY: &str = "0123456789"; //example token

fn main() {
   let mut dota = Dota2Api::new(String::from(DOTA2_KEY));
   // we use `set` to configure the URL first
   dota.set_heroes().itemized_only(true).language("zh_zh");
   // you can also write the above as just `dota.set_heroes();` or `dota.set_heroes().itemized_only(true);`
   // or just `dota.set_heroes().language("zh_zh");` or `dota.set_heroes().language("zh_zh").itemized_only(true);`
   // our builder like function takes care of optional parameters
 
   // and finally `get` to retrieve our struct
   let data = dota.get_heroes().expect("something went wrong, ez mid");
 }

The webapi terms are same as official except they are all in lowercase, Eg : GetGameItems is now get_game_items().

Available calls :
  • IEconDOTA2_570
    • GetGameItems
    • GetHeroes
    • GetRarities
    • GetTournamentPrizePool
  • IDOTA2Match_205790
    • GetLeagueListing
  • IDOTA2Match_570
    • GetLiveLeagueGames
    • GetTopLiveGame

See documentation for more.

Note: Try using language() with everything, just put in any string, it seems like its gives better readable name and description for some reason

License

Licensed under

Dependencies

~6.5MB
~148K SLoC