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)