From 2178d57c868ad9098c2626a3cedb4fbd1b2d455b Mon Sep 17 00:00:00 2001 From: a376148946 <376148946@qq.com> Date: Sat, 2 Dec 2023 17:17:19 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E6=8C=89=E9=92=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- StarRailUID/starrailuid_charinfo/__init__.py | 30 +++++++++++++++++--- StarRailUID/starrailuid_charinfo/to_card.py | 3 +- StarRailUID/utils/map/data/char_alias.json | 3 +- 3 files changed, 30 insertions(+), 6 deletions(-) diff --git a/StarRailUID/starrailuid_charinfo/__init__.py b/StarRailUID/starrailuid_charinfo/__init__.py index a03873b..e4b2750 100644 --- a/StarRailUID/starrailuid_charinfo/__init__.py +++ b/StarRailUID/starrailuid_charinfo/__init__.py @@ -13,7 +13,9 @@ from ..utils.sr_prefix import PREFIX from ..utils.error_reply import UID_HINT from .get_char_img import draw_char_info_img from ..utils.image.convert import convert_img +from gsuid_core.message_models import Button from ..utils.resource.RESOURCE_PATH import TEMP_PATH +from starrail_damage_cal.map.SR_MAP_PATH import avatarId2Name sv_char_info_config = SV('sr面板设置', pm=2) sv_get_char_info = SV('sr面板查询', priority=10) @@ -22,6 +24,7 @@ sv_get_sr_original_pic = SV('sr查看面板原图', priority=5) @sv_get_char_info.on_prefix(f'{PREFIX}查询') async def send_char_info(bot: Bot, ev: Event): + name = ev.text.strip() im = await _get_char_info(bot, ev, ev.text) if isinstance(im, str): await bot.send(im) @@ -30,14 +33,27 @@ async def send_char_info(bot: Bot, ev: Event): img = await convert_img(cast(Image.Image, im[0])) else: img = str(im[0]) - await bot.send(img) + await bot.send_option( + img, + [ + Button('🔄更换武器', f'sr查询{name}换'), + Button('⏫提高命座', f'sr查询六魂{name}'), + ], + ) if im[1]: with Path.open(TEMP_PATH / f'{ev.msg_id}.jpg', 'wb') as f: f.write(cast(bytes, im[1])) elif isinstance(im, Image.Image): await bot.send(await convert_img(im)) elif isinstance(im, bytes): - await bot.send(im) + # await bot.send(im) + await bot.send_option( + im, + [ + Button('🔄更换武器', f'sr查询{name}换', action = 2), + Button('⏫提高命座', f'sr查询六魂{name}', action = 2), + ], + ) elif im is None: return else: @@ -72,5 +88,11 @@ async def send_card_info(bot: Bot, ev: Event): await bot.logger.info(f'[sr强制刷新]uid: {uid}') im = await api_to_card(uid) await bot.logger.info(f'UID{uid}获取角色数据成功!') - await bot.send(im) - return None + if isinstance(im, Tuple): + buttons = [ + Button(f'✅查询{avatarId2Name[str(avatarid)]}', f'sr查询{avatarId2Name[str(avatarid)]}') + for avatarid in im[1] + ] + await bot.send_option(im[0], buttons) + else: + await bot.send(im) diff --git a/StarRailUID/starrailuid_charinfo/to_card.py b/StarRailUID/starrailuid_charinfo/to_card.py index 9bc5d84..fd943bd 100644 --- a/StarRailUID/starrailuid_charinfo/to_card.py +++ b/StarRailUID/starrailuid_charinfo/to_card.py @@ -42,7 +42,8 @@ async def api_to_card(uid: str) -> Union[str, bytes]: ): return await convert_img(pic_500) - return await draw_enka_card(uid=uid, char_list=char_id_list, showfrom=1) + img = await draw_enka_card(uid=uid, char_list=char_id_list, showfrom=1) + return img,char_id_list async def draw_enka_card(uid: str, char_list: List, showfrom: int = 0): diff --git a/StarRailUID/utils/map/data/char_alias.json b/StarRailUID/utils/map/data/char_alias.json index f43ed4f..05b8a41 100644 --- a/StarRailUID/utils/map/data/char_alias.json +++ b/StarRailUID/utils/map/data/char_alias.json @@ -118,7 +118,8 @@ "托帕&账账", "托帕", "账账", - "账账启动器" + "账账启动器", + "托帕 账账" ], "1201": [ "青雀",