4.6.6 • Published 3 months ago

enka-network-api v4.6.6

Weekly downloads
-
License
MIT
Repository
github
Last release
3 months ago

EnkaNetworkAPI

Enka.Network

About

A Node.js Enka.Network API wrapper for Genshin Impact.

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

!TIP If you need a wrapper for Honkai: Star Rail, you can use starrail.js.

Features

  • 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. (Update characters and weapons immediately.)
  • Honkai: Star Rail support with starrail.js integration. (See the example here.)

Installation

Node.js 16 or newer is required.

Install enka-network-api including genshin cache data.

npm install enka-network-api@latest

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

npm install enka-network-api@latest --enka-nocache=true

About Genshin Cache Data

Genshin cache data is from Dimbreath/AnimeGameData (gitlab).

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

You can change your cache directory.

const { EnkaClient } = require("enka-network-api");

// Change the directory to store cache data.
// Default directory is node_modules/enka-network-api/cache.
const enka = new EnkaClient();
enka.cachedAssetsManager.cacheDirectoryPath = "./cache";
enka.cachedAssetsManager.cacheDirectorySetup();

// OR

const enka = new EnkaClient({ cacheDirectory: "./cache" });
enka.cachedAssetsManager.cacheDirectorySetup();

Updating

You can update your genshin cache data.

const { EnkaClient } = require("enka-network-api");
const enka = new EnkaClient({ showFetchCacheLog: true }); // showFetchCacheLog is true by default

enka.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.

const { EnkaClient } = require("enka-network-api");
const enka = new EnkaClient();

enka.cachedAssetsManager.activateAutoCacheUpdater({
    instant: true, // Run the first update check immediately
    timeout: 60 * 60 * 1000, // 1 hour interval
    onUpdateStart: async () => {
        console.log("Updating Genshin Data...");
    },
    onUpdateEnd: async () => {
        enka.cachedAssetsManager.refreshAllData(); // Refresh memory
        console.log("Updating Completed!");
    }
});

// // deactivate
// enka.cachedAssetsManager.deactivateAutoCacheUpdater();

How to use

Fetching Player Data

EnkaClient#fetchUser

const { EnkaClient } = require("enka-network-api");
const enka = new EnkaClient();

enka.fetchUser(825436941).then(user => {
  console.log(user);
});

Genshin Character List

EnkaClient#getAllCharacters

const { EnkaClient } = require("enka-network-api");
const enka = new EnkaClient();

const characters = enka.getAllCharacters();
// print character names in language "en"
console.log(characters.map(c => c.name.get("en")));

Genshin Weapon List

EnkaClient#getAllWeapons

const { EnkaClient } = require("enka-network-api");
const enka = new EnkaClient();

const weapons = enka.getAllWeapons();
// print weapon names in language "jp"
console.log(weapons.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.

4.6.6

3 months ago

4.6.5

4 months ago

4.6.4

6 months ago

4.6.3

7 months ago

4.6.2

8 months ago

4.6.1

8 months ago

4.6.0

9 months ago

4.5.0

10 months ago

4.5.1

9 months ago

4.4.0

11 months ago

4.3.2

1 year ago

4.3.1

1 year ago

4.3.0

1 year ago

4.2.0

1 year ago

4.1.6

1 year ago

4.1.5

1 year ago

4.1.4

2 years ago

4.1.3

2 years ago

4.1.2

2 years ago

3.7.5

2 years ago

4.0.0

2 years ago

4.1.0

2 years ago

4.1.1

2 years ago

3.7.4

2 years ago

3.7.3

2 years ago

3.7.2

2 years ago

3.6.1

2 years ago

3.6.0

2 years ago

3.5.0

2 years ago

3.4.0

2 years ago

3.3.0

2 years ago

3.7.1

2 years ago

3.7.0

2 years ago

3.2.2

2 years ago

3.2.1

2 years ago

3.2.5

2 years ago

3.2.4

2 years ago

3.2.3

2 years ago

2.6.1

2 years ago

2.6.0

2 years ago

3.0.4

2 years ago

3.0.3

2 years ago

3.2.0

2 years ago

3.0.2

2 years ago

3.0.1

2 years ago

3.0.5

2 years ago

3.0.0

2 years ago

3.1.0

2 years ago

2.2.1

2 years ago

2.0.3

2 years ago

2.2.0

2 years ago

2.0.2

2 years ago

2.4.1

2 years ago

2.0.5

2 years ago

2.4.0

2 years ago

2.2.2

2 years ago

2.0.4

2 years ago

2.4.3

2 years ago

2.4.2

2 years ago

2.0.6

2 years ago

2.0.1

2 years ago

2.0.0

2 years ago

1.11.2

2 years ago

1.11.1

2 years ago

2.3.0

2 years ago

2.1.2

2 years ago

2.1.1

2 years ago

2.5.0

2 years ago

2.3.2

2 years ago

2.3.1

2 years ago

2.3.4

2 years ago

2.3.3

2 years ago

2.3.5

2 years ago

2.1.0

2 years ago

1.9.8

2 years ago

1.9.7

2 years ago

1.9.6

2 years ago

1.9.5

2 years ago

1.9.4

2 years ago

1.9.3

2 years ago

1.9.2

2 years ago

1.11.0

2 years ago

1.9.1

2 years ago

1.10.1

2 years ago

1.10.0

2 years ago

1.2.0

3 years ago

1.7.3

2 years ago

1.6.4

3 years ago

1.3.7

3 years ago

1.9.0

2 years ago

1.8.1

2 years ago

1.7.2

2 years ago

1.6.3

3 years ago

1.3.6

3 years ago

1.8.0

2 years ago

1.7.1

3 years ago

1.6.2

3 years ago

1.3.5

3 years ago

1.7.0

3 years ago

1.6.1

3 years ago

1.5.2

3 years ago

1.3.4

3 years ago

1.6.0

3 years ago

1.5.1

3 years ago

1.3.3

3 years ago

1.5.0

3 years ago

1.4.1

3 years ago

1.3.2

3 years ago

1.4.0

3 years ago

1.3.1

3 years ago

1.3.0

3 years ago

1.3.10

3 years ago

1.6.9

3 years ago

1.6.11

3 years ago

1.6.8

3 years ago

1.6.10

3 years ago

1.6.7

3 years ago

1.6.13

3 years ago

1.6.6

3 years ago

1.6.12

3 years ago

1.6.5

3 years ago

1.3.8

3 years ago

1.6.15

3 years ago

1.6.14

3 years ago

1.1.0

3 years ago

1.0.1

3 years ago

1.0.0

3 years ago