より多くの機能を備えたオールドスクール RuneScape API ラッパー!
Old School RuneScape (OSRS) の公式ヒスコア API は、CSV または単純な JSON 配列を返すことができます。このラッパーは、ヒスコア データをより使いやすい JSON オブジェクトに変換し、特定のプレーヤーに関する追加情報を提供します。プレイヤー情報を比較することで、プレイヤーのゲーム モードだけでなく、以前のモード (究極を解除された、アイロンが解除された、および/またはハードコアのアイアンマンとして死亡した) を推測します。
OSRS リーダーボードを画面スクレイピングし、プレーヤーのリストを JSON として返す追加関数が提供されます。また、必要に応じて、Jagex の API から生の応答を取得するための単純なユーティリティ関数も提供されています。
osrs-json-hiscores
TypeScript をサポートしており、すべての関数とカスタム データ型の完全な定義が含まれています。
Jagex は応答にAccess-Control-Allow-Origin
ヘッダーを提供しません。これは、CORS が hiscores API に対するブラウザーのリクエストをすべてブロックすることを意味します。これを回避するには、osrs-json-hiscores をサーバー側にインストールし、単純な API を介してフロントエンドに公開する必要があります。これの使用例は次のとおりです: codesandbox.io/s/osrs-json-hiscores-demo
TLDR: このライブラリをクライアント側アプリ (React や Vue など) で直接使用することはできません。このライブラリを内部で使用するサーバーをセットアップし、クライアントがサーバーからデータを取得するようにする必要があります。
npm の場合:
$ npm install osrs-json-hiscores
糸の場合:
$ yarn add osrs-json-hiscores
パッケージをインストールして、プロジェクトにインポートします。
import { getStatsByGamemode , getSkillPage } from 'osrs-json-hiscores' ;
インポートすると、関数を非同期的に呼び出すことができます。
const stats = await getStatsByGamemode ( 'Lynx Titan' ) ;
const topPage = await getSkillPage ( 'overall' ) ;
getStats
ゲームモードを含む完全なプレーヤー オブジェクトを返します。
getStatsByGameMode
統計オブジェクトを返し、ゲームモード パラメーターを受け取ります。
ゲームモード | パラム |
---|---|
通常 | main |
アイアンマン | ironman |
ハードコアアイアンマン | hardcore |
究極のアイアンマン | ultimate |
デッドマンモード | deadman |
トーナメント | tournament |
リーグ | seasonal |
getSkillPage
とgetActivityPage
はスキル/アクティビティが必要で、オプションでゲームモードとページも必要です。
getSkillPage ( 'attack' , 'main' , 1 )
. then ( ( res ) => console . log ( res ) )
. catch ( ( err ) => console . error ( err ) ) ;
アクティビティは、あらゆるレベルの手がかりスクロール、ミニゲーム、ボスで構成されています。
タイプ | パラム |
---|---|
全て | allClues |
初心者 | beginnerClues |
簡単 | easyClues |
中くらい | mediumClues |
難しい | hardClues |
エリート | eliteClues |
マスター | masterClues |
ミニゲーム | パラム |
---|---|
バウンティハンター (レガシー - ローグ) | rogueBH |
バウンティハンター (レガシー - ハンター) | hunterBH |
バウンティハンター(ローグ) | rogueBHV2 |
バウンティハンター(ハンター) | hunterBHV2 |
LMS - ランク | lastManStanding |
PvP アリーナ - ランク | pvpArena |
ソウルウォーズジール | soulWarsZeal |
亀裂が閉じた | riftsClosed |
コロシアムグローリー | colosseumGlory |
活動 | パラム |
---|---|
リーグポイント | leaguePoints |
デッドマンポイント | deadmanPoints |
ボス名 | パラム |
---|---|
アビサルサイアー | abyssalSire |
アルケミカル・ヒドラ | alchemicalHydra |
アモクスリアトル | amoxliatl |
アラクソール | araxxor |
アルティオ | artio |
バローズチェスト | barrows |
コケ植物 | bryophyta |
カリスト | callisto |
カルヴァリオン | calvarion |
ケルベロス | cerberus |
ゼリックの部屋 | chambersOfXeric |
ゼリックの部屋: チャレンジ モード | chambersOfXericChallengeMode |
カオスエレメンタル | chaosElemental |
カオスファナティック | chaosFanatic |
ジリヤナ司令官 | commanderZilyana |
肉体獣 | corporealBeast |
クレイジーな考古学者 | crazyArchaeologist |
ダガノス・プライム | dagannothPrime |
ダガノス・レックス | dagannothRex |
ダガノス・スプリーム | dagannothSupreme |
錯乱した考古学者 | derangedArchaeologist |
デューク・スセルス | dukeSucellus |
グラドール将軍 | generalGraardor |
巨大モグラ | giantMole |
グロテスクなガーディアン | grotesqueGuardians |
ヘスポリ | hespori |
カルファイトクイーン | kalphiteQueen |
キングブラックドラゴン | kingBlackDragon |
クラーケン | kraken |
クリエラ | kreeArra |
クリル・ツツァロス | krilTsutsaroth |
月の宝箱 | lunarChests |
ミミック | mimic |
ネックス | nex |
悪夢 | nightmare |
フォサニの悪夢 | phosanisNightmare |
オボール | obor |
ファントムムスパ | phantomMuspah |
サラクニス | sarachnis |
スコーピア | scorpia |
スキュリウス | scurrius |
スコティソ | skotizo |
ソル・ヘレディト | solHeredit |
スピンデル | spindel |
テンポロス | tempoross |
ガントレット | gauntlet |
壊れたガントレット | corruptedGauntlet |
ヒューイコアトル | hueycoatl |
リヴァイアサン | leviathan |
ささやく人 | whisperer |
血の劇場 | theatreOfBlood |
シアター オブ ブラッド: ハード モード | theatreOfBloodHardMode |
熱核の煙の悪魔 | thermonuclearSmokeDevil |
アマスカットの墓 | tombsOfAmascut |
アマスカットの墓: エキスパート モード | tombsOfAmascutExpertMode |
ツカルズク | tzKalZuk |
ツトク・ジャド | tzTokJad |
ヴァルドルヴィス | vardorvis |
ベネナティス | venenatis |
ヴェーション | vetion |
ヴォルカス | vorkath |
ウィンタートット | wintertodt |
ザルカノ | zalcano |
ズラー | zulrah |
getStats
次のようなプレーヤー オブジェクトを返します。
{
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
25 人のプレーヤーの配列を返します (これはヒスコアのページを表します):
[
{ rank : 1 , name : 'Lynx Titan' , level : 2277 , xp : 4600000000 , dead : false } ,
{ } ,
{ }
// ...
] ;
スキル、ボス、手がかり、またはその他のアクティビティの適切な形式の名前を取得します。
// kril === "K'ril Tsutsaroth"
const kril = FORMATTED_BOSS_NAMES [ 'krilTsutsaroth' ] ;