README
Twisted
League of legends api wrapper
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)
}
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 inv0.9.10
)Get league positions in all queues for a given summoner ID.
(deprecated June 17th and inv0.9.10
)Get all the positional league entries.
(deprecated June 17th and inv0.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.
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.