🎨 修改强制刷新功能,为特定平台添加按钮反馈

This commit is contained in:
KimigaiiWuyi 2023-10-03 01:52:24 +08:00
parent 520069ccf8
commit efeaf49d0b
2 changed files with 11 additions and 6 deletions

View File

@ -216,10 +216,14 @@ async def send_card_info(bot: Bot, ev: Event):
uid = await get_uid(bot, ev) uid = await get_uid(bot, ev)
if uid is None: if uid is None:
return await bot.send(UID_HINT) return await bot.send(UID_HINT)
await bot.logger.info('[强制刷新]uid: {}'.format(uid)) logger.info('[强制刷新]uid: {}'.format(uid))
im = await enka_to_card(uid) im = await enka_to_card(uid)
await bot.logger.info(f'UID{uid}获取角色数据成功!') logger.info(f'UID{uid}获取角色数据成功!')
await bot.send(im)
if isinstance(im, Tuple):
await bot.send_option(im[0], [f'查询{i["avatarName"]}' for i in im[1]])
else:
await bot.send(im)
@sv_get_enka.on_command('毕业度统计') @sv_get_enka.on_command('毕业度统计')

View File

@ -1,6 +1,6 @@
import asyncio import asyncio
from pathlib import Path from pathlib import Path
from typing import List, Union, Optional from typing import Dict, List, Tuple, Union, Optional
from PIL import Image, ImageDraw from PIL import Image, ImageDraw
from gsuid_core.utils.api.enka.models import EnkaData from gsuid_core.utils.api.enka.models import EnkaData
@ -27,7 +27,7 @@ pic_204 = Image.open(TEXT_PATH / '204.png')
async def enka_to_card( async def enka_to_card(
uid: str, enka_data: Optional[EnkaData] = None uid: str, enka_data: Optional[EnkaData] = None
) -> Union[str, bytes]: ) -> Union[str, bytes, Tuple[bytes, List[Dict]]]:
char_data_list = await enka_to_dict(uid, enka_data) char_data_list = await enka_to_dict(uid, enka_data)
if isinstance(char_data_list, str): if isinstance(char_data_list, str):
if '服务器正在维护或者关闭中' in char_data_list: if '服务器正在维护或者关闭中' in char_data_list:
@ -41,7 +41,7 @@ async def enka_to_card(
return await convert_img(pic_500) return await convert_img(pic_500)
img = await draw_enka_card(uid=uid, char_data_list=char_data_list) img = await draw_enka_card(uid=uid, char_data_list=char_data_list)
return img return img, char_data_list
async def draw_enka_card( async def draw_enka_card(
@ -96,6 +96,7 @@ async def draw_enka_card(
for index, char_data in enumerate(char_data_list): for index, char_data in enumerate(char_data_list):
tasks.append(draw_enka_char(index, img, char_data)) tasks.append(draw_enka_char(index, img, char_data))
await asyncio.gather(*tasks) await asyncio.gather(*tasks)
img = img.resize((500, 340))
img = await convert_img(img) img = await convert_img(img)
return img return img