Project description
Enka Network Python
EN | TH
Library for API wrapper data from site https://enka.network/
🏓 Table of content
Installation
pip install enkanetwork.py
Usage
import asyncio
from enkanetwork import EnkaNetworkAPI
client = EnkaNetworkAPI()
async def main():
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.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}")
loop = asyncio.get_event_loop()
loop.run_until_complete(main())
Preview
=== 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
Please see in example folder.
Class Methods
Structure
Player
Wrapper |
API |
Notes |
nickname |
nickname |
Please see Namecard |
signature |
signature |
|
world_level |
worldLevel |
|
achievement |
finishAchievementNum |
|
namecard |
namecardId |
|
namecards |
showNameCardIdList -> id |
Please see Namecard |
abyss_floor |
towerFloorIndex |
|
abyss_room |
towerLevelIndex |
|
characters_preview |
showAvatarInfoList |
Please see Character Preview |
icon.url |
profilePicture.avatarID |
|
Namecard
Wrapper |
API |
Notes |
id |
- |
Namecard ID |
name |
- |
Namecard name |
icon |
- |
Namecard icon (url) |
banner |
- |
Namecard banner (url) |
navbar |
- |
Namecard navbar (Alpha) (url) |
Character preview
Wrapper |
API |
Notes |
id |
- |
Avatar ID |
name |
- |
Avatar Name |
level |
- |
Avatar Level |
icon |
- |
Avatar Icon (url) |
Characters
Wrapper |
API |
Notes |
id |
avatarId |
|
name |
- |
Avatar Name |
element |
- |
Please see Element Type |
image |
- |
Please see Icon |
xp |
propMap -> 1001 |
|
ascension |
propMap -> 1002 |
|
level |
propMap -> 4001 |
|
max_level |
- |
Avatar max level (Like 50/60) |
friendship_level |
fetterInfo.level |
|
equipments |
equipList |
Please see Equipments |
stats |
fightPropMap |
Please see FIGHT_PROP Data |
constellations |
talentIdList |
Please see Constellation |
skill_data |
inherentProudSkillList |
|
skill_id |
skillDepotId |
|
skills |
- |
Please see Skill |
Icon
Wrapper |
API |
Notes |
icon |
- |
Avatar icon (url) |
side |
- |
Avatar side icon (url) |
banner |
- |
Avatar wish banner (url) |
Constellation
Wrapper |
API |
Notes |
id |
- |
Constellation ID |
name |
- |
Constellation Name |
icon |
- |
Constellation Icon (url) |
unlocked |
- |
Constellation has unlocked |
Skill
Wrapper |
API |
Notes |
id |
- |
Skill ID |
name |
- |
Skill Name |
icon |
- |
Skill Icon (url) |
level |
- |
Skill Level |
Equipments (Artifact, Weapon)
Wrapper |
API |
Notes |
id |
itemId |
|
level |
reliquary -> level, weapon -> level |
|
type |
- |
Type of equipment (Artifact or Weapon) |
refinement |
weapon -> affixMap |
|
ascension |
weapon -> promoteLevel |
|
detail |
flat |
Please see Equipments Info |
Equipments Info
Wrapper |
API |
Notes |
name |
- |
Equipment Name (Artifact name or Weapon name) |
icon |
icon |
|
artifact_type |
- |
Please see Artifact Type |
rarity |
rankLevel |
|
mainstats |
reliquaryMainstat, weaponStats -> 0 |
Please see Equipments Stats |
substats |
reliquarySubstats, weaponStats -> 1 |
Please see Equipments Stats |
Equipments Stats
Wrapper |
API |
Notes |
prop_id |
prop_id |
|
type |
- |
Value type (NUMBER or PERCENT) |
name |
- |
Name of FIGHT_PROP |
value |
value |
|
FIGHT_PROP Data
In FIGHT_PROP data. You can get the value from 4 ways.
Choice |
Example |
Output |
Get raw value |
stats.FIGHT_PROP_HP.value |
15552.306640625 |
Get rounded value |
stats.FIGHT_PROP_ATTACK.to_rounded() |
344 |
Get percentage |
stats.FIGHT_PROP_FIRE_ADD_HURT.to_percentage() |
61.5 |
Get percentage and symbol |
stats.FIGHT_PROP_FIRE_ADD_HURT.to_percentage_symbol() |
61.5% |
Artifact Type
Key |
Value |
Flower |
EQUIP_BRACER |
Feather |
EQUIP_NECKLACE |
Sands |
EQUIP_SHOES |
Goblet |
EQUIP_RING |
Circlet |
EQUIP_DRESS |
Element Type
Key |
Value |
Cryo |
Ice |
Hydro |
Water |
Anemo |
Wind |
Pyro |
Fire |
Geo |
Rock |
Electro |
Electric |
Assets
Assets character, constellations, skills, namecards
You can use avatarId to get the character, constellations, skills, namecards from assets.
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())
Assets NameTextMapHash
The NameTextMapHash
is a hash map that contains the name text of the assets. You cane get NameTextMapHash
from hash_id
like this:
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())
Languages Supported
Languege |
Code |
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 |
If you want full docs for the API, visit EnkaNetwork API Docs
LICENSE
MIT License
Picture by KKOMDASTRO
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution