O wrapper da API Old School RuneScape que faz mais!
A API oficial de recordes do Old School RuneScape (OSRS) pode retornar CSV ou um array JSON simples. Este wrapper converte os dados de recordes em um objeto JSON mais utilizável e fornece informações extras sobre o jogador em questão. Ao comparar as informações do jogador, ele infere o modo de jogo do jogador, bem como quaisquer modos anteriores (de-ultimated, de-ironed e/ou morreu como um ironman hardcore).
São fornecidas funções adicionais que raspam a tela das tabelas de classificação do OSRS e retornam uma lista de jogadores como json. Também são fornecidas funções utilitárias simples para buscar as respostas brutas das APIs da Jagex, se desejado.
osrs-json-hiscores
tem suporte TypeScript, com definições completas para todas as funções e tipos de dados personalizados.
A Jagex não fornece cabeçalhos Access-Control-Allow-Origin
em suas respostas. Isso significa que o CORS bloqueará todas as solicitações do navegador para sua API de recordes. Para contornar isso, o osrs-json-hiscores precisa ser instalado no lado do servidor e exposto ao front-end por meio de uma API simples. Aqui está um exemplo disso em uso: codeandbox.io/s/osrs-json-hiscores-demo
TLDR: Você não pode usar esta biblioteca diretamente em seu aplicativo do lado do cliente, por exemplo, React ou Vue, você deve configurar um servidor que use esta biblioteca internamente e fazer com que seu cliente busque dados de seu servidor.
Com npm:
$ npm install osrs-json-hiscores
Com Fio:
$ yarn add osrs-json-hiscores
Instale o pacote e importe-o para o seu projeto:
import { getStatsByGamemode , getSkillPage } from 'osrs-json-hiscores' ;
Depois de importá-lo, você poderá chamar as funções de forma assíncrona:
const stats = await getStatsByGamemode ( 'Lynx Titan' ) ;
const topPage = await getSkillPage ( 'overall' ) ;
getStats
retornará um objeto de jogador completo com gamemode.
getStatsByGameMode
retornará um objeto stats e aceitará um parâmetro gamemode:
Modo de jogo | Parâmetro |
---|---|
Regular | main |
Homem de Ferro | ironman |
Homem de Ferro Incondicional | hardcore |
Homem de Ferro Supremo | ultimate |
Modo Homem Morto | deadman |
Torneio | tournament |
Ligas | seasonal |
getSkillPage
e getActivityPage
requerem uma habilidade/atividade e, opcionalmente, um modo de jogo e uma página:
getSkillPage ( 'attack' , 'main' , 1 )
. then ( ( res ) => console . log ( res ) )
. catch ( ( err ) => console . error ( err ) ) ;
As atividades consistem em todos os níveis de pergaminhos de dicas, bem como minijogos e chefes:
Tipo | Parâmetro |
---|---|
Todos | allClues |
Novato | beginnerClues |
Fácil | easyClues |
Médio | mediumClues |
Duro | hardClues |
Elite | eliteClues |
Mestre | masterClues |
Minijogo | Parâmetro |
---|---|
Caçador de Recompensas (Legado - Rogue) | rogueBH |
Caçador de Recompensas (Legado - Caçador) | hunterBH |
Caçador de Recompensas (Rogue) | rogueBHV2 |
Caçador de Recompensas (Caçador) | hunterBHV2 |
LMS - Classificação | lastManStanding |
Arena PvP - Classificação | pvpArena |
Zelo da Guerra das Almas | soulWarsZeal |
Fendas fechadas | riftsClosed |
Glória do Coliseu | colosseumGlory |
Atividade | Parâmetro |
---|---|
Pontos da Liga | leaguePoints |
Pontos de homem morto | deadmanPoints |
Nome do chefe | Parâmetro |
---|---|
Senhor Abissal | abyssalSire |
Hidra Alquímica | alchemicalHydra |
Amoxliatl | amoxliatl |
Araxxor | araxxor |
Artio | artio |
Baús de túmulos | barrows |
Briófita | bryophyta |
Calisto | callisto |
Calvário | calvarion |
Cérbero | cerberus |
Câmaras de Xeric | chambersOfXeric |
Câmaras de Xeric: Modo Desafio | chambersOfXericChallengeMode |
Elemental do Caos | chaosElemental |
Fanático do Caos | chaosFanatic |
Comandante Zilyana | commanderZilyana |
Besta Corpórea | corporealBeast |
Arqueólogo Maluco | crazyArchaeologist |
Dagannoth Prime | dagannothPrime |
Dagannoth Rex | dagannothRex |
Dagannoth Supremo | dagannothSupreme |
Arqueólogo Enlouquecido | derangedArchaeologist |
Duque Sucellus | dukeSucellus |
General Graardor | generalGraardor |
Toupeira gigante | giantMole |
Guardiões Grotescos | grotesqueGuardians |
Héspori | hespori |
Rainha Kalphita | kalphiteQueen |
Rei Dragão Negro | kingBlackDragon |
Kraken | kraken |
Kreearra | kreeArra |
K’ril Tsutsaroth | krilTsutsaroth |
Baús Lunares | lunarChests |
Imitar | mimic |
Próximo | nex |
Pesadelo | nightmare |
O Pesadelo de Phosani | phosanisNightmare |
Obor | obor |
Fantasma Muspah | phantomMuspah |
Sarachnis | sarachnis |
Escorpião | scorpia |
Scurrius | scurrius |
Escotizo | skotizo |
Sol Hereditário | solHeredit |
Spindel | spindel |
Tempoross | tempoross |
A Manopla | gauntlet |
A Manopla Corrompida | corruptedGauntlet |
O Hueycoatl | hueycoatl |
O Leviatã | leviathan |
O Sussurrador | whisperer |
Teatro de Sangue | theatreOfBlood |
Teatro de Sangue: Modo Difícil | theatreOfBloodHardMode |
Diabo de Fumaça Termonuclear | thermonuclearSmokeDevil |
Tumbas de Amascut | tombsOfAmascut |
Tumbas de Amascut: Modo Especialista | tombsOfAmascutExpertMode |
TzKal-Zuk | tzKalZuk |
TzTok-Jad | tzTokJad |
Vardorvis | vardorvis |
Venenatis | venenatis |
Veção | vetion |
Vorkath | vorkath |
Wintertodt | wintertodt |
Zalcano | zalcano |
Zulrah | zulrah |
getStats
retorna um objeto player parecido com este:
{
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
retorna e array de 25 jogadores (Isso representa uma página nos recordes):
[
{ rank : 1 , name : 'Lynx Titan' , level : 2277 , xp : 4600000000 , dead : false } ,
{ } ,
{ }
// ...
] ;
Obtenha o nome formatado corretamente de qualquer habilidade, chefe, pista ou outra atividade:
// kril === "K'ril Tsutsaroth"
const kril = FORMATTED_BOSS_NAMES [ 'krilTsutsaroth' ] ;