From 05c13ff5118e75363e1242e18362308d86f9a4b7 Mon Sep 17 00:00:00 2001 From: KimigaiiWuyi <444835641@qq.com> Date: Wed, 25 Sep 2024 06:52:54 +0800 Subject: [PATCH] =?UTF-8?q?=E2=9C=A8=20=E4=BF=AE=E6=94=B9`sr=E8=A7=92?= =?UTF-8?q?=E8=89=B2=E6=94=BB=E7=95=A5`=E7=9A=84char=5Fid=E5=8C=B9?= =?UTF-8?q?=E9=85=8D=E6=A8=A1=E5=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- StarRailUID/starrailuid_wiki/__init__.py | 29 +++++++++++++----------- StarRailUID/utils/name_covert.py | 14 ++++++++++-- 2 files changed, 28 insertions(+), 15 deletions(-) diff --git a/StarRailUID/starrailuid_wiki/__init__.py b/StarRailUID/starrailuid_wiki/__init__.py index 91d4bda..ba42cbf 100644 --- a/StarRailUID/starrailuid_wiki/__init__.py +++ b/StarRailUID/starrailuid_wiki/__init__.py @@ -1,23 +1,24 @@ import re +from gsuid_core.sv import SV from gsuid_core.bot import Bot from gsuid_core.models import Event -from gsuid_core.sv import SV from gsuid_core.utils.image.convert import convert_img from ..utils.name_covert import ( - alias_to_char_name, + alias_to_char_id, name_to_avatar_id, - name_to_relic_set_id, name_to_weapon_id, + alias_to_char_name, + name_to_relic_set_id, ) from ..utils.resource.RESOURCE_PATH import ( - GUIDE_CHARACTER_PATH, - GUIDE_LIGHT_CONE_PATH, - WIKI_LIGHT_CONE_PATH, - WIKI_MATERIAL_FOR_ROLE, - WIKI_RELIC_PATH, WIKI_ROLE_PATH, + WIKI_RELIC_PATH, + GUIDE_CHARACTER_PATH, + WIKI_LIGHT_CONE_PATH, + GUIDE_LIGHT_CONE_PATH, + WIKI_MATERIAL_FOR_ROLE, ) sv_sr_wiki = SV("星铁WIKI") @@ -47,12 +48,14 @@ async def send_role_wiki_pic(bot: Bot, ev: Event): async def send_role_guide_pic(bot: Bot, ev: Event): char_name = " ".join(re.findall("[\u4e00-\u9fa5]+", ev.text)) await bot.logger.info(f"开始获取{char_name}图鉴") - if "开拓者" in str(char_name): - char_name = "开拓者" - char_id = await name_to_avatar_id(char_name) - if char_id == "": - char_name = await alias_to_char_name(char_name) + char_id = await alias_to_char_id(char_name) + if char_id is None: + if "开拓者" in str(char_name): + char_name = "开拓者" char_id = await name_to_avatar_id(char_name) + if char_id == "": + char_name = await alias_to_char_name(char_name) + char_id = await name_to_avatar_id(char_name) img = GUIDE_CHARACTER_PATH / f"{char_id}.png" if img.exists(): img = await convert_img(img) diff --git a/StarRailUID/utils/name_covert.py b/StarRailUID/utils/name_covert.py index 2d6061a..6c4fda7 100644 --- a/StarRailUID/utils/name_covert.py +++ b/StarRailUID/utils/name_covert.py @@ -1,8 +1,10 @@ +from typing import Optional + from starrail_damage_cal.excel.model import CharAlias from starrail_damage_cal.map.SR_MAP_PATH import ( - EquipmentID2EnName, - EquipmentID2Name, SetId2Name, + EquipmentID2Name, + EquipmentID2EnName, avatarId2Name, avatarId2Rarity, ) @@ -32,6 +34,14 @@ async def avatar_id_to_char_star(char_id: str) -> str: return avatarId2Rarity[str(char_id)] +async def alias_to_char_id(char_name: str) -> Optional[str]: + for i in CharAlias["characters"]: + for j in CharAlias["characters"][i]: + if char_name in j: + return i + return None + + async def alias_to_char_name(char_name: str) -> str: for i in CharAlias["characters"]: if char_name in CharAlias["characters"][i]: