npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

genshin-manager

v1.3.9

Published

<div align="center"> <p> <a href="https://www.npmjs.com/package/genshin-manager"><img src="https://img.shields.io/npm/v/genshin-manager.svg?maxAge=3600" alt="npm version" /></a> <a href="https://www.npmjs.com/package/genshin-manager"><img src="https:

Downloads

1,405

Readme

GenshinManager

Overview

A Node.js Enka.network and Genshin Data wrapper for Genshin Impact

This is NOT the source code of Enka.Network or its API.

Description

  • User Data and Character Stats using EnkaNetwork.
  • All Characters and All Weapons Data. (Including More Advanced Info, such as Skill Attributes and Weapon Refinements.)
  • Cache Updater for the new update of Genshin Impact.
  • Easily instantiated using id

Installation

Node.js 18 or newer is required.

Install genshin-manager including genshin cache data.(download EN TextMap by default.)

npm install genshin-manager

You can specify which TextMap to download during installation.('ALL' can also be specified).

npm install genshin-manager --download-language="JP"

If you have already moved the cache to another folder, you can also install without downloading the cache.

npm install genshin-manager --nocache=true

About Genshin Cache Data

Genshin cache data is from Dimbreath/AnimeGameData.

This data contains data of characters, weapons, materials, and more structure information of Genshin Impact.

You can change your cache directory.

const { Client } = require('genshin-manager')

// Change the directory to store cache data.
// Default directory is node_modules/genshin-manager/cache.
const client = new Client({ assetCacheFolderPath: './cache' })
await client.deploy()

Updating

You can update your genshin cache data.

const { Client } = require('genshin-manager')

// showFetchCacheLog is true by default
const client = new Client({ showFetchCacheLog: true })
await client.deploy()

Also, you can activate auto cache updater.

const { Client } = require('genshin-manager')

// autoFetchLatestAssetsByCron is "0 0 0 * * 3" by default
// By default, it runs every Wednesday at 00:00:00
// downloadLanguages is All TextMap by default
const client = new Client({
  downloadLanguages: ['EN', 'JP'],
  autoFetchLatestAssetsByCron: '0 0 0 * * 3',
})
await client.deploy()

// deactivate
const client = new Client({ autoFetchLatestAssetsByCron: undefined })
await client.deploy()

Also Feature

Images can be cached.

const { Client } = require('genshin-manager')

// autoCacheImage is true by default
const client = new Client({ autoCacheImage: true })
await client.deploy()

Automatically fixes defects in TextMap & ExcelBinOutput when they occur.

const { Client } = require('genshin-manager')

// autoFixTextMap and autoFixExcelBin is true by default
// but, if autoFetchLatestAssetsByCron is undefined, it is forced to false.
const client = new Client({ autoFixTextMap: true, autoFixExcelBin: true })
await client.deploy()

How to use

Fetching Enka Data

EnkaManager#fetch

const { Client, EnkaManager } = require('genshin-manager')

// Loading cache
const client = new Client()
await client.deploy()

const enkaManager = new EnkaManager()

const enkaData = await enkaManager.fetchAll(800802278)
console.log(enkaData.uid)
console.log(enkaData.playerDetail)
console.log(enkaData.characterDetails)
console.log(enkaData.nextShowCaseDate)

Genshin Character from characterId

Character

const { Client, CharacterInfo } = require('genshin-manager')

// Loading cache
const client = new Client({ defaultLanguage: 'JP' })
await client.deploy()

const character = new CharacterInfo(10000002)
// print character name in language "jp"
console.log(character.name) // output: 神里綾華

Genshin Weapon from characterId

Weapon

const { Client, Weapon } = require('genshin-manager')

// Loading cache
const client = new Client({ defaultLanguage: 'JP' })
await client.deploy()

const weapon = new Weapon(13501)
// print weapon name in language "jp"
console.log(weapon.name) // output: 護摩の杖

You can see the examples, please check Examples

For more information, please check Documentation.

You can see the changelog here.