From cfb19604cc73628889d5b24e3c5a8c1422ec40c5 Mon Sep 17 00:00:00 2001 From: KimgiaiiWuyi <444835641@qq.com> Date: Fri, 1 Jul 2022 00:10:24 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9E=EF=BC=9A`=E8=B0=81=E8=83=BD?= =?UTF-8?q?=E7=94=A8`=E5=8F=AF=E4=BB=A5=E6=A8=A1=E7=B3=8A=E6=9F=A5?= =?UTF-8?q?=E8=AF=A2=E5=9C=A3=E9=81=97=E7=89=A9=E5=8C=B9=E9=85=8D=E4=BF=A1?= =?UTF-8?q?=E6=81=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- mihoyo_libs/get_mihoyo_bbs_data.py | 25 +++++++++++++++++++++---- 1 file changed, 21 insertions(+), 4 deletions(-) diff --git a/mihoyo_libs/get_mihoyo_bbs_data.py b/mihoyo_libs/get_mihoyo_bbs_data.py index 1ef91e6f..22ee25ea 100644 --- a/mihoyo_libs/get_mihoyo_bbs_data.py +++ b/mihoyo_libs/get_mihoyo_bbs_data.py @@ -167,25 +167,42 @@ async def weapon_adv(name): async with aiofiles.open(os.path.join(FILE_PATH, 'char_adv_list.json'), encoding='utf-8') as f: adv_li = json.loads(await f.read()) weapons = {} + artifacts = {} for char, info in adv_li.items(): char_weapons = [] + char_artifacts = [] + for i in info['weapon'].values(): # 3 stars, 4 stars, 5 stars char_weapons.extend(i) + for i in info['artifact']: + char_artifacts.extend(i) + #char_artifacts = list(set(char_artifacts)) for weapon_name in char_weapons: if name in weapon_name: # fuzzy search char_weapon = weapons.get(weapon_name, []) char_weapon.append(char) weapons[weapon_name] = char_weapon + for artifact_name in char_artifacts: + if name in artifact_name: # fuzzy search + char_artifact = artifacts.get(artifact_name, []) + char_artifact.append(char) + char_artifact = list(set(char_artifact)) + artifacts[artifact_name] = char_artifact + im = [] if weapons: - im = [] + im.append('✨武器:') for k, v in weapons.items(): im.append(f'{"、".join(v)} 可能会用到【{k}】') - im = '\n'.join(im) - else: + if artifacts: + im.append('✨圣遗物:') + for k, v in artifacts.items(): + im.append(f'{"、".join(v)} 可能会用到【{k}】') + if im == []: im = '没有角色能使用【{}】'.format(name) - # print(im) + else: + im = '\n'.join(im) return im