diff --git a/LittlePaimon/config/data/alias.json b/LittlePaimon/config/data/alias.json index 95e8716..a5ff5b5 100644 --- a/LittlePaimon/config/data/alias.json +++ b/LittlePaimon/config/data/alias.json @@ -271,8 +271,6 @@ "若水": [ "若水", "麒麟弓", - "Aqua", - "aqua" ], "昭心": [ "昭心", @@ -582,10 +580,12 @@ "黎明神剑" ], "黑岩刺枪": [ - "黑岩刺枪" + "黑岩刺枪", + "黑岩枪" ], "黑岩战弓": [ - "黑岩战弓" + "黑岩战弓", + "黑岩弓" ], "黑岩斩刀": [ "黑岩斩刀" @@ -636,6 +636,8 @@ ], "圣显之钥": [ "圣显之钥", + "圣显" + "不灭剑华", "妮露武器" ], "西福斯的月光": [ @@ -655,6 +657,16 @@ "玛海菈的水色", "玛海菈", "水色" + ], + "千夜浮梦": [ + "千夜浮梦", + "千夜", + "神灯", + "茶壶" + ], + "流浪的晚星": [ + "流浪的晚星", + "晚星" ] }, "圣遗物": { diff --git a/LittlePaimon/config/data/genshin_info.json b/LittlePaimon/config/data/genshin_info.json index f74b3b2..b174d33 100644 --- a/LittlePaimon/config/data/genshin_info.json +++ b/LittlePaimon/config/data/genshin_info.json @@ -1232,6 +1232,69 @@ "SideIconName": "UI_AvatarIcon_Side_Tighnari", "QualityType": "QUALITY_ORANGE" }, + "10000070": { + "Element": "Water", + "Consts": [ + "UI_Talent_S_Nilou_01", + "UI_Talent_S_Nilou_02", + "UI_Talent_U_Nilou_01", + "UI_Talent_S_Nilou_03", + "UI_Talent_U_Nilou_02", + "UI_Talent_S_Nilou_04" + ], + "SkillOrder": [10701, 10702, 10705], + "Skills": { + "10701": "Skill_A_01", + "10702": "Skill_S_Nilou_01", + "10705": "Skill_E_Nilou_01" + }, + "ProudMap": { "10701": 7031, "10702": 7032, "10705": 7039 }, + "NameTextMapHash": 3850149970, + "SideIconName": "UI_AvatarIcon_Side_Nilou", + "QualityType": "QUALITY_ORANGE" + }, + "10000071": { + "Element": "Electric", + "Consts": [ + "UI_Talent_S_Cyno_01", + "UI_Talent_S_Cyno_02", + "UI_Talent_U_Cyno_01", + "UI_Talent_S_Cyno_03", + "UI_Talent_U_Cyno_02", + "UI_Talent_S_Cyno_04" + ], + "SkillOrder": [10711, 10712, 10715], + "Skills": { + "10711": "Skill_A_03", + "10712": "Skill_S_Cyno_01", + "10715": "Skill_E_Cyno_01" + }, + "ProudMap": { "10711": 7131, "10712": 7132, "10715": 7139 }, + "NameTextMapHash": 1049891906, + "SideIconName": "UI_AvatarIcon_Side_Cyno", + "QualityType": "QUALITY_ORANGE" + }, + "10000072": { + "Element": "Water", + "Consts": [ + "UI_Talent_S_Candace_01", + "UI_Talent_S_Candace_02", + "UI_Talent_U_Candace_01", + "UI_Talent_S_Candace_03", + "UI_Talent_U_Candace_02", + "UI_Talent_S_Candace_04" + ], + "SkillOrder": [10721, 10722, 10725], + "Skills": { + "10721": "Skill_A_03", + "10722": "Skill_S_Candace_01", + "10725": "Skill_E_Candace_01" + }, + "ProudMap": { "10721": 7231, "10722": 7232, "10725": 7239 }, + "NameTextMapHash": 3092975658, + "SideIconName": "UI_AvatarIcon_Side_Candace", + "QualityType": "QUALITY_PURPLE" + }, "10000005-501": { "Element": "None", "Consts": ["None", "None", "None", "None", "None", "None"], diff --git a/LittlePaimon/plugins/Paimon_Autobbs/coin_handle.py b/LittlePaimon/plugins/Paimon_Autobbs/coin_handle.py index 6b578d5..1815739 100644 --- a/LittlePaimon/plugins/Paimon_Autobbs/coin_handle.py +++ b/LittlePaimon/plugins/Paimon_Autobbs/coin_handle.py @@ -202,13 +202,13 @@ class MihoyoBBSCoin: req = await aiorequests.post(url=bbs_Signurl, json={'gids': i['id']}, headers=header) data = req.json() if data['retcode'] != 0: - if data['retcode'] not in [1034]: + if data['retcode'] != 1034: self.is_valid = False self.state = 'Cookie已失效' if data['retcode'] in [-100, 10001] else f"出错了:{data['retcode']} {data['message']}" logger.info('米游币自动获取', f'➤➤{self.state}') return f'讨论区签到:{self.state}' - await asyncio.sleep(random.randint(5, 10)) + await asyncio.sleep(random.randint(15, 30)) logger.info('米游币自动获取', '➤➤讨论区签到完成') return '讨论区签到:完成!' diff --git a/LittlePaimon/plugins/Paimon_Autobbs/sign_handle.py b/LittlePaimon/plugins/Paimon_Autobbs/sign_handle.py index ce410f5..e79b237 100644 --- a/LittlePaimon/plugins/Paimon_Autobbs/sign_handle.py +++ b/LittlePaimon/plugins/Paimon_Autobbs/sign_handle.py @@ -100,10 +100,10 @@ async def mhy_bbs_sign(user_id: str, uid: str) -> Tuple[SignResult, str]: signed_days = sign_info['data']['total_sign_day'] return SignResult.SUCCESS, f'签到成功,获得的奖励为\n{sign_reward_list[signed_days]["name"]}*{sign_reward_list[signed_days]["cnt"]}' else: - wait_time = random.randint(45, 60) + wait_time = random.randint(90, 120) logger.info('米游社原神签到', '➤', {'用户': user_id, 'UID': uid}, f'出现验证码,等待{wait_time}秒后进行第{i + 1}次尝试绕过', False) await asyncio.sleep(wait_time) - logger.info('米游社原神签到', '➤', {'用户': user_id, 'UID': uid}, '尝试6次签到失败,无法绕过验证码', False) + logger.info('米游社原神签到', '➤', {'用户': user_id, 'UID': uid}, '尝试3次签到失败,无法绕过验证码', False) return SignResult.FAIL, f'{uid}签到失败,无法绕过验证码' @@ -144,9 +144,9 @@ async def bbs_auto_sign(): 'reward': msg.split('\n')[-1] if result in [SignResult.SUCCESS, SignResult.DONE] else '' }) if result == SignResult.DONE: - await asyncio.sleep(random.randint(3, 8)) + await asyncio.sleep(random.randint(5, 10)) else: - await asyncio.sleep(random.randint(45, 60)) + await asyncio.sleep(random.randint(60, 90)) for group_id, sign_result in sign_result_group.items(): # 发送签到结果到群 diff --git a/LittlePaimon/plugins/Paimon_Gacha_Log/draw.py b/LittlePaimon/plugins/Paimon_Gacha_Log/draw.py index 7c2d60c..5acdd51 100644 --- a/LittlePaimon/plugins/Paimon_Gacha_Log/draw.py +++ b/LittlePaimon/plugins/Paimon_Gacha_Log/draw.py @@ -39,9 +39,12 @@ async def small_avatar(info: FiveStarItem): if info.name in small_avatar_cache: return small_avatar_cache[info.name] bg = PMImage(await load_image(RESOURCE_BASE_PATH / 'gacha_log' / 'small_circle.png')) - img = PMImage( - await load_image(RESOURCE_BASE_PATH / ('avatar' if info.type == '角色' else 'weapon') / f'{info.icon}.png', - size=(42, 42))) + if info.icon: + img = PMImage( + await load_image(RESOURCE_BASE_PATH / ('avatar' if info.type == '角色' else 'weapon') / f'{info.icon}.png', + size=(42, 42))) + else: + img = PMImage(size=(42, 42), color=(255, 255, 255, 0)) await img.to_circle('circle') await bg.paste(img.image, (2, 2)) small_avatar_cache[info.name] = bg @@ -50,9 +53,12 @@ async def small_avatar(info: FiveStarItem): async def detail_avatar(info: FiveStarItem): bg = PMImage(await load_image(RESOURCE_BASE_PATH / 'gacha_log' / 'item_avatar_5.png')) - img = PMImage( - await load_image(RESOURCE_BASE_PATH / ('avatar' if info.type == '角色' else 'weapon') / f'{info.icon}.png', - size=(123, 123))) + if info.icon: + img = PMImage( + await load_image(RESOURCE_BASE_PATH / ('avatar' if info.type == '角色' else 'weapon') / f'{info.icon}.png', + size=(123, 123))) + else: + img = PMImage(size=(123, 123), color=(255, 255, 255, 0)) await bg.paste(img, (14, 14)) await bg.text(info.name, (0, bg.width), 140, fm.get('hywh', 24), '#33231a', 'center') diff --git a/LittlePaimon/plugins/Paimon_Gacha_Log/models.py b/LittlePaimon/plugins/Paimon_Gacha_Log/models.py index 7df542f..72cd4c3 100644 --- a/LittlePaimon/plugins/Paimon_Gacha_Log/models.py +++ b/LittlePaimon/plugins/Paimon_Gacha_Log/models.py @@ -1,5 +1,5 @@ import datetime -from typing import List, Dict, Union, Tuple +from typing import List, Dict, Tuple, Optional from pydantic import BaseModel from LittlePaimon.utils.alias import get_chara_icon, get_weapon_icon @@ -8,14 +8,14 @@ GACHA_TYPE_LIST = {'100': '新手祈愿', '200': '常驻祈愿', '302': '武器 class FiveStarItem(BaseModel): name: str - icon: str + icon: Optional[str] count: int type: str class FourStarItem(BaseModel): name: str - icon: str + icon: Optional[str] type: str num: Dict[str, int] = { '角色祈愿': 0, diff --git a/LittlePaimon/utils/alias.py b/LittlePaimon/utils/alias.py index 3cb5c52..0396619 100644 --- a/LittlePaimon/utils/alias.py +++ b/LittlePaimon/utils/alias.py @@ -94,12 +94,6 @@ def get_chara_icon(name: Optional[str] = None, chara_id: Optional[int] = None, chara_id = get_id_by_name(name) if info := info_file.get(str(chara_id)): side_icon = info['SideIconName'] - elif str(chara_id) == '10000070': - side_icon = 'UI_AvatarIcon_Side_Nilou' - elif str(chara_id) == '10000071': - side_icon = 'UI_AvatarIcon_Side_Cyno' - elif str(chara_id) == '10000072': - side_icon = 'UI_AvatarIcon_Side_Candace' else: return None if icon_type == 'side': diff --git a/LittlePaimon/utils/requests.py b/LittlePaimon/utils/requests.py index 18fa2b4..d62555a 100644 --- a/LittlePaimon/utils/requests.py +++ b/LittlePaimon/utils/requests.py @@ -159,7 +159,7 @@ class aiorequests: :param save_path: 保存路径 """ urls = [ - f'https://file.minigg.icu/genshin/ui/{name}', + f'https://file.microgg.cn/MiniGG/ui/{name}', f'https://api.ambr.top/assets/UI/{name}', f'https://enka.network/ui/{name}' ]