mirror of
https://github.com/KimigaiiWuyi/GenshinUID.git
synced 2025-05-30 04:00:31 +08:00
76 lines
2.6 KiB
Python
76 lines
2.6 KiB
Python
import json
|
||
from pathlib import Path
|
||
|
||
with open(
|
||
Path(__file__).parent / 'char_adv_list.json', "r", encoding='UTF-8'
|
||
) as f:
|
||
adv_lst = json.load(f)
|
||
|
||
|
||
async def weapon_adv(name):
|
||
weapons = {}
|
||
artifacts = {}
|
||
for char, info in adv_lst.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.append('✨武器:')
|
||
for k, v in weapons.items():
|
||
im.append(f'{"、".join(v)} 可能会用到【{k}】')
|
||
if artifacts:
|
||
im.append('✨圣遗物:')
|
||
for k, v in artifacts.items():
|
||
im.append(f'{"、".join(v)} 可能会用到【{k}】')
|
||
if im == []:
|
||
im = '没有角色能使用【{}】'.format(name)
|
||
else:
|
||
im = '\n'.join(im)
|
||
return im
|
||
|
||
|
||
async def char_adv(name):
|
||
for char, info in adv_lst.items():
|
||
if name in char:
|
||
im = [f'「{char}」', '-=-=-=-=-=-=-=-=-=-']
|
||
if weapon_5 := info['weapon']['5']:
|
||
im.append(f'推荐5★武器:{"、".join(weapon_5)}')
|
||
if weapon_4 := info['weapon']['4']:
|
||
im.append(f'推荐4★武器:{"、".join(weapon_4)}')
|
||
if weapon_3 := info['weapon']['3']:
|
||
im.append(f'推荐3★武器:{"、".join(weapon_3)}')
|
||
if artifacts := info['artifact']:
|
||
im.append('推荐圣遗物搭配:')
|
||
for arti in artifacts:
|
||
if len(arti) > 1:
|
||
im.append(f'[{arti[0]}]两件套 + [{arti[1]}]两件套')
|
||
else:
|
||
im.append(f'[{arti[0]}]四件套')
|
||
if remark := info['remark']:
|
||
im.append('-=-=-=-=-=-=-=-=-=-')
|
||
im.append('备注:')
|
||
mark = "\n".join(remark)
|
||
im.append(f'{mark}')
|
||
return '\n'.join(im)
|
||
|
||
return '没有找到角色信息'
|