GenshinUID/utils/enka_api/get_enka_data.py
2022-08-29 23:12:44 +08:00

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