Le wrapper de l'API Old School RuneScape qui en fait plus !
L'API officielle hiscores pour Old School RuneScape (OSRS) peut renvoyer un CSV ou un simple tableau JSON. Ce wrapper convertit les données hiscores en un objet JSON plus utilisable et fournit des informations supplémentaires sur le joueur donné. En comparant les informations du joueur, il déduit le mode de jeu du joueur, ainsi que tous les modes précédents (dé-ultimé, dé-repassé et/ou mort en tant qu'ironman hardcore).
Des fonctions supplémentaires sont fournies pour effacer l'écran des classements OSRS et renvoyer une liste de joueurs au format JSON. Des fonctions utilitaires simples sont également fournies pour récupérer les réponses brutes des API de Jagex, si vous le souhaitez.
osrs-json-hiscores
prend en charge TypeScript, avec des définitions complètes pour toutes les fonctions et types de données personnalisés.
Jagex ne fournit pas d'en-têtes Access-Control-Allow-Origin
dans ses réponses. Cela signifie que CORS bloquera toutes les requêtes du navigateur adressées à leur API hiscores. Afin de contourner ce problème, osrs-json-hiscores doit être installé côté serveur et exposé au front-end via une simple API. Voici un exemple d'utilisation : codesandbox.io/s/osrs-json-hiscores-demo
TLDR : vous ne pouvez pas utiliser cette bibliothèque directement dans votre application côté client, par exemple React ou Vue, vous devez configurer un serveur qui utilise cette bibliothèque en interne et demander à votre client de récupérer les données de votre serveur.
Avec npm :
$ npm install osrs-json-hiscores
Avec du fil :
$ yarn add osrs-json-hiscores
Installez le package puis importez-le dans votre projet :
import { getStatsByGamemode , getSkillPage } from 'osrs-json-hiscores' ;
Une fois que vous l'avez importé, vous pouvez appeler les fonctions de manière asynchrone :
const stats = await getStatsByGamemode ( 'Lynx Titan' ) ;
const topPage = await getSkillPage ( 'overall' ) ;
getStats
renverra un objet joueur complet avec le mode de jeu.
getStatsByGameMode
renverra un objet stats et acceptera un paramètre gamemode :
Mode de jeu | Paramètre |
---|---|
Régulier | main |
Homme de fer | ironman |
Ironman hardcore | hardcore |
Ironman ultime | ultimate |
Mode homme mort | deadman |
Tournoi | tournament |
Ligues | seasonal |
getSkillPage
et getActivityPage
nécessitent une compétence/activité et éventuellement un mode de jeu et une page :
getSkillPage ( 'attack' , 'main' , 1 )
. then ( ( res ) => console . log ( res ) )
. catch ( ( err ) => console . error ( err ) ) ;
Les activités comprennent tous les niveaux de parchemins d'indices ainsi que des mini-jeux et des boss :
Taper | Paramètre |
---|---|
Tous | allClues |
Débutant | beginnerClues |
Facile | easyClues |
Moyen | mediumClues |
Dur | hardClues |
Élite | eliteClues |
Maître | masterClues |
Mini-jeu | Paramètre |
---|---|
Chasseur de primes (Héritage - Voleur) | rogueBH |
Chasseur de primes (Héritage - Chasseur) | hunterBH |
Chasseur de primes (voleur) | rogueBHV2 |
Chasseur de primes (Chasseur) | hunterBHV2 |
LMS - Classement | lastManStanding |
Arène PvP – Rang | pvpArena |
Zèle de la guerre des âmes | soulWarsZeal |
Failles fermées | riftsClosed |
Gloire du Colisée | colosseumGlory |
Activité | Paramètre |
---|---|
Points de ligue | leaguePoints |
Points d'homme mort | deadmanPoints |
Nom du patron | Paramètre |
---|---|
Père abyssal | abyssalSire |
Hydre alchimique | alchemicalHydra |
Amoxliatl | amoxliatl |
Araxxor | araxxor |
Artio | artio |
Coffres des Tumulus | barrows |
Bryophytes | bryophyta |
Callisto | callisto |
Calvar'ion | calvarion |
Cerbère | cerberus |
Chambres de Xéric | chambersOfXeric |
Chambers Of Xeric : mode défi | chambersOfXericChallengeMode |
Élémentaire du chaos | chaosElemental |
Fanatique du Chaos | chaosFanatic |
Commandant Zilyana | commanderZilyana |
Bête corporelle | corporealBeast |
Archéologue fou | crazyArchaeologist |
Dagannoth Premier | dagannothPrime |
Dagannoth Rex | dagannothRex |
Dagannoth Suprême | dagannothSupreme |
Archéologue dérangé | derangedArchaeologist |
Duc Sucellus | dukeSucellus |
Général Graardor | generalGraardor |
Taupe géante | giantMole |
Gardiens grotesques | grotesqueGuardians |
Héspori | hespori |
Reine Kalphite | kalphiteQueen |
Roi Dragon Noir | kingBlackDragon |
Kraken | kraken |
Krearra | kreeArra |
K'ril Tsutsaroth | krilTsutsaroth |
Coffres lunaires | lunarChests |
Imiter | mimic |
Suivant | nex |
Cauchemar | nightmare |
Le cauchemar de Phosani | phosanisNightmare |
Obor | obor |
Muspah fantôme | phantomMuspah |
Sarachnis | sarachnis |
Scorpie | scorpia |
Scurrius | scurrius |
Skotizo | skotizo |
Sol Hérédit | solHeredit |
Broche | spindel |
Tempoross | tempoross |
Le gantelet | gauntlet |
Le gantelet corrompu | corruptedGauntlet |
Le Hueycoatl | hueycoatl |
Le Léviathan | leviathan |
Le Chuchoteur | whisperer |
Théâtre du sang | theatreOfBlood |
Théâtre de sang : mode difficile | theatreOfBloodHardMode |
Diable de fumée thermonucléaire | thermonuclearSmokeDevil |
Tombes d'Amascut | tombsOfAmascut |
Tombes d'Amascut : Mode Expert | tombsOfAmascutExpertMode |
TzKal-Zuk | tzKalZuk |
TzTok-Jad | tzTokJad |
Vardorvis | vardorvis |
Vénénatis | venenatis |
Vétion | vetion |
Vorkath | vorkath |
Wintertodt | wintertodt |
Zalcano | zalcano |
Zoulrah | zulrah |
getStats
renvoie un objet joueur qui ressemble à ceci :
{
name : 'Lynx Titan' ,
mode : 'main' ,
dead : false ,
deulted : false ,
deironed : false ,
main : {
skills : {
overall : { rank : 1 , level : 2277 , xp : 4600000000 } ,
attack : { } ,
defence : { } ,
// ...
} ,
clues : { } ,
leaguePoints : { } ,
bountyHunter : { } ,
lastManStanding : { } ,
pvpArena : { } ,
soulWarsZeal : { } ,
riftsClosed : { } ,
bosses : { }
}
}
getSkillPage
renvoie un tableau de 25 joueurs (Cela représente une page sur les hiscores) :
[
{ rank : 1 , name : 'Lynx Titan' , level : 2277 , xp : 4600000000 , dead : false } ,
{ } ,
{ }
// ...
] ;
Obtenez le nom correctement formaté de toute compétence, boss, indice ou autre activité :
// kril === "K'ril Tsutsaroth"
const kril = FORMATTED_BOSS_NAMES [ 'krilTsutsaroth' ] ;