• Stars
    star
    116
  • Rank 294,377 (Top 6 %)
  • Language
    TypeScript
  • Created over 4 years ago
  • Updated about 1 month ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Fetching riot games api data

Twisted

League of legends api wrapper
https://www.npmjs.com/package/twisted

Simple example

LOL:

import { LolApi, Constants } from 'twisted'

const api = new LolApi()

export async function summonerByNameExample () {
  return await api.Summoner.getByName('Hide on bush', Constants.Regions.KOREA)
}

TFT:

import { TftApi, Constants } from 'twisted'

const api = new TftApi()

export async function matchListTft () {
  const {
    response: {
      puuid
    }
  } = await api.Summoner.getByName('Maxii', Constants.Regions.LAT_NORTH)
  return api.Match.list(puuid, Constants.RegionGroups.AMERICAS)
}

More examples

Automatic rate limits reattempts

import { LolApi } from 'twisted'

const api = new LolApi({
   /**
   * If api response is 429 (rate limits) try reattempt after needed time (default true)
   */
  rateLimitRetry: true
  /**
   * Number of time to retry after rate limit response (default 1)
   */
  rateLimitRetryAttempts: 1
  /**
   * Concurrency calls to riot (default infinity)
   * Concurrency per method (example: summoner api, match api, etc)
   */
  concurrency: undefined,
  /**
   * Riot games api key
   */
  key: '',
  /**
   * Debug methods
   */
  debug: {
    /**
     * Log methods execution time (default false)
     */
    logTime: false
    /**
     * Log urls (default false)
     */
    logUrls: false
    /**
     * Log when is waiting for rate limits (default false)
     */
    logRatelimit?: false
  }
})

Endpoints

Everything should be in the same order as in the official docs.

CLASH

  • Get players by summoner id
  • Get team
  • Get tournaments
  • Get tournaments by team id
  • Get tournament by id

CHAMPION-MASTERY-V4

  • Get all champion mastery entries sorted by number of champion points descending.
  • Get a champion mastery by player ID and champion ID.
  • Get a player's total champion mastery score, which is the sum of individual champion mastery levels.

CHAMPION-V3

  • Retrieve all champions.
  • Retrieve champion by ID.

MATCH-V5

  • Get match by id
  • Get matches by summoner id
  • Get match timeline by id

MATCH-V4 (deprecated)

  • Get matches id by tournament code
  • Get match by id
  • Get match by tournament code
  • Get matches by summoner id
  • Get match timeline by id

LEAGUE-V4

  • Get the challenger league for given queue.
  • Get league entries in all queues for a given summoner ID.
  • Get all the league entries.
  • Get the grandmaster league of a specific queue.
  • Get league with given ID, including inactive entries.
  • Get the master league for given queue.
  • Get the queues that have positional ranks enabled. (deprecated June 17th and in v0.9.10)
  • Get league positions in all queues for a given summoner ID. (deprecated June 17th and in v0.9.10)
  • Get all the positional league entries. (deprecated June 17th and in v0.9.10)

LOL-STATUS-V3

  • Get League of Legends status for the given shard.
  • Get matchlist for games played on given account ID and platform ID and filtered using given filter parameters, if any.
  • Get match timeline by match ID.
  • Get match IDs by tournament code.
  • Get match by match ID and tournament code.

LOL-STATUS-V4

  • Get League of Legends status for the given platform.

SPECTATOR-V4

  • Get current game information for the given summoner ID.
  • Get list of featured games.

SUMMONER-V4

  • Get a summoner by account ID.
  • Get a summoner by summoner name.
  • Get a summoner by PUUID.
  • Get a summoner by summoner ID.

TOURNAMENT-STUB-V4

  • Create a mock tournament code for the given tournament.
  • Gets a mock list of lobby events by tournament code.
  • Creates a mock tournament provider and returns its ID.
  • Creates a mock tournament and returns its ID.

TOURNAMENT-V4

  • Create a tournament code for the given tournament.
  • Returns the tournament code DTO associated with a tournament code string.
  • Update the pick type, map, spectator type, or allowed summoners for a code.
  • Gets a list of lobby events by tournament code.
  • Creates a tournament provider and returns its ID.
  • Creates a tournament and returns its ID.

TFT Endpoints

TFT-SUMMONER-V1

  • Get a summoner by account ID.
  • Get a summoner by summoner name.
  • Get a summoner by PUUID.
  • Get a summoner by summoner ID.

TFT-MATCH-V1

  • Get match list by summoner PUUID.
  • Get match list details.

TFT-LEAGUE-V1

  • Get the challenger league for given queue.
  • Get the grandmaster league for given queue.
  • Get the master league for given queue.
  • Get league entries in all queues for a given summoner ID.
  • Get all the league entries.
  • Get league with given ID, including inactive entries.

Run all examples

Download code from git and:

Simple

$ RIOT_API_KEY={YOUR_KEY} yarn example

Specific examples

$ RIOT_API_KEY={YOUR_KEY} yarn example {exampleFunctionName}

With docker

Edit docker-compose.yml with your api key and: $ docker-compose up

Real project

We did a project based on a "twisted" package, this project is not finished but it is a very good example
Github: https://github.com/twisted-gg

Options

The following environment variables can be set either in the .env file or as shown in the examples:

RIOT_API_KEY

Obtained from the Riot Games developer page(https://developer.riotgames.com/) Necessary to use this library.

UPDATE_CHAMPION_IDS

This library has an option to fetch an actual version of champion IDs regularly. This is useful in case a new champion gets added, while the application runs. E.g. data crawlers, or services which aren't supposed to be restarted regularly.

Set the value to true or 1 to enable this feature.