@genshin-kit/core
TypeScript icon, indicating that this package has built-in type declarations

2.6.2 • Public • Published

GenshinKit Core 原神开发工具核心包

简体中文 | English

Total alerts Language grade: JavaScript

一个用于获取《原神》任意服务器玩家数据的 API 封装库。

完全使用 TypeScript 编写,API 返回值的全部 typings 均已由作者手动扣出来,现代 IDE 自动显示代码提示,轻松调用无压力!

安装

# Via yarn
yarn add @genshin-kit/core
# Or via npm
npm install @genshin-kit/core

使用

一些完整的示例代码可以点击这里查看。

下面是 GenshinKit 的文档。


主要方法

GenshinKit {class}

GenshinKit 实例。

返回:GenshinKit的应用实例。

构造示例
const { GenshinKit } = require('genshin-kit')
const App = new GenshinKit()

App.loginWithCookie(cookie: string): this

使用米游社网站的 cookie 登录实例。

⚠️ 注意 ⚠️:请妥善保存您的 cookies。
绝对不要把你的 cookies 交给任何人!
绝对绝对不要把你的 cookies 交给任何人!!
绝对绝对绝对不要把你的 cookies 交给任何人!!!

国服获取方法:使用网页版米游社登录 https://bbs.mihoyo.com/ys/,然后前往 https://bbs.mihoyo.com/,在控制台输入 document.cookie,返回的结果就是 cookie,一般来说一个 cookie 可以使用一段时间,如果失效了就再次获取一遍。

使用示例
App.loginWithCookie(process.env.MHY_COOKIE)

App.setServerType(type: 'cn' | 'os'): this

设置要查询的 UID 所在的服务器分区。若不设置,预设查询cn(国服)数据。

  • cn 中国服(官服、B 服)
  • os 国际服

App.getUserInfo(uid: number, noCache?: boolean): Promise<UserInfo>

使用 UID 查询玩家的游戏基础信息。

返回:UserInfo

请求示例
App.getUserInfo(100000001).then(console.log)

App.getAllCharacters(uid: number, noCache?: boolean): Promise<Character[]>

通过 UID 获取玩家详细的角色信息。包括角色的装备情况。

返回:Character[]

App.getSpiralAbyss(uid: number, type?: 1 | 2, noCache?: boolean): Promise<Abyss>

根据 UID 获取“深境螺旋”信息。

type 1 代表当期,2 代表上一期

返回:Abyss

快速查询の糖:App.getCurrentAbyss(<uid:number>): Promise<Abyss> App.getPreviousAbyss(<uid:number>): Promise<Abyss>

App.getActivities(uid: number): Promise<Activities>

通过 UID 获取玩家的“风来人”等限时 raid 战绩。

返回:Activities


辅助工具

const { util } = require('genshin-kit')

util.getTheActivedConstellationsNumberOfSpecifiedGenshinImpactCharacter(character: Character): number 获取角色的命座数

好吧,其实用util.activedConstellations就行了,这里巨 TM 长的方法名是作者和朋友探讨这个方法该如何命名时的恶趣味。

返回指定角色的命座数量。

util.CharactersFilter(characters: Character[]) {class} 角色筛选工具

一个角色筛选工具类。封装了一系列过滤角色信息的方法。

返回:Filter

使用示例
const { CharactersFilter } = require('genshin-kit').util
App.getAllCharacters(100000001).then((data) => {
  const Filter = new CharactersFilter(data)
  // ...
}, console.error)

all(): Character[]

获取特定玩家的全部角色列表。

id(id: number): Character | null

获取特定玩家的指定 id 的角色信息。

name(name: string): Character | null

获取特定玩家的指定名称的角色信息。

name:角色名称,建议使用“简体中文”语言中的标准名称。但是同时支持使用别称搜索,详见CharacterNickname

element(element: string): Character[]

获取特定玩家的指定元素的角色信息。

element:可以是中文或者英文,例如pyro都是可以接受的名称。

rarity(rarity: number | number[]): Character[]

获取特定玩家的指定稀有度的角色信息。

rarity:必须是数字或者数字组成的数组,例如45以及[4, 5]

nicknameFilter: CharacterNickname

暴露过滤器使用的CharacterNickname实例。

util.CharacterNickname {class} 角色昵称工具

返回:Nickname

setNicknames(id: number, nicknames: string[]): this

通过角色 ID 添加一批昵称。

getIdByNickname(keyword: string): number | undefined

通过昵称获取角色 ID,可能不存在。

getNicknamesById(id: number): string[] | undefined

通过角色 ID 获取可能的昵称列表,可能不存在。

util.isValidCnUid(uid: any): boolean 国服 uid 验证工具

判断输入值是否为合法的国服 uid。


For communication and learning only.

All game data & pictures from query: ©miHoYo

API endpoint: Refer Azure99/GenshinPlayerQuery (Apache-2.0 License)

Copyright 2021 Genshin-Kit

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Package Sidebar

Install

npm i @genshin-kit/core

Weekly Downloads

6

Version

2.6.2

License

Apache-2.0

Unpacked Size

71.3 kB

Total Files

65

Last publish

Collaborators

  • dragon-fish
  • mysticnebula70