mirror of
https://github.com/KimigaiiWuyi/GenshinUID.git
synced 2025-05-31 04:30:29 +08:00
40 lines
983 B
Python
40 lines
983 B
Python
from httpx import AsyncClient
|
|
from nonebot.log import logger
|
|
|
|
from .enka_api import ENKA_DATA_URL, MINIGG_DATA_URL, MICROGG_DATA_URL
|
|
|
|
ENKA_API = [MINIGG_DATA_URL, ENKA_DATA_URL, MICROGG_DATA_URL]
|
|
HEADER = {'User-Agent': 'GenshinUID/3.1'}
|
|
|
|
|
|
async def switch_api():
|
|
"""
|
|
:说明:
|
|
切换api。
|
|
:返回:
|
|
* str: 当前api。
|
|
"""
|
|
global ENKA_API
|
|
ENKA_API = [ENKA_API[-1]] + ENKA_API[:-1]
|
|
return f'切换成功!当前api为{ENKA_API[0].replace("{}/__data.json","")}'
|
|
|
|
|
|
async def get_enka_info(uid: str):
|
|
"""
|
|
:说明:
|
|
返回角色信息。
|
|
:参数:
|
|
* uid (str): 玩家uid。
|
|
:返回:
|
|
* dict: 角色信息。
|
|
"""
|
|
url = ENKA_API[0].format(uid)
|
|
async with AsyncClient() as client:
|
|
try:
|
|
req = await client.get(url=url, headers=HEADER)
|
|
data = req.json()
|
|
except Exception:
|
|
data = {}
|
|
logger.exception("访问 Enka 出现问题")
|
|
return data
|