Skip to content

A Rust library that makes it easier to interface with the local LoL game client

License

Notifications You must be signed in to change notification settings

Djazouli/LoLGameClientAPI

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

38 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

This crate aims to provide a Rust interface with the League of Legends Game Client API. The official doc can be found here.

The Game Client API is an API that is exposed by your local League of Legends Client, and should not be mistaken for the LoL API, for which there is already a great crate. The API allows you to get some informations about the ongoing game.

Content of the crate

There are currently three modules:

  • api which contains the GameClient and all it's methods that calls the API.
  • model which contains all the structures for the data that will be returned by the API.
  • event_listener which contains the definition of a trait to create structures that you can pass to start_listener to run a task that will periodically check for new Events and trigger callbacks accordingly. (you can see an example in examples/basic_listener)

How to use it

use lol_game_client_api::api::{GameClient, get_riot_root_certificate};
use tokio;

#[tokio::main]
async fn main() {
    let client = GameClient::new();
    let active_player = client.active_player().await.unwrap();
    
    println!("Stats Runes: {:?}", active_player.full_runes.stat_runes)
}

A more complete example can be found in the repo LoLCongratz. This is a small binary that plays a sound in a virtual audio cable each time a teammate makes a kill.

TODO

Currently, some variants are missing from enums (see model::DragonType for example).
Also, some endpoints are not working at all ( all the endpoints that require the summonerName as a GET param for example).
But all the structs to deserialize the response already exists, so this should not be too much work.

Disclaimer

I created this crate a morning, for a personnal project, so there may be some missing features, or it may not be up-to-date with the latest LoL client. In which case, I'd be delighted to see a contribution (being an issue or a PR) !

About

A Rust library that makes it easier to interface with the local LoL game client

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages