From 260d4ba81a8205a579d69a50b8c5e588bca2e12b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=AD=A3=E8=90=BD?= <34079036+jiluoQAQ@users.noreply.github.com> Date: Tue, 16 May 2023 07:09:25 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9srmr=E9=94=99=E8=AF=AF?= =?UTF-8?q?=E6=98=BE=E7=A4=BA=EF=BC=8C=E4=BF=AE=E6=94=B9=E5=88=B7=E6=96=B0?= =?UTF-8?q?=E9=87=8D=E5=A4=8D=E8=A7=92=E8=89=B2=20(#23)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * 修改srmr错误显示,修改刷新重复角色 * 修改强制刷新同角色重复计算 * 🚨 `pre-commit-ci`修复格式错误 --------- Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> --- StarRailUID/starrailuid_charinfo/to_data.py | 27 +++++++++++-------- .../starrailuid_resin/draw_resin_card.py | 20 ++------------ 2 files changed, 18 insertions(+), 29 deletions(-) diff --git a/StarRailUID/starrailuid_charinfo/to_data.py b/StarRailUID/starrailuid_charinfo/to_data.py index 126ab2e..0677cea 100644 --- a/StarRailUID/starrailuid_charinfo/to_data.py +++ b/StarRailUID/starrailuid_charinfo/to_data.py @@ -76,26 +76,31 @@ async def api_to_dict( if 'PlayerDetailInfo' not in sr_data: return f'SR_UID{sr_uid}刷新失败!未打开角色展柜!' - char_dict_list = [] + char_name_list = [] + char_id_list = [] im = f'UID: {sr_uid} 的角色展柜刷新成功\n' if PlayerDetailInfo.get('AssistAvatar'): - char_dict, avatarName = await get_data( - PlayerDetailInfo['AssistAvatar'], sr_data, sr_uid - ) - im += f'支援角色 {avatarName}\n' - char_dict_list.append(avatarName) + if PlayerDetailInfo['AssistAvatar']['AvatarID'] not in char_id_list: + char_dict, avatarName = await get_data( + PlayerDetailInfo['AssistAvatar'], sr_data, sr_uid + ) + im += f'支援角色 {avatarName}\n' + char_name_list.append(avatarName) + char_id_list.append(PlayerDetailInfo['AssistAvatar']['AvatarID']) if PlayerDetailInfo.get('DisplayAvatarList'): im += '星海同行' for char in PlayerDetailInfo['DisplayAvatarList']: - char_dict, avatarName = await get_data(char, sr_data, sr_uid) - im += f' {avatarName}' - char_dict_list.append(avatarName) + if char['AvatarID'] not in char_id_list: + char_dict, avatarName = await get_data(char, sr_data, sr_uid) + im += f' {avatarName}' + char_name_list.append(avatarName) + char_id_list.append(char['AvatarID']) - if not char_dict_list: + if not char_name_list: im = f'UID: {sr_uid} 的角色展柜刷新失败!\n请检查UID是否正确或者角色展柜是否打开!' return im - return char_dict_list + return char_name_list async def get_data(char: dict, sr_data: dict, sr_uid: str): diff --git a/StarRailUID/starrailuid_resin/draw_resin_card.py b/StarRailUID/starrailuid_resin/draw_resin_card.py index c37d715..46d4deb 100644 --- a/StarRailUID/starrailuid_resin/draw_resin_card.py +++ b/StarRailUID/starrailuid_resin/draw_resin_card.py @@ -9,6 +9,7 @@ from gsuid_core.logger import logger from ..utils.api import get_sqla from ..utils.mys_api import mys_api +from ..utils.error_reply import get_error from ..utils.image.convert import convert_img from ..sruid_utils.api.mys.models import Expedition from ..utils.fonts.starrail_fonts import ( @@ -147,24 +148,7 @@ async def draw_resin_img(sr_uid: str) -> Image.Image: img = note_bg.copy() if isinstance(daily_data, int): - img_draw = ImageDraw.Draw(img) - # img.paste(warn_pic, (0, 0), warn_pic) - # 写UID - img_draw.text( - (250, 553), - f'UID{sr_uid}', - font=sr_font_36, - fill=first_color, - anchor='mm', - ) - img_draw.text( - (250, 518), - f'错误码 {daily_data}', - font=sr_font_36, - fill=red_color, - anchor='mm', - ) - return img + return get_error(daily_data) # nickname and level role_basic_info = await mys_api.get_role_basic_info(sr_uid)