mirror of
https://github.com/Genshin-bots/gsuid_core.git
synced 2025-05-12 06:55:49 +08:00
🎨 增加ambr.top
的部分请求
This commit is contained in:
parent
d23d9a3e49
commit
3498055c36
@ -8,3 +8,5 @@ AMBR_MONSTER_URL = 'https://api.ambr.top/v2/chs/monster/{}?vh=37F4'
|
|||||||
AMBR_GCG_LIST_URL = 'https://api.ambr.top/v2/chs/gcg?vh=37F4'
|
AMBR_GCG_LIST_URL = 'https://api.ambr.top/v2/chs/gcg?vh=37F4'
|
||||||
AMBR_GCG_DETAIL = 'https://api.ambr.top/v2/chs/gcg/{}?vh=37F4'
|
AMBR_GCG_DETAIL = 'https://api.ambr.top/v2/chs/gcg/{}?vh=37F4'
|
||||||
AMBR_MONSTER_LIST = 'https://api.ambr.top/v2/chs/monster?vh=37F4'
|
AMBR_MONSTER_LIST = 'https://api.ambr.top/v2/chs/monster?vh=37F4'
|
||||||
|
AMBR_ICON_URL = 'https://api.ambr.top/assets/UI'
|
||||||
|
AMBR_MONSTER_ICON_URL = f'{AMBR_ICON_URL}/monster/'
|
||||||
|
@ -3,8 +3,12 @@
|
|||||||
'''
|
'''
|
||||||
from __future__ import annotations
|
from __future__ import annotations
|
||||||
|
|
||||||
|
from io import BytesIO
|
||||||
|
from pathlib import Path
|
||||||
from typing import Dict, Union, Literal, Optional, cast
|
from typing import Dict, Union, Literal, Optional, cast
|
||||||
|
|
||||||
|
import aiofiles
|
||||||
|
from PIL import Image
|
||||||
from httpx import AsyncClient
|
from httpx import AsyncClient
|
||||||
|
|
||||||
from ..types import AnyDict
|
from ..types import AnyDict
|
||||||
@ -23,6 +27,7 @@ from .models import (
|
|||||||
from .api import (
|
from .api import (
|
||||||
AMBR_BOOK_URL,
|
AMBR_BOOK_URL,
|
||||||
AMBR_CHAR_URL,
|
AMBR_CHAR_URL,
|
||||||
|
AMBR_ICON_URL,
|
||||||
AMBR_EVENT_URL,
|
AMBR_EVENT_URL,
|
||||||
AMBR_GCG_DETAIL,
|
AMBR_GCG_DETAIL,
|
||||||
AMBR_WEAPON_URL,
|
AMBR_WEAPON_URL,
|
||||||
@ -112,6 +117,27 @@ async def get_story_data(story_id: Union[int, str]) -> Optional[str]:
|
|||||||
return None
|
return None
|
||||||
|
|
||||||
|
|
||||||
|
async def get_ambr_icon(type: str, icon_name: str, path: Path) -> Image.Image:
|
||||||
|
file_path = path / f'{icon_name}.png'
|
||||||
|
|
||||||
|
if file_path.exists():
|
||||||
|
async with aiofiles.open(path, 'rb') as f:
|
||||||
|
return Image.open(await f.read())
|
||||||
|
|
||||||
|
async with AsyncClient(timeout=None) as client:
|
||||||
|
req = await client.get(
|
||||||
|
f'{AMBR_ICON_URL}/{type}/{icon_name}.png',
|
||||||
|
headers=_HEADER,
|
||||||
|
)
|
||||||
|
if req.status_code == 200:
|
||||||
|
content = req.read()
|
||||||
|
async with aiofiles.open(file_path, 'wb') as f:
|
||||||
|
await f.write(content)
|
||||||
|
return Image.open(BytesIO(content))
|
||||||
|
else:
|
||||||
|
return Image.new('RGBA', (256, 256), (0, 0, 0))
|
||||||
|
|
||||||
|
|
||||||
async def _ambr_request(
|
async def _ambr_request(
|
||||||
url: str,
|
url: str,
|
||||||
method: Literal['GET', 'POST'] = 'GET',
|
method: Literal['GET', 'POST'] = 'GET',
|
||||||
|
@ -39,6 +39,7 @@ class SQLA:
|
|||||||
|
|
||||||
async def sr_adapter(self):
|
async def sr_adapter(self):
|
||||||
exec_list = [
|
exec_list = [
|
||||||
|
'ALTER TABLE GsBind ADD COLUMN group_id TEXT',
|
||||||
'ALTER TABLE GsBind ADD COLUMN sr_uid TEXT',
|
'ALTER TABLE GsBind ADD COLUMN sr_uid TEXT',
|
||||||
'ALTER TABLE GsUser ADD COLUMN sr_uid TEXT',
|
'ALTER TABLE GsUser ADD COLUMN sr_uid TEXT',
|
||||||
'ALTER TABLE GsUser ADD COLUMN sr_region TEXT',
|
'ALTER TABLE GsUser ADD COLUMN sr_region TEXT',
|
||||||
|
@ -8,6 +8,7 @@ class GsBind(SQLModel, table=True):
|
|||||||
id: Optional[int] = Field(default=None, primary_key=True, title='序号')
|
id: Optional[int] = Field(default=None, primary_key=True, title='序号')
|
||||||
bot_id: str = Field(title='平台')
|
bot_id: str = Field(title='平台')
|
||||||
user_id: str = Field(title='账号')
|
user_id: str = Field(title='账号')
|
||||||
|
group_id: str = Field(title='群号')
|
||||||
uid: Optional[str] = Field(default=None, title='原神UID')
|
uid: Optional[str] = Field(default=None, title='原神UID')
|
||||||
sr_uid: Optional[str] = Field(default=None, title='星铁UID')
|
sr_uid: Optional[str] = Field(default=None, title='星铁UID')
|
||||||
mys_id: Optional[str] = Field(default=None, title='米游社通行证')
|
mys_id: Optional[str] = Field(default=None, title='米游社通行证')
|
||||||
|
Loading…
x
Reference in New Issue
Block a user