A Node.js Enka.Network API wrapper for Honkai: Star Rail.
npm install starrail.jsA Node.js Enka.Network/MiHoMo API wrapper for Honkai: Star Rail.
Node.js 16 or newer is required.
Install starrail.js including Star Rail cache data.
``sh-session`
npm install starrail.js@latest
Install using ghproxy.com
npm install starrail.js@latest --sr-ghproxy=true
If you have already moved the cache to another folder, you can also install without downloading the cache.
`sh-session`
npm install starrail.js@latest --sr-nocache=true
This data contains data of characters, light cones, materials, and more structure information of Star Rail.
You can change your cache directory.
`js
const { StarRail } = require("starrail.js");
// Change the directory to store cache data.
// Default directory is node_modules/starrail.js/cache.
const client = new StarRail();
client.cachedAssetsManager.cacheDirectoryPath = "./cache";
client.cachedAssetsManager.cacheDirectorySetup();
// OR
const client = new StarRail({ cacheDirectory: "./cache" });
client.cachedAssetsManager.cacheDirectorySetup();
`
You can update your Star Rail cache data.
`js
const { StarRail } = require("starrail.js");
const client = new StarRail({ showFetchCacheLog: true }); // showFetchCacheLog is true by default
client.cachedAssetsManager.fetchAllContents(); // returns promise
`
Also, you can activate auto cache updater.
When using the auto-cache updater, we recommend moving the cache directory directly under your project folder.
`js
const { StarRail } = require("starrail.js");
const client = new StarRail();
client.cachedAssetsManager.activateAutoCacheUpdater({
instant: true, // Run the first update check immediately
timeout: 60 60 1000, // 1 hour interval
onUpdateStart: async () => {
console.log("Updating Star Rail Data...");
},
onUpdateEnd: async () => {
client.cachedAssetsManager.refreshAllData(); // Refresh memory
console.log("Updating Completed!");
}
});
// // deactivate
// client.cachedAssetsManager.deactivateAutoCacheUpdater();
`
js
const { StarRail } = require("starrail.js");
const client = new StarRail();client.fetchUser(800069903).then(user => {
console.log(user);
});
`Star Rail Character List
StarRail#getAllCharacters
`js
const { StarRail } = require("starrail.js");
const client = new StarRail();const characters = client.getAllCharacters();
// print character names in language "en"
console.log(characters.map(c => c.name.get("en")));
`Star Rail Light Cone List
StarRail#getAllLightCones
`js
const { StarRail } = require("starrail.js");
const client = new StarRail();const lightCones = client.getAllLightCones();
// print light cone names in language "jp"
console.log(lightCones.map(w => w.name.get("jp")));
``More examples are available in example folder.
For more information, please check Documentation.
You can see the changelog here.