2022-08-29 23:12:44 +08:00

76 lines
2.6 KiB
Python
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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 '没有找到角色信息'