node package manager

leagueapi

Wrapper for the League of Legends API

LeagueJS

A Javascript Wrapper for the League of Legends API

Use npm to install it from the npm registry by running npm install leagueapi

Put the following in a server.js file.

 
var LolApi = require('leagueapi');
 
LolApi.init('XXXXXXXXXXXXXXX', 'na');
 
LolApi.getChampions(true, function(err, champs) {
    console.log(champs);
});
 
LolApi.Summoner.getByName('YOLO Swag 5ever', function(err, summoner) {
    if(!err) {
        console.log(summoner);
    }
})
 
//The wrapper also accepts promises:
LolApi.Summoner.getByName('YOLO Swag 5ever')
.then(function (summoner) {
    console.log(summoner);
});

Run npm install followed by node server.js

[param] means you can pass null if you don't want to specify this parameter

    LolApi.Init(ApiKey); //Will default to NA
    LolApi.Init(ApiKey, region);
 
    LolApi.setRateLimit(limitPer10s, limitPer10min);
 
    LolApi.setEndpoint(newEndpoint);
    LolApi.getEndpoint();
    
    LolApi.getMapNames(callback);
 
    LolApi.getRegions(callback);
 
    LolApi.getPlatformId(region, callback);
 
    LolApi.getQueues(callback);
 
    LolApi.getChampions([freeToPlay], region, callback);
    LolApi.getChampions([freeToPlay], callback);
 
    LolApi.getRecentGames(summonerId, region, callback);
    LolApi.getRecentGames(summonerId, callback);
 
    LolApi.getLeagueData(summonerId, region, callback);
    LolApi.getLeagueData(summonerId, callback);
    
    LolApi.getTeamLeagueData(teamId, region, callback); // Get LeagueData for given Team ID in given region
    LolApi.getTeamLeagueData(teamId, callback); // Get LeagueData for given Team ID
    
    LolApi.getLeagueEntryData(summonerId, region, callback);
    LolApi.getLeagueEntryData(summonerId, callback);
 
    LolApi.getTeamLeagueEntryData(teamId, region, callback); // Get LeagueData Entry for given Team ID in given region
    LolApi.getTeamLeagueEntryData(teamId, callback); // Get LeagueData Entry for given Team ID
 
    LolApi.getTeams(summonerId, region, callback);
    LolApi.getTeams(summonerId, callback);
 
    LolApi.getTeam(teamId, region, callback);
    LolApi.getTeam(teamId, callback);
 
    LolApi.getShards(callback);
    LolApi.getShardByRegion(callback);
 
    LolApi.getMatch(matchId, [includeTimeline], region, callback);
 
    options = {championIds: [1,3,4], rankedQueues: ['RANKED_SOLO_5x5', 'RANKED_TEAM_3x3', 'RANKED_TEAM_5x5'], beginIndex: 1, endIndex: 5};
    LolApi.getMatchHistory(summonerId, [options], region, callback);
 
    LolApi.getCurrentGame(summonerId, region, callback);
 
    LolApi.getFeaturedGames(region, callback);
 
    LolApi.Stats.getPlayerSummary(summonerId, [season], region, callback);
    LolApi.Stats.getPlayerSummary(summonerId, [season], callback);
 
    LolApi.Stats.getRanked(summonerId, [season], region, callback);
    LolApi.Stats.getRanked(summonerId, [season], callback);
 
    LolApi.Summoner.getMasteries(summonerId, region, callback);
    LolApi.Summoner.getMasteries(summonerId, callback);
 
    LolApi.Summoner.getRunes(summonerId, region, callback);
    LolApi.Summoner.getRunes(summonerId, callback);
 
    LolApi.Summoner.getByID(summonerId, region, callback);
    LolApi.Summoner.getByID(summonerId, callback);
 
    LolApi.Summoner.getByName(name, region, callback);
    LolApi.Summoner.getByName(name, callback);
 
    LoLApi.Summoner.listNamesByIDs(ids, region, callback);
    LolApi.Summoner.listNamesByIDs(ids, callback);
 
    options = {champData: 'allytips,blurb', version : '4.4.3', locale: 'en_US', dataById=true}
    //doesn't show all options
    LolApi.Static.getChampionList(options, region, callback);
    LolApi.Static.getChampionList(options, callback);
    
    options = {champData: 'allytips,blurb', version : '4.4.3', locale: 'en_US', dataById=true}
    //doesn't show all options
    LolApi.Static.getChampionById(champId, options, region, callback);
    LolApi.Static.getChampionById(champId, options, callback);
    
    options = {itemData: 'consumed'}
    //doesn't show all possible options
    LolApi.Static.getItemById(itemId, options, region, callback);
    LolApi.Static.getItemById(itemId, options, callback);
    
    options = {itemListData: 'consumed'}
    LolApi.Static.getItemList(options, region, callback);
    LolApi.Static.getItemList(options, callback);
 
    LolApi.Static.getMasteryList(options, region, callback);
    LolApi.Static.getMasteryList(options, callback);
 
    LolApi.Static.getMasteryById(options, region, callback);
    LolApi.Static.getMasteryById(options, callback);
 
    LolApi.Static.getRealm(region, callback);
    LolApi.Static.getRealm(callback);
 
    LolApi.Static.getRuneList(options, region, callback);
    LolApi.Static.getRuneById(id, options, callback);
 
    LolApi.Static.getSummonerSpellList(options, region, callback);
    LolApi.Static.getSummonerSpellById(id, options, callback);
 
    LolApi.ChampionMastery.getChampions(playerId, region, callback);
    LolApi.ChampionMastery.getChampions(playerId, callback);
 
    LolApi.ChampionMastery.getChampion(playerId, championId, region, callback);
    LolApi.ChampionMastery.getChampion(playerId, championId, callback);
 
    LolApi.ChampionMastery.getScore(playerId, region, callback);
    LolApi.ChampionMastery.getScore(playerId, callback);
 
    LolApi.ChampionMastery.getTopChampions(playerId, count, region, callback);
    LolApi.ChampionMastery.getTopChampions(playerId, count, callback);
 
 
    //The following methods are only for enabled tournament api keys:
 
    LolApi.getMatchForTournament(matchId, tournamentCode, [includeTimeline], region, callback);
    LolApi.getMatchForTournament(matchId, tournamentCode, [includeTimeline], callback);
 
    LolApi.getMatchIdsByTournament(tournamentCode, region, callback);
    LolApi.getMatchIdsByTournament(tournamentCode, callback);
 
    LolApi.Tournament.createProvider(region, callbackUrl, callback);
 
    LolApi.Tournament.createTournament(name, providerId, callback);
 
    LolApi.Tournament.createCode(tournamentId, count, options, callback);
    LolApi.Tournament.updateCode(tournamentCode, options, callback);
    LolApi.Tournament.getCode(tournamentCode, callback);
 
    LolApi.Tournament.getLobbyEventsByCode(tournamentCode, callback);

Gulp.js is a streaming build system. Thanks to it's simplicity and code-over-configuration we are able to create a simple, efficient and more intuitive build process.

  • npm install -g gulp

Run JSLint on all js files:

  • gulp lint

Run BDD tests:

  • gulp test

Run istabul to generate a code coverage report:

  • gulp test-coverage

Run plato to generate a code analysis report:

  • gulp code-report

Runs both istanbul and plato in with one command:

  • gulp reports

Removes both coverage and report directories created by istanbul and plato

  • gulp clean-reports

Sets up a development environment that will watch for code changes then run JSLint and BDD tests upon saving:

  • gulp dev