@kiznavierr/kirara
v2.0.2
Published
A TypeScript library for fetching character data from Enka API and generating card images using enka.cards. Supports Genshin Impact, Honkai: Star Rail, and Zenless Zone Zero.
Maintainers
Readme
Kirara
A TypeScript library for fetching character data from the Enka API and generating card images using enka.cards. Supports Genshin Impact, Honkai: Star Rail, and Zenless Zone Zero.
Features
- Fetch player profile data from Enka API
- Retrieve list of character IDs
- Generate image URLs for character cards
- Download card images as Buffers
- Support for customization options (language, substats, etc.)
- Simple and modular design
- Unified API for multiple games
Installation
npm install @kiznavierr/kiraraQuick Start
import { Kirara } from "@kiznavierr/kirara";
const kirara = new Kirara("genshin"); // or "hsr" or "zzz"
// Get player summary
kirara
.getPlayerSummary("856012067", { lang: "en" })
.then((data) => console.log(data));Examples
Genshin Impact
const kirara = new Kirara("genshin");
// Get player summary
kirara
.getPlayerSummary("856012067", { lang: "en" })
.then((data) => console.log(data));
// Output: { nickname: 'Kiznavierr', level: 60, worldLevel: 8, theaterActIndex: 10, theaterModeIndex: 84, theaterStarIndex: 5, towerFloorIndex: 12, towerStarIndex: 36, avatarIds: [...], cardUrl: '...' }
// Get avatar list
kirara.getAvatarList("856012067").then((ids) => console.log(ids));
// Generate card URL
const cardUrl = kirara.generateCardUrl("856012067", "10000002", { lang: "en" });Honkai: Star Rail
const kirara = new Kirara("hsr");
// Get player summary
kirara
.getPlayerSummary("800069903", { lang: "en" })
.then((data) => console.log(data));
// Output: { nickname: 'Player', level: 70, platform: 'PC', avatarIds: [...], cardUrl: '...' }
// Get avatar list
kirara.getAvatarList("800069903").then((ids) => console.log(ids));
// Generate card URL
const cardUrl = kirara.generateCardUrl("800069903", "1001", { lang: "en" });Zenless Zone Zero
const kirara = new Kirara("zzz");
// Get player summary
kirara
.getPlayerSummary("1500422486", { lang: "en" })
.then((data) => console.log(data));
// Output: { uid: '1500422486', region: 'EU', nickname: 'Lumi', level: 60, avatarIds: [...], cardUrl: '...' }
// Get agent list
kirara.getAvatarList("1500422486").then((ids) => console.log(ids));
// Generate card URL
const cardUrl = kirara.generateCardUrl("1500422486", "1171", { lang: "en" });API Reference
Constructor
new Kirara(game: "genshin" | "hsr" | "zzz")Methods
getPlayerSummary(uid, options?)- Get simplified player datagetPlayerData(uid)- Get full player data from Enka APIgetAvatarList(uid)- Get array of character/agent IDsgetDefaultAvatarId(uid)- Get first avatar IDgenerateCardUrl(uid, avatarId, options?)- Generate card image URLgenerateCardImage(uid, avatarId, options?)- Download card as BuffergenerateDefaultCardUrl(uid, options?)- Generate URL for first avatargenerateDefaultCardImage(uid, options?)- Download first avatar card
Card Options
{
lang?: string; // Language: "en", "jp", "id", etc. (default: "en")
substats?: boolean; // Show substats (default: false)
subsBreakdown?: boolean; // Show substat breakdown (default: false)
uid?: boolean; // Show UID on card (default: false)
hideNames?: boolean; // Hide character names (default: false)
}Example:
const url = kirara.generateCardUrl("856012067", "10000002", {
lang: "en",
substats: true,
uid: true,
});License
See LICENSE file.
