mirror of
https://github.com/KimigaiiWuyi/GenshinUID.git
synced 2025-05-31 04:30:29 +08:00
支持通过uid方式查询其他玩家的展柜信息
This commit is contained in:
parent
ce3c1e7b07
commit
86b95f0891
@ -901,7 +901,7 @@ async def send_uid_info(bot: HoshinoBot, ev: CQEvent):
|
||||
except Exception as e:
|
||||
await bot.send(ev, '获取失败,有可能是数据状态有问题,\n{}\n请检查后台输出。'.format(e))
|
||||
logger.exception('上期深渊数据获取失败(数据状态问题)')
|
||||
else:
|
||||
elif m == '':
|
||||
try:
|
||||
im = await draw_pic(uid, ev.sender['nickname'], image, 2)
|
||||
if im.startswith('base64://'):
|
||||
@ -917,6 +917,50 @@ async def send_uid_info(bot: HoshinoBot, ev: CQEvent):
|
||||
except Exception as e:
|
||||
await bot.send(ev, '获取失败,有可能是数据状态有问题,\n{}\n请检查后台输出。'.format(e))
|
||||
logger.exception('数据获取失败(数据状态问题)')
|
||||
else:
|
||||
try:
|
||||
if m == '展柜角色':
|
||||
uid_fold = R_PATH / 'enkaToData' / 'player' / str(uid)
|
||||
char_file_list = uid_fold.glob('*')
|
||||
char_list = []
|
||||
for i in char_file_list:
|
||||
file_name = str(i).split('/')[-1]
|
||||
if '\u4e00' <= file_name[0] <= '\u9fff':
|
||||
char_list.append(file_name.split('.')[0])
|
||||
char_list_str = ','.join(char_list)
|
||||
await bot.send(ev, f'UID{uid}当前缓存角色:{char_list_str}', at_sender=True)
|
||||
else:
|
||||
char_name = m
|
||||
with open(os.path.join(INDEX_PATH, 'char_alias.json'),
|
||||
'r',
|
||||
encoding='utf8') as fp:
|
||||
char_data = json.load(fp)
|
||||
for i in char_data:
|
||||
if char_name in i:
|
||||
char_name = i
|
||||
else:
|
||||
for k in char_data[i]:
|
||||
if char_name in k:
|
||||
char_name = i
|
||||
|
||||
with open(R_PATH / 'enkaToData' / 'player' / str(uid) / f'{char_name}.json',
|
||||
'r',
|
||||
encoding='utf8') as fp:
|
||||
raw_data = json.load(fp)
|
||||
im = await draw_char_card(raw_data, image)
|
||||
await bot.send(ev, MessageSegment.image(im), at_sender=True)
|
||||
except FileNotFoundError:
|
||||
await bot.send(ev, f'你还没有{m}的缓存噢!\n请先使用【强制刷新】命令来缓存数据!\n或者使用【查询展柜角色】命令查看已缓存角色!', at_sender=True)
|
||||
logger.exception('获取信息失败,你可以使用强制刷新命令进行刷新。')
|
||||
except ActionFailed as e:
|
||||
await bot.send(ev, '机器人发送消息失败:{}'.format(e))
|
||||
logger.exception('发送uid信息失败')
|
||||
except TypeError:
|
||||
await bot.send(ev, '获取失败,可能是Cookies失效或者未打开米游社角色详情开关。')
|
||||
logger.exception('数据获取失败(Cookie失效/不公开信息)')
|
||||
except Exception as e:
|
||||
await bot.send(ev, '获取失败,有可能是数据状态有问题,\n{}\n请检查后台输出。'.format(e))
|
||||
logger.exception('数据获取失败(数据状态问题)')
|
||||
except Exception as e:
|
||||
await bot.send(ev, '发生错误 {},请检查后台输出。'.format(e))
|
||||
logger.exception('uid查询异常')
|
||||
|
Loading…
x
Reference in New Issue
Block a user