EnkaNetwork.py/README_JA.md
2023-07-13 09:12:53 +09:00

20 KiB
Raw Blame History

Enka Network Python

EN | TH | JA

https://enka.network/ のAPIラッパーライブラリ

🏓 目次

インストール

pip install enkanetwork.py

使い方

import asyncio

from enkanetwork import EnkaNetworkAPI

client = EnkaNetworkAPI()

async def main():
    async with client:
        data = await client.fetch_user(843715177)
        print("=== Player Info ===")
        print(f"Nickname: {data.player.nickname}")
        print(f"Level: {data.player.level}")
        print(f"Icon: {data.player.avatar.icon.url}")
        print(f"Signature: {data.player.signature}")
        print(f"Achievement: {data.player.achievement}")
        print(f"Abyss floor: {data.player.abyss_floor} - {data.player.abyss_room}")
        print(f"Cache timeout: {data.ttl}")

asyncio.run(main())

出力

=== Player Info ===
Nickname: mrwan2546
Level: 55
Icon: https://enka.network/ui/UI_AvatarIcon_Kazuha.png
Signature: K A Z U H A M U C H <3
Achievement: 396
Abyss floor: 8 - 3
Cache timeout: 300

使用例

example を参照

メソッド一覧

メソッド名 詳細
fetch_user(uid) ユーザーデータの取得 (UID) (まもなく廃止されます)
fetch_user_by_uid(uid) ユーザーデータの取得 (UID)
fetch_user_by_username(profile_id) ユーザーデータの取得 (プロフィールID) (Enka.Networkのサブスクライバー向け)
fetch_hoyos_by_username(profile_id) hoyosのユーザーデータの取得 (プロフィールID) (Enka.Networkのサブスクライバー向け)
fetch_builds(profile_id, metaname) ビルドデータの取得 (プロフィールID) (Enka.Networkのサブスクライバー向け)
set_language(lang) 言語の設定
言語のサポート を参照
update_assets() Enkanetwork.py Data からアセットを更新します。

レスポンス

UID

戻り値の型: EnkaNetworkResponse

ラッパー API 備考
player playerInfo プレイヤー を参照
characters avatarInfoList キャラクター を参照
profile - プロフィール情報 を参照
owner owner プレイヤーオーナー を参照
ttl ttl
uid uid

プロフィール

戻り値の型: EnkaNetworkProfileResponse

ラッパー API 備考
username playerInfo プレイヤー を参照
profile profile Patreonプロフィール を参照
hoyos hoyos hoyosプロフィール を参照

データ構造

プレイヤーオーナー

ラッパー API 備考
hash hash
username username Tier を参照
profile profile Patreonプロフィール を参照
builds - ビルド情報 を参照

Patreonプロフィール

ラッパー API 備考
bio bio
level level Tier を参照
profile worldLevel
signup_state signup_state
image_url image_url

Hoyosプロフィール

ラッパー API 備考
uid_public uid_public
public public
verified verified
player_info player_info Patreonプロフィール を参照
signup_state signup_state
signup_state signup_state

ビルド情報

ラッパー API 備考
id id
name name
avatar_id avatar_id
avatar_data avatar_data キャラクター を参照
order order
live live
settings settings
public public

プロフィール情報

ラッパー API 備考
uid - ゲーム内UID
url - Enka.NetworkへのURL
path - URLのパス

プレイヤー

ラッパー API 備考
nickname nickname 名刺 を参照
signature signature
world_level worldLevel
achievement finishAchievementNum
namecard namecardId
namecards showNameCardIdList -> id 名刺 を参照
abyss_floor towerFloorIndex
abyss_room towerLevelIndex
characters_preview showAvatarInfoList 展示キャラクター一覧 を参照
avatar profilePicture アバターアイコン を参照

アバターアイコン

ラッパー API 備考
id avatarId
icon アイコン情報 を参照

名刺

ラッパー API 備考
id - 名刺ID
name - 名刺の名前
icon - 名刺アイコン, アイコン情報 を参照
banner - 名刺のバナー, アイコン情報 を参照
navbar - 名刺(横長), アイコン情報 を参照

展示キャラクター一覧

ラッパー API 備考
id - アバターID
name - アバター名
level - アバターのレベル
icon - アバターアイコン, アイコン情報 を参照

キャラクター

ラッパー API 備考
id avatarId
name - アバター名
element - 元素タイプ を参照
rarity - レア度
image - アイコン を参照
xp propMap -> 1001
ascension propMap -> 1002
level propMap -> 4001
max_level - アバターの最大レベル ( 50/60 等)
friendship_level fetterInfo.level
equipments equipList 装備 を参照
stats fightPropMap FIGHT_PROPデータ を参照
constellations talentIdList 命ノ星座 を参照
constellations_unlocked - 解放済みの命ノ星座
skill_data inherentProudSkillList
skill_id skillDepotId
skills - スキル を参照

アイコン

ラッパー API 備考
icon - アバターアイコン, アイコン情報 を参照
side - アバターの横向きアイコン, アイコン情報 を参照
banner - アバターの祈願バナー, アイコン情報 を参照

命ノ星座

ラッパー API 備考
id - 星座ID
name - 命ノ星座の名前
icon - 星座のアイコンURL
unlocked - 命ノ星座の開放状態

スキル

ラッパー API 備考
id - スキルID
name - スキル名
icon - スキルのアイコンURL
level - スキルレベル
is_boosted - スキルレベルの増加状態

装備 (聖遺物, 武器)

ラッパー API 備考
id itemId
level reliquary -> level, weapon -> level
type - 装備タイプ (聖遺物または武器)
refinement weapon -> affixMap
ascension weapon -> promoteLevel
detail flat 装備情報 を参照

装備情報

ラッパー API 備考
name - 装備の名前 (聖遺物名 または 武器名)
icon icon アイコン情報 を参照
artifact_type - 装備タイプ を参照
rarity rankLevel
mainstats reliquaryMainstat, weaponStats -> 0 装備ステータス を参照
substats reliquarySubstats, weaponStats -> 1 装備ステータス を参照

装備ステータス

ラッパー API 備考
prop_id prop_id
type - 値のタイプ (整数 または パーセント)
name - FIGHT_PROPの名前
value value

FIGHT_PROPデータ

FIGHT_PROPデータでは4つのメソッドから値を取得できます。

選択 戻り値
生のデータを取得 stats.FIGHT_PROP_HP.value 15552.306640625
丸め込んだ数値の取得 stats.FIGHT_PROP_ATTACK.to_rounded() 344
パーセントの数値の取得 stats.FIGHT_PROP_FIRE_ADD_HURT.to_percentage() 61.5
%付きの数値の取得 stats.FIGHT_PROP_FIRE_ADD_HURT.to_percentage_symbol() 61.5%

ビルド

ビルドのデータは整形されていません。以下のメソッドからデータを取得できます。また、raw引数を使うことで完全なデータを得られます。

選択 戻り値
アバターIDのリストを取得 builds.get_avatar_list() [10000021,10000037,10000025, ...]
キャラクターのビルドを取得 builds.get_character(10000021) ビルド情報のリスト
アバターIDでビルド情報を取得 builds.get_character(10000021, 11111111) ビルド情報

アイコン情報

アイコン情報では2つのメソッドから値を取得できます。

選択 戻り値
ファイル名の取得 icon.filename UI_AvatarIcon_Kazuha_Card.png
URLの取得 icon.url https://enka.network/ui/UI_AvatarIcon_Kazuha_Card.png

装備タイプ

キー
Flower EQUIP_BRACER
Feather EQUIP_NECKLACE
Sands EQUIP_SHOES
Goblet EQUIP_RING
Circlet EQUIP_DRESS

元素タイプ

キー
Cryo Ice
Hydro Water
Anemo Wind
Pyro Fire
Geo Rock
Electro Electric

アセット

キャラクター, 命ノ星座, スキル, 名刺

アバターID(avatarId)でキャラクター、命ノ星座、スキル、名刺のアセットを取得できます。

import asyncio

from enkanetwork import Assets

assets = Assets()

async def main():
    # Character
    assets.character(10000046)
    # Constellations
    assets.constellations(2081199193)
    # Skills
    assets.constellations(10462)
    # Namecards
    assets.namecards(210059)

loop = asyncio.get_event_loop()
loop.run_until_complete(main())

NameTextMapHash

NameTextMapHashはアセット名のテキストが入ったハッシュマップです。hash_idからNameTextMapHashを以下のように取得できます。

import asyncio

from enkanetwork import Assets

assets = Assets(lang="en") # Set languege before get name (Ex. English)

async def main():
    print(assets.get_hash_map(1940919994)) # Hu tao
    # OR you can get FIGHT_PROP name
    print(assets.get_hash_map("FIGHT_PROP_BASE_ATTACK")) # Base ATK

loop = asyncio.get_event_loop()
loop.run_until_complete(main())

言語のサポート

言語 コード
English en
русский ru
Tiếng Việt vi
ไทย th
português pt
한국어 kr
日本語 jp
中文 zh
Indonesian id
français fr
español es
deutsch de
Taiwan cht
Chinese chs

APIの完全なドキュメントが必要な場合はEnkaNetwork API Docsを参照してください。

サポートと質問

Enkanetwork.pyについてサポートや質問がある場合はEnka.network discordサーバー𝖯𝖸┃enkanetworkpy@M-307 へメンションしてください。

ライセンス

MIT License

Keqing

Picture by KKOMDASTRO