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
データ構造
プレイヤーオーナー
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つのメソッドから値を取得できます。
装備タイプ
キー |
値 |
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サーバーの𝖯𝖸┃enkanetwork․pyで @M-307 へメンションしてください。
ライセンス
MIT License
Picture by KKOMDASTRO