riotapi-grab
    TypeScript icon, indicating that this package has built-in type declarations

    1.0.2 • Public • Published

    RiotAPI.grab

    RiotAPI.grab is wrapper for the League of Legends public API. By default, it is written and supported in typescript. Deployment is not yet complete. Reference to this official document.

    NPM

    Build Status APICoverage

    Installation

    npm

    npm i --save riotapi-grab

    Quick start

    const { RiotAPI, Region } = require('../lib/index.js')
     
    const riotAPI = new RiotAPI("API key", Region.kr)
     
    riotAPI.Status
        .getStatus()
        .then((result) => {
            /* Rate manager */
            const rateManager = result.rateManager
            /* The data is returned to result.model */
            const data = result.model
     
            /*
                [ 'app_rate_limit | 10/s: 0.00% used',
                'app_rate_limit_count | 600/s: 0.00% used' ] 
             */
            console.log(rateManager.getUsages())
     
            console.log(data.locales)
        })
     
        .getSummonersByName("SKT T1 Faker")
        .then((result) => {
            const data = result.model
     
            console.log(data.summonerLevel)
        }).catch((error) => {
            console.log(error)
        })

    The result values are returned with the model and the rate manager.

    result.model /* Result data */
    result.rateManager /* Manager for corresponding API */

    Configuration

    Region

    Region list. use it as a guide.

    {
        br: {
            platform: 'BR1',
            host: 'br1.api.riotgames.com'
        },
        eune: {
            platform: 'EUN1',
            host: 'eun1.api.riotgames.com'
        },
        euw: {
            platform: 'EUW1',
            host: 'euw1.api.riotgames.com'
        },
        jp: {
            platform: 'JP1',
            host: 'jp1.api.riotgames.com'
        },
        kr: {
            platform: 'KR',
            host: 'kr.api.riotgames.com'
        },
        lan: {
            platform: 'LA1',
            host: 'la1.api.riotgames.com'
        },
        las: {
            platform: 'LA2',
            host: 'la2.api.riotgames.com'
        },
        na: {
            platform: 'NA1',
            host: 'na1.api.riotgames.com'
        },
        oce: {
            platform: 'OC1',
            host: 'oc1.api.riotgames.com'
        },
        tr: {
            platform: 'TR1',
            host: 'tr1.api.riotgames.com'
        },
        ru: {
            platform: 'RU',
            host: 'ru.api.riotgames.com'
        },
        pbe: {
            platform: 'PBE1',
            host: 'pbe1.api.riotgames.com'
        }
    }

    Request retries

    If not, the timeout is 1000 ms and 3 retries by default.

    const { RiotAPI, Region } = require('../lib/index.js')
     
    const config = {
        requestOptions: {
            shouldRetry: true,
     
            // maximum amount of retries
            numberOfRetries: 3,
     
            // Required when API exponentially slow
            retryDelay: 1000
        }
    }
     
    const riotAPI = new RiotAPI("API key", Region.kr, config)

    Rate Manager

    Provides management of API usage and restrictions. It's not yet available, but it can be checked for monitoring.

     
    RiotAPI.Status
        .getStatus()
        .then((result) => {
            let rateManager = result.rateManager
     
            /*
                [ 'app_rate_limit | 10/s: 0.00% used',
                'app_rate_limit_count | 600/s: 0.00% used' ] 
             */
            rateManager.getUsages()
        })

    Methods

    A list of implementations as indicated in the official document. If anything is missing, please make an issue.

    /* CHAMPION-V3 */
    RiotAPI.Champion.getChampions()
    RiotAPI.Champion.getChampionsByID(id: number)
     
    /* CHAMPION-MASTERY-V3 */
    RiotAPI.ChampionMastery.getChampionMasteriesBySummoner(summonerID: number)
    RiotAPI.ChampionMastery.getChampionMasteriesBySummonerByChampion(summonerID: number, championID: number)
    RiotAPI.ChampionMastery.getChampionMasteryScoresBySummoner(summonerID: number)
     
    /* LEAGUE-V3 */
    RiotAPI.League.getChallengerLeagues(queue: string)
    RiotAPI.League.getLeagues(leagueID: string)
    RiotAPI.League.getMasterLeagues(queue: string)
    RiotAPI.League.getPositionsBySummoner(summonerID: number)
     
    /* MATCH-V3 */
    RiotAPI.Match.getMatchIDsByTournamentCode(tournamentCode: number)
    RiotAPI.Match.getMatchlistsByAccount(accountID: number)
    RiotAPI.Match.getMatchs(matchID: number)
    RiotAPI.Match.getMatchsByTournamentCode(matchID: number, tournamentCode: nymber)
    RiotAPI.Match.getTimelinesByMatch(matchID: number)
     
    /* SPECTATOR-V3 */
    RiotAPI.Spectator.getActiveGamesBySummoner(summonerID: number)
    RiotAPI.Spectator.getFeaturedGames()
     
    /* LOL-STATUS-V3 */
    RiotAPI.Status.getStatus()
     
    /* SUMMONER-V3 */
    RiotAPI.Summoner.getSummoners(summonerID: number)
    RiotAPI.Summoner.getSummonersByAccount(accountID: number)
    RiotAPI.Summoner.getSummonersByName(summonerName: string)
     
    /* THIRD-PARTY-CODE-V3 */
    RiotAPI.ThirdParty.getThirdPartyCodeBySummoner(summonerID: number)
     
    /* TOURNAMENT-STUB-V3 */
    RiotAPI.TournamentStub.createProviders(url: string, region: string)
    RiotAPI.TournamentStub.createTournamentCodes(tournamentCode: number, count: number?, body: object?)
    RiotAPI.TournamentStub.createTournaments(providerID: number, name: string)
    RiotAPI.TournamentStub.getLobbyEventsByCode(tournamentCode: string)
     
    /* TOURNAMENT-V3 */
    RiotAPI.Tournament.createProviders(url: string, region: string)
    RiotAPI.Tournament.createTournamentCodes(tournamentID: number, count: number?, body: object?)
    RiotAPI.Tournament.createTournaments(providerID: number, name: string)
    RiotAPI.Tournament.getLobbyEventsByCode(tournamentCode: string)
    RiotAPI.Tournament.getTournamentCodes(tournamentCode: string)
    RiotAPI.Tournament.updateTournamentCodes(tournamentCode: string, body: object?)

    Setup develop

    I hate to set it up and I prove it. I like making simple. So it's really simple. Just if you know how to write a typescript.

    Just install dependensy library

    • npm i -g

    And build for compile

    • npm run build

    has not yet been written a test related code. going to add more soon.

    • test!!

    Install

    npm i riotapi-grab

    DownloadsWeekly Downloads

    1

    Version

    1.0.2

    License

    MIT

    Unpacked Size

    71.9 kB

    Total Files

    65

    Last publish

    Collaborators

    • pinddfull