Enka Network Python

July 13, 2023 · View on GitHub

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備考
playerplayerInfoプレイヤー を参照
charactersavatarInfoListキャラクター を参照
profile-プロフィール情報 を参照
ownerownerプレイヤーオーナー を参照
ttlttl
uiduid

プロフィール

戻り値の型: EnkaNetworkProfileResponse

ラッパーAPI備考
usernameplayerInfoプレイヤー を参照
profileprofilePatreonプロフィール を参照
hoyoshoyoshoyosプロフィール を参照

データ構造

プレイヤーオーナー

ラッパーAPI備考
hashhash
usernameusernameTier を参照
profileprofilePatreonプロフィール を参照
builds-ビルド情報 を参照

Patreonプロフィール

ラッパーAPI備考
biobio
levellevelTier を参照
profileworldLevel
signup_statesignup_state
image_urlimage_url

Hoyosプロフィール

ラッパーAPI備考
uid_publicuid_public
publicpublic
verifiedverified
player_infoplayer_infoPatreonプロフィール を参照
signup_statesignup_state
signup_statesignup_state

ビルド情報

ラッパーAPI備考
idid
namename
avatar_idavatar_id
avatar_dataavatar_dataキャラクター を参照
orderorder
livelive
settingssettings
publicpublic

プロフィール情報

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

プレイヤー

ラッパーAPI備考
nicknamenickname名刺 を参照
signaturesignature
world_levelworldLevel
achievementfinishAchievementNum
namecardnamecardId
namecardsshowNameCardIdList -> id名刺 を参照
abyss_floortowerFloorIndex
abyss_roomtowerLevelIndex
characters_previewshowAvatarInfoList展示キャラクター一覧 を参照
avatarprofilePictureアバターアイコン を参照

アバターアイコン

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

名刺

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

展示キャラクター一覧

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

キャラクター

ラッパーAPI備考
idavatarId
name-アバター名
element-元素タイプ を参照
rarity-レア度
image-アイコン を参照
xppropMap -> 1001
ascensionpropMap -> 1002
levelpropMap -> 4001
max_level-アバターの最大レベル ( 50/60 等)
friendship_levelfetterInfo.level
equipmentsequipList装備 を参照
statsfightPropMapFIGHT_PROPデータ を参照
constellationstalentIdList命ノ星座 を参照
constellations_unlocked-解放済みの命ノ星座
skill_datainherentProudSkillList
skill_idskillDepotId
skills-スキル を参照

アイコン

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

命ノ星座

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

スキル

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

装備 (聖遺物, 武器)

ラッパーAPI備考
iditemId
levelreliquary -> level, weapon -> level
type-装備タイプ (聖遺物または武器)
refinementweapon -> affixMap
ascensionweapon -> promoteLevel
detailflat装備情報 を参照

装備情報

ラッパーAPI備考
name-装備の名前 (聖遺物名 または 武器名)
iconiconアイコン情報 を参照
artifact_type-装備タイプ を参照
rarityrankLevel
mainstatsreliquaryMainstat, weaponStats -> 0装備ステータス を参照
substatsreliquarySubstats, weaponStats -> 1装備ステータス を参照

装備ステータス

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

FIGHT_PROPデータ

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

選択戻り値
生のデータを取得stats.FIGHT_PROP_HP.value15552.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.filenameUI_AvatarIcon_Kazuha_Card.png
URLの取得icon.urlhttps://enka.network/ui/UI_AvatarIcon_Kazuha_Card.png

装備タイプ

キー
FlowerEQUIP_BRACER
FeatherEQUIP_NECKLACE
SandsEQUIP_SHOES
GobletEQUIP_RING
CircletEQUIP_DRESS

元素タイプ

キー
CryoIce
HydroWater
AnemoWind
PyroFire
GeoRock
ElectroElectric

アセット

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

アバター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())

言語のサポート

言語コード
Englishen
русскийru
Tiếng Việtvi
ไทยth
portuguêspt
한국어kr
日本語jp
中文zh
Indonesianid
françaisfr
españoles
deutschde
Taiwancht
Chinesechs

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

サポートと質問

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

ライセンス

MIT License

Keqing

Picture by KKOMDASTRO