League of Legends

Please use the Developers version of Overwolf to get the latest Overwolf Game Events Provider.

Sample app

Features:

matchState, deathAndRespawn, abilities, kill, assist, gold, minions, summoner_info, gameMode, teams, level.

Info Updates:

The Game Events Provider keeps an info DB with various information about the game state.
Updates about this information can be received as events by registering an event listener using overwolf.games.events.onInfoUpdates2()
It is also possible to get the current available information using overwolf.games.events.getInfo()

Feature Information
summoner_info
Key Category Values Notes Since Version
id summoner_info The user’s Summoner Id Fired immediately with game start  0.7.0
region summoner_info The user’s region (EUE, EUW, etc.)    0.7.0
name summoner_info The user’s summoner’s name    0.7.0
champion summoner_info the name of the selected champion   0.7.0
overwolf.games.events.onInfoUpdates2.addListener(function(data) {

if (data.info.summoner_info && data.info.name) {
 // do something interesting with the value (summoner name)
}

if (data.info.summoner_info && data.info.champion) {
 // do something interesting with the value (champion)
}
});
gameMode
Key Category Values Notes Since Version
 gameMode  game_info tutorial, spectator, ranked, custom    0.14.0
teams  
 Key  Category  Values  Notes  Since Version
 teams  game_info  A URI – decoded string that represents a JSON object with the teams formation  Need to decodeURI() the value and then JSON.parse() the result. See example below.  0.7.0

Lets assume we save the data in a variable called “info”. It will be the equivalent of:

var info = {"info":[{"category":"game_info","key":"teams","value":"%5B%7B%22team%22:%22100%22,%22champion%22:%22Rammus%22,
%22summoner%22:%22your_name5%22,%22skinId%22:%220%22%7D,%7B%22team%22:%22100%22,%22champion%22:%22Shyvana%22,
%22summoner%22:%22shyvana%20bot%22,%22skinId%22:%22-1%22%7D,%7B%22team%22:%22100%22,%22champion%22:%22Soraka%22,
%22summoner%22:%22soraka%20bot%22,%22skinId%22:%22-1%22%7D,%7B%22team%22:%22100%22,%22champion%22:%22Galio%22,
%22summoner%22:%22galio%20bot%22,%22skinId%22:%22-1%22%7D,%7B%22team%22:%22100%22,%22champion%22:%22Irelia%22,
%22summoner%22:%22irelia%20bot%22,%22skinId%22:%22-1%22%7D,%7B%22team%22:%22200%22,%22champion%22:%22Shyvana%22,
%22summoner%22:%22shyvana%20bot%22,%22skinId%22:%22-1%22%7D,%7B%22team%22:%22200%22,%22champion%22:%22Annie%22,
%22summoner%22:%22annie%20bot%22,%22skinId%22:%22-1%22%7D,%7B%22team%22:%22200%22,%22champion%22:%22Ezreal%22,
%22summoner%22:%22ezreal%20bot%22,%22skinId%22:%22-1%22%7D,%7B%22team%22:%22200%22,%22champion%22:%22MasterYi%22,
%22summoner%22:%22master%20yi%20bot%22,%22skinId%22:%22-1%22%7D,%7B%22team%22:%22200%22,%22champion%22:%22Cassiopeia%22,
%22summoner%22:%22cassiopeia%20bot%22,%22skinId%22:%22-1%22%7D%5D"}]} 

So now we will decode the value:

var decoded = decodeURI(info.info[0].value);

And get:

"[{"team":"100","champion":"Rammus","summoner":"your_name","skinId":"0"},
{"team":"100","champion":"Shyvana","summoner":"shyvana bot","skinId":"-1"},
{"team":"100","champion":"Soraka","summoner":"soraka bot","skinId":"-1"},
{"team":"100","champion":"Galio","summoner":"galio bot","skinId":"-1"},
{"team":"100","champion":"Irelia","summoner":"irelia bot","skinId":"-1"},
{"team":"200","champion":"Shyvana","summoner":"shyvana bot","skinId":"-1"},
{"team":"200","champion":"Annie","summoner":"annie bot","skinId":"-1"},
{"team":"200","champion":"Ezreal","summoner":"ezreal bot","skinId":"-1"},
{"team":"200","champion":"MasterYi","summoner":"master yi bot","skinId":"-1"},
{"team":"200","champion":"Cassiopeia","summoner":"cassiopeia bot","skinId":"-1"}]"

Now we will parse the string:

var teams = JSON.parse(decoded);

 And get a json array with the teams

gold  
 Key  Category  Values  Notes  Since Version
 gold  game_info  numeric value – amount of gold    0.7.0
minions  
Key Category Values Notes Since Version
minionKills game_info amount of enemy minions killed by the player    0.7.0
neutralMinionKills game_info amount of neutral minions killed by the player    0.7.0
matchState
Key Category Values Notes Since Version
 matchStarted  game_info  “True”/”False” (string)    0.14.0
 matchOutcome  game_info  win/lose    0.14.0
level
 Key  Category  Values  Notes  Since Version
 level  level  the level number of the player    0.19.0
kill
Key Category Values Notes Since Version
kills game_info Total kills in the match   0.35
doubleKills game_info Total double-kills in the match   0.35
tripleKills game_info Total triple-kills in the match   0.35
quadraKills game_info Total quadra-kills in the match   0.35
pentaKills game_info Total penta-kills in the match   0.35

Events:

Feature Information
 deathAndRespawn  
Event Event Data Fired when Notes Since Version
death Number of deaths The player’s champion died    0.14.0
respawn null The player’s champion respawned   0.14.0
 kill  
Event Event Data Fired when Notes Since Version
kill

A JSON containing:

  • count: Number of times this kill type happened in the match
  • label: kill / double_kill / triple_kill / quadra_kill / penta_kill
  • totalKills: The total kills in this match
Killing another champion   0.7.0
 assist  
Event Event Data Fired when Notes Since Version
assist Number of times this event happened in the match When you assists killing another champion   0.7.0
 matchState  
 Event  Event Data  Fired when  Notes  Since Version
 matchStart  null  Match has started    0.14.0
 matchEnd  null  Match is ended    0.14.0
abilities
Event Event Data Fired when Notes Since Version
ability ability number player use an ability
  • abilityies are numbered between 1-4
  • “ability” event is fired when the player clicked on the ability key (but he may cancel the ability action later) 
0.14.0
usedAbility

json containing: “type” with the ability number between 1-4

Example: { type: "4" } for ult

player activated the ability “usedAbility” fired when the player actually activated the ability.  0.31.0

3rd party API’s:

Riot Games API | API

Champion.GG | API

Elophant | API

* Riot Games’ policy is that any Overwolf app developed specifically for League of Legends shall not have a direct interaction with the player’s LoL experience. For example, it is OK to show general item builds, or match history – but not OK to automate builds based on the items that the other team is buying. In case of doubt, please contact developers@overwolf.com with a description of your idea.