claudiowilson / LeagueJS

A Javascript Wrapper for the League of Legends API
MIT License
170 stars 45 forks source link

LeagueJS

This Version is currently no longer maintained. v1.0.0 Rework for Riot API v3 can be found here on npm and here on Github

Join the chat at https://gitter.im/League-JS/Lobby

A Javascript Wrapper for the League of Legends API

How To Use

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

Here's the list of methods and their parameters:

[param] means you can pass null values if you don't want to specify the paramater

    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);

LeagueJS Gulp Commands

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.

To get started you need to install Gulp.js globally:

Available gulp commands and their descriptions:

Run JSLint on all js files:

Run BDD tests:

Run istabul to generate a code coverage report:

Run plato to generate a code analysis report:

Runs both istanbul and plato in with one command:

Removes both coverage and report directories created by istanbul and plato

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