diff --git a/ArknightsUID/arknightsuid_ap/draw_ap_card.py b/ArknightsUID/arknightsuid_ap/draw_ap_card.py index 6b98a57..230bb7d 100644 --- a/ArknightsUID/arknightsuid_ap/draw_ap_card.py +++ b/ArknightsUID/arknightsuid_ap/draw_ap_card.py @@ -54,7 +54,9 @@ async def get_ap_img(bot_id: str, user_id: str): # 开始绘图任务 task = [] img = Image.new( - "RGBA", (based_w * len(useable_uid_list), based_h), (0, 0, 0, 0) + "RGBA", + (based_w * len(useable_uid_list), based_h), + (0, 0, 0, 0), ) for uid_index, uid in enumerate(useable_uid_list): task.append(_draw_all_ap_img(img, uid, uid_index)) @@ -97,9 +99,7 @@ def get_error(img: Image.Image, uid: str, daily_data: int): async def draw_ap_img(uid: str) -> Image.Image: # char char_pic = ( - Image.open(TEXT_PATH / "char_1028_texas2_1b.png") - .resize((1700, 1700)) - .convert("RGBA") + Image.open(TEXT_PATH / "char_1028_texas2_1b.png").resize((1700, 1700)).convert("RGBA") ) tmp_img = Image.new("RGBA", (based_w, based_h)) diff --git a/ArknightsUID/arknightsuid_config/config_default.py b/ArknightsUID/arknightsuid_config/config_default.py index 1c66fa2..99787c5 100644 --- a/ArknightsUID/arknightsuid_config/config_default.py +++ b/ArknightsUID/arknightsuid_config/config_default.py @@ -7,9 +7,7 @@ from gsuid_core.utils.plugins_config.models import ( ) CONIFG_DEFAULT: Dict[str, GSC] = { - "SignTime": GsListStrConfig( - "每晚签到时间设置", "每晚森空岛签到时间设置(时,分)", ["0", "38"] - ), + "SignTime": GsListStrConfig("每晚签到时间设置", "每晚森空岛签到时间设置(时,分)", ["0", "38"]), "SignReportSimple": GsBoolConfig( "简洁签到报告", "开启后可以大大减少每日签到报告字数", diff --git a/ArknightsUID/arknightsuid_help/get_help.py b/ArknightsUID/arknightsuid_help/get_help.py index fe921a4..24f8fd4 100644 --- a/ArknightsUID/arknightsuid_help/get_help.py +++ b/ArknightsUID/arknightsuid_help/get_help.py @@ -43,8 +43,7 @@ async def get_core_help() -> Union[bytes, str]: Image.open(TEXT_PATH / "button.png"), source_han_sans_cn_origin, extra_message=[ - f"Client Version:{Arknights_Client_version} " - f" Res version: {Arknights_Res_version}" + f"Client Version:{Arknights_Client_version} " f" Res version: {Arknights_Res_version}" ], ) return img diff --git a/ArknightsUID/arknightsuid_login/__init__.py b/ArknightsUID/arknightsuid_login/__init__.py index 6bde48c..fe14f2e 100644 --- a/ArknightsUID/arknightsuid_login/__init__.py +++ b/ArknightsUID/arknightsuid_login/__init__.py @@ -25,8 +25,7 @@ async def get_resp_msg(bot: Bot, ev: Event): if not phone_number.isdigit(): return await bot.send("你输入了错误的格式!") resp = await bot.receive_resp( - f"请确认你的手机号码: {phone_number}." - "如果正确请回复'确认', 其他任何回复将取消本次操作." + f"请确认你的手机号码: {phone_number}." "如果正确请回复'确认', 其他任何回复将取消本次操作." ) if resp is not None and resp.text == "确认": login = SklandLogin(phone_number) diff --git a/ArknightsUID/arknightsuid_resource/constants.py b/ArknightsUID/arknightsuid_resource/constants.py index f5526cc..da987e5 100644 --- a/ArknightsUID/arknightsuid_resource/constants.py +++ b/ArknightsUID/arknightsuid_resource/constants.py @@ -26,7 +26,6 @@ from ..utils.models.gamedata.GamedataConst import GamedataConst from ..utils.models.gamedata.HandbookInfoTable import HandbookInfoTable from ..utils.models.gamedata.HandbookTable import HandbookTable from ..utils.models.gamedata.HandbookTeamTable import HandbookTeamTable -from ..utils.models.gamedata.ItemTable import ItemTable from ..utils.models.gamedata.MedalTable import MedalTable from ..utils.models.gamedata.MissionTable import MissionTable from ..utils.models.gamedata.OpenServerTable import OpenServerTable @@ -37,7 +36,6 @@ from ..utils.models.gamedata.RetroTable import RetroTable from ..utils.models.gamedata.RoguelikeTable import RoguelikeTable from ..utils.models.gamedata.RoguelikeTopicTable import RoguelikeTopicTable from ..utils.models.gamedata.SandboxTable import SandboxTable -from ..utils.models.gamedata.SandboxPermTable import SandboxPermTable from ..utils.models.gamedata.ShopClientTable import ShopClientTable from ..utils.models.gamedata.SkillTable import SkillTable from ..utils.models.gamedata.SkinTable import SkinTable @@ -66,9 +64,8 @@ def read_json(file_path: Path, **kwargs) -> dict: logger.error(f"Error reading JSON file: {e}") return {} -threading.Thread( - target=lambda: asyncio.run(download_all_resource()), daemon=True -).start() + +threading.Thread(target=lambda: asyncio.run(download_all_resource()), daemon=True).start() # ACTIVITY_TABLE = ActivityTable.convert(read_json(GAMEDATA_PATH / 'activity_table.json')) # AUDIO_DATA = AudioData.convert(read_json(GAMEDATA_PATH / 'audio_data.json')) @@ -84,23 +81,15 @@ CHAPTER_TABLE = ChapterTable.convert( CHARACTER_TABLE = CharacterTable.convert( {"chars": read_json(GAMEDATA_PATH / "character_table.json")} ) -CHAR_META_TABLE = CharMetaTable.convert( - read_json(GAMEDATA_PATH / "char_meta_table.json") -) +CHAR_META_TABLE = CharMetaTable.convert(read_json(GAMEDATA_PATH / "char_meta_table.json")) CHARM_TABLE = CharmTable.convert(read_json(GAMEDATA_PATH / "charm_table.json")) -CHAR_PATH_TABLE = CharPatchTable.convert( - read_json(GAMEDATA_PATH / "char_patch_table.json") -) +CHAR_PATH_TABLE = CharPatchTable.convert(read_json(GAMEDATA_PATH / "char_patch_table.json")) CHARWORD_TABLE = CharwordTable.convert(read_json(GAMEDATA_PATH / "charword_table.json")) CHECKIN_TABLE = CheckinTable.convert(read_json(GAMEDATA_PATH / "checkin_table.json")) -CLIMB_TOWER_TABLE = ClimbTowerTable.convert( - read_json(GAMEDATA_PATH / "climb_tower_table.json") -) +CLIMB_TOWER_TABLE = ClimbTowerTable.convert(read_json(GAMEDATA_PATH / "climb_tower_table.json")) CLUE_DATA = ClueData.convert(read_json(GAMEDATA_PATH / "clue_data.json")) CRISIS_TABLE = CrisisTable.convert(read_json(GAMEDATA_PATH / "crisis_table.json")) -CRISIS_V2_TABLE = CrisisV2Table.convert( - read_json(GAMEDATA_PATH / "crisis_v2_table.json") -) +CRISIS_V2_TABLE = CrisisV2Table.convert(read_json(GAMEDATA_PATH / "crisis_v2_table.json")) # DISPLAY_META_TABLE = DisplayMetaTable.convert(read_json(GAMEDATA_PATH / 'display_meta_table.json')) @@ -126,38 +115,28 @@ HANDBOOK_TEAM_TABLE = HandbookTeamTable.convert( MEDAL_TABLE = MedalTable.convert(read_json(GAMEDATA_PATH / "medal_table.json")) MISSION_TABLE = MissionTable.convert(read_json(GAMEDATA_PATH / "mission_table.json")) -OPEN_SERVER_TABLE = OpenServerTable.convert( - read_json(GAMEDATA_PATH / "open_server_table.json") -) +OPEN_SERVER_TABLE = OpenServerTable.convert(read_json(GAMEDATA_PATH / "open_server_table.json")) PLAYER_AVATAR_TABLE = PlayerAvatarTable.convert( read_json(GAMEDATA_PATH / "player_avatar_table.json") ) -RANGE_TABLE = RangeTable.convert( - {"range_": read_json(GAMEDATA_PATH / "range_table.json")} -) +RANGE_TABLE = RangeTable.convert({"range_": read_json(GAMEDATA_PATH / "range_table.json")}) REPLICATE_TABLE = ReplicateTable.convert( {"replicate": read_json(GAMEDATA_PATH / "replicate_table.json")} ) RETRO_TABLE = RetroTable.convert(read_json(GAMEDATA_PATH / "retro_table.json")) -ROGUELIKE_TABLE = RoguelikeTable.convert( - read_json(GAMEDATA_PATH / "roguelike_table.json") -) +ROGUELIKE_TABLE = RoguelikeTable.convert(read_json(GAMEDATA_PATH / "roguelike_table.json")) ROGUELIKE_TOPIC_TABLE = RoguelikeTopicTable.convert( read_json(GAMEDATA_PATH / "roguelike_topic_table.json") ) SANDBOX_TABLE = SandboxTable.convert(read_json(GAMEDATA_PATH / "sandbox_table.json")) -SANDBOX_PERM_TABLE = SandboxPermTable.convert( - read_json(GAMEDATA_PATH / "sandbox_perm_table.json") -) -SHOP_CLIENT_TABLE = ShopClientTable.convert( - read_json(GAMEDATA_PATH / "shop_client_table.json") -) -SKILL_TABLE = SkillTable.convert( - {"skills": read_json(GAMEDATA_PATH / "skill_table.json")} -) +# SANDBOX_PERM_TABLE = SandboxPermTable.convert( +# read_json(GAMEDATA_PATH / "sandbox_perm_table.json") +# ) +SHOP_CLIENT_TABLE = ShopClientTable.convert(read_json(GAMEDATA_PATH / "shop_client_table.json")) +SKILL_TABLE = SkillTable.convert({"skills": read_json(GAMEDATA_PATH / "skill_table.json")}) SKIN_TABLE = SkinTable.convert(read_json(GAMEDATA_PATH / "skin_table.json")) STAGE_TABLE = StageTable.convert(read_json(GAMEDATA_PATH / "stage_table.json")) STORY_REVIEW_META_TABLE = StoryReviewMetaTable.convert( @@ -166,17 +145,11 @@ STORY_REVIEW_META_TABLE = StoryReviewMetaTable.convert( STORY_REVIEW_TABLE = StoryReviewTable.convert( {"storyreviewtable": read_json(GAMEDATA_PATH / "story_review_table.json")} ) -STORY_TABLE = StoryTable.convert( - {"stories": read_json(GAMEDATA_PATH / "story_table.json")} -) +STORY_TABLE = StoryTable.convert({"stories": read_json(GAMEDATA_PATH / "story_table.json")}) -TECH_BUFF_TABLE = TechBuffTable.convert( - read_json(GAMEDATA_PATH / "tech_buff_table.json") -) +TECH_BUFF_TABLE = TechBuffTable.convert(read_json(GAMEDATA_PATH / "tech_buff_table.json")) TIP_TABLE = TipTable.convert(read_json(GAMEDATA_PATH / "tip_table.json")) -TOKEN_TABLE = TokenTable.convert( - {"tokens": read_json(GAMEDATA_PATH / "token_table.json")} -) +TOKEN_TABLE = TokenTable.convert({"tokens": read_json(GAMEDATA_PATH / "token_table.json")}) UNIEQUIP_DATA = UniequipData.convert(read_json(GAMEDATA_PATH / "uniequip_data.json")) UNIEQUIP_TABLE = UniEquipTable.convert(read_json(GAMEDATA_PATH / "uniequip_table.json")) diff --git a/ArknightsUID/arknightsuid_roleinfo/draw_roleinfo_card.py b/ArknightsUID/arknightsuid_roleinfo/draw_roleinfo_card.py index b616739..c9822e6 100644 --- a/ArknightsUID/arknightsuid_roleinfo/draw_roleinfo_card.py +++ b/ArknightsUID/arknightsuid_roleinfo/draw_roleinfo_card.py @@ -34,9 +34,7 @@ async def get_role_img(uid: str): secretary_skinId = secretary.skinId.replace("@", "_") secretary_char_img = ( - Image.open(SKINPACK_PATH / f"{secretary_skinId}b.png") - .resize((768, 768)) - .convert("RGBA") + Image.open(SKINPACK_PATH / f"{secretary_skinId}b.png").resize((768, 768)).convert("RGBA") ) char_info.paste(secretary_char_img, (0, -20), secretary_char_img) diff --git a/ArknightsUID/arknightsuid_signin/sign.py b/ArknightsUID/arknightsuid_signin/sign.py index 5d839c4..9a30618 100644 --- a/ArknightsUID/arknightsuid_signin/sign.py +++ b/ArknightsUID/arknightsuid_signin/sign.py @@ -73,9 +73,7 @@ async def sign_in(ark_uid: str) -> str: count += 1 sign_missed = day_of_month - count + special_count im = f"ark签到成功!\n{get_im}\n本月漏签次数:{sign_missed}" - logger.info( - f"[ARK签到] {ark_uid} 签到完成, 结果: ark签到成功, 漏签次数: {sign_missed}" - ) + logger.info(f"[ARK签到] {ark_uid} 签到完成, 结果: ark签到成功, 漏签次数: {sign_missed}") return im @@ -134,9 +132,7 @@ async def daily_sign(): delay = 1 else: delay = 50 + random.randint(3, 45) - logger.info( - f"[ARK签到] 已签到{len(tasks)}个用户, 等待{delay}秒进行下一次签到" - ) + logger.info(f"[ARK签到] 已签到{len(tasks)}个用户, 等待{delay}秒进行下一次签到") tasks.clear() already = 0 await asyncio.sleep(delay) diff --git a/ArknightsUID/arknightsuid_user/deal_skd_cred.py b/ArknightsUID/arknightsuid_user/deal_skd_cred.py index 27f4900..fbbd850 100644 --- a/ArknightsUID/arknightsuid_user/deal_skd_cred.py +++ b/ArknightsUID/arknightsuid_user/deal_skd_cred.py @@ -3,7 +3,9 @@ import re from ..utils.ark_api import ark_skd_api from ..utils.database.models import ArknightsBind, ArknightsPush, ArknightsUser -ERROR_HINT = "添加失败, 格式为: skd添加cred Cred 例如: skd添加cred VropL583Sb1hClS5buQ4nSASkDlL8tMT" +ERROR_HINT = ( + "添加失败, 格式为: skd添加cred Cred 例如: skd添加cred VropL583Sb1hClS5buQ4nSASkDlL8tMT" +) UID_HINT = "添加失败, 请先绑定明日方舟UID" diff --git a/ArknightsUID/arknightsuid_wiki/__init__.py b/ArknightsUID/arknightsuid_wiki/__init__.py index f1853a1..925b66b 100644 --- a/ArknightsUID/arknightsuid_wiki/__init__.py +++ b/ArknightsUID/arknightsuid_wiki/__init__.py @@ -26,7 +26,13 @@ async def text2pic(text: str, max_size: int = 800, font_size: int = 20): img = Image.new("RGB", (max_size, len(text) * font_size // 5), (228, 222, 210)) img_draw = ImageDraw.ImageDraw(img) y = draw_center_text_by_line( - img_draw, (25, 0), text, sans_font_20, "black", 750, True + img_draw, + (25, 0), + text, + sans_font_20, + "black", + 750, + True, ) img = img.crop((0, 0, 800, int(y + 30))) return await convert_img(img) diff --git a/ArknightsUID/arknightsuid_wiki/draw_wiki_img.py b/ArknightsUID/arknightsuid_wiki/draw_wiki_img.py index 6bdb0d2..4526f1e 100644 --- a/ArknightsUID/arknightsuid_wiki/draw_wiki_img.py +++ b/ArknightsUID/arknightsuid_wiki/draw_wiki_img.py @@ -172,15 +172,11 @@ async def get_equip_info(char_id: str): for blackboard_ in blackboard: blackboard_dict[blackboard_.key] = blackboard_.value if additionalDescription: - additionalDescription = re.sub( - r"<[^>]+>", "", additionalDescription - ) + additionalDescription = re.sub(r"<[^>]+>", "", additionalDescription) additionalDescription = render_template( additionalDescription, blackboard_dict ) - additionalDescription = re.sub( - r".000000", "", additionalDescription - ) + additionalDescription = re.sub(r".000000", "", additionalDescription) im += f"{additionalDescription}\n" elif target == "TALENT_DATA_ONLY": @@ -192,9 +188,7 @@ async def get_equip_info(char_id: str): upgradeDescription = candidate.upgradeDescription blackboard = candidate.blackboard if upgradeDescription and blackboard: - upgradeDescription = re.sub( - r"<[^>]+>", "", upgradeDescription - ) + upgradeDescription = re.sub(r"<[^>]+>", "", upgradeDescription) im += f"{upgradeDescription}\n" elif target == "DISPLAY": @@ -207,15 +201,11 @@ async def get_equip_info(char_id: str): for blackboard_ in blackboard: blackboard_dict[blackboard_.key] = blackboard_.value if additionalDescription and blackboard: - additionalDescription = re.sub( - r"<[^>]+>", "", additionalDescription - ) + additionalDescription = re.sub(r"<[^>]+>", "", additionalDescription) additionalDescription = render_template( additionalDescription, blackboard_dict ) - additionalDescription = re.sub( - r".000000", "", additionalDescription - ) + additionalDescription = re.sub(r".000000", "", additionalDescription) im += f"{additionalDescription}\n" elif target == "TALENT": @@ -226,9 +216,7 @@ async def get_equip_info(char_id: str): if upgradeDescription == "": continue else: - upgradeDescription = re.sub( - r"<[^>]+>", "", upgradeDescription - ) + upgradeDescription = re.sub(r"<[^>]+>", "", upgradeDescription) im += f"{upgradeDescription}\n" elif target == "TRAIT_DATA_ONLY": @@ -241,9 +229,7 @@ async def get_equip_info(char_id: str): for blackboard_ in blackboard: blackboard_dict[blackboard_.key] = blackboard_.value if overrideDescripton and blackboard: - overrideDescripton = re.sub( - r"<[^>]+>", "", overrideDescripton - ) + overrideDescripton = re.sub(r"<[^>]+>", "", overrideDescripton) overrideDescripton = render_template( overrideDescripton, blackboard_dict ) @@ -302,9 +288,7 @@ async def get_wiki_info(char_id: str): char_talent_name = talent_candidates[-1].name char_talent_description = talent_candidates[-1].description if char_talent_description: - char_talent_description = re.sub( - r"<[^>]+>", "", char_talent_description - ) + char_talent_description = re.sub(r"<[^>]+>", "", char_talent_description) im += f"{char_talent_name}: {char_talent_description}\n" char_potential_data = character_data.potentialRanks @@ -384,9 +368,9 @@ async def get_wiki_info(char_id: str): if skill_description: skill_description = skill_description.replace(":0.0", "") skill_description = re.sub(r"<[^>]+>", "", skill_description) - skill_description = render_template( - skill_description, black_board_dict - ).replace("--", "-") + skill_description = render_template(skill_description, black_board_dict).replace( + "--", "-" + ) last_skill_description = re.sub(r".000000", "", skill_description) if "{" in last_skill_description: raise NotImplementedError @@ -668,9 +652,9 @@ async def draw_wiki(char_id: str): black_board_dict[black_board.key] = black_board.value if skill_description: skill_description = re.sub(r"<[^>]+>", "", skill_description) - skill_description = render_template( - skill_description, black_board_dict - ).replace("--", "-") + skill_description = render_template(skill_description, black_board_dict).replace( + "--", "-" + ) last_skill_description = re.sub(r".000000", "", skill_description) if "{" in last_skill_description: raise NotImplementedError diff --git a/ArknightsUID/utils/api/skd/request.py b/ArknightsUID/utils/api/skd/request.py index af1914e..58cfd26 100644 --- a/ArknightsUID/utils/api/skd/request.py +++ b/ArknightsUID/utils/api/skd/request.py @@ -52,7 +52,9 @@ class BaseArkApi: proxy_url: Union[str, None] = proxy_url if proxy_url else None async def _pass( - self, gt: str, ch: str + self, + gt: str, + ch: str, ) -> Tuple[Union[str, None], Union[str, None]]: _pass_api = core_plugins_config.get_config("_pass_API").data if _pass_api: @@ -71,10 +73,12 @@ class BaseArkApi: return validate, ch async def get_game_player_info( - self, uid: str + self, + uid: str, ) -> Union[int, ArknightsPlayerInfoModel]: cred: Union[str, None] = await ArknightsUser.get_user_attr_by_uid( - uid=uid, attr="cred" + uid=uid, + attr="cred", ) if cred is None: return -60 @@ -102,7 +106,8 @@ class BaseArkApi: async def skd_sign(self, uid: str) -> Union[int, ArknightsAttendanceModel]: cred: Union[str, None] = await ArknightsUser.get_user_attr_by_uid( - uid=uid, attr="cred" + uid=uid, + attr="cred", ) if cred is None: return -60 @@ -137,10 +142,12 @@ class BaseArkApi: return msgspec.convert(unpack_data, ArknightsAttendanceModel) async def get_sign_info( - self, uid: str + self, + uid: str, ) -> Union[int, ArknightsAttendanceCalendarModel]: cred: Union[str, None] = await ArknightsUser.get_user_attr_by_uid( - uid=uid, attr="cred" + uid=uid, + attr="cred", ) if cred is None: return -60 @@ -187,7 +194,10 @@ class BaseArkApi: cred = ( cred if cred - else await ArknightsUser.get_user_attr_by_uid(uid=uid, attr="cred") + else await ArknightsUser.get_user_attr_by_uid( + uid=uid, + attr="cred", + ) ) header = deepcopy(_HEADER) if cred is None: @@ -222,7 +232,9 @@ class BaseArkApi: uid = await ArknightsUser.get_uid_by_cred(cred) if uid is not None: await ArknightsUser.update_user_attr_by_uid( - uid=uid, attr="token", value=token + uid=uid, + attr="token", + value=token, ) return token @@ -263,12 +275,7 @@ class BaseArkApi: raise Exception("token is None") encode_token = token.encode("utf-8") hex_s = hmac.new(encode_token, str2.encode("utf-8"), hashlib.sha256).hexdigest() - sign = ( - hashlib.md5(hex_s.encode("utf-8")) - .hexdigest() - .encode("utf-8") - .decode("utf-8") - ) + sign = hashlib.md5(hex_s.encode("utf-8")).hexdigest().encode("utf-8").decode("utf-8") header["sign"] = sign header["timestamp"] = timestamp header["dId"] = dId @@ -317,7 +324,7 @@ class BaseArkApi: use_proxy: Union[bool, None] = False, ) -> Union[Dict, Union[int, None]]: async with ClientSession( - connector=TCPConnector(verify_ssl=ssl_verify) + connector=TCPConnector(verify_ssl=ssl_verify), ) as client: raw_data = {} if "cred" not in header: diff --git a/ArknightsUID/utils/database/models.py b/ArknightsUID/utils/database/models.py index 825016d..36d2b5a 100644 --- a/ArknightsUID/utils/database/models.py +++ b/ArknightsUID/utils/database/models.py @@ -40,9 +40,7 @@ class ArknightsUser(User, table=True): @classmethod @with_session - async def get_all_user( - cls: Type[T_ARK_User], session: AsyncSession - ) -> Sequence[T_ARK_User]: + async def get_all_user(cls: Type[T_ARK_User], session: AsyncSession) -> Sequence[T_ARK_User]: sql = select(cls).where(cls.cred is not None, cls.cred != "") result = await session.execute(sql) data: Sequence[T_ARK_User] = result.scalars().all() @@ -88,13 +86,9 @@ class ArknightsPush(Push, table=True): ap_is_push: Union[bool, None] = Field(default=False, title="理智是否已经推送") training_push: Union[bool, None] = Field(default=False, title="训练室推送") training_value: Union[int, None] = Field(default=30, title="训练室推送阈值") - training_is_push: Union[bool, None] = Field( - default=False, title="训练室是否已经推送" - ) + training_is_push: Union[bool, None] = Field(default=False, title="训练室是否已经推送") version_push: Union[bool, None] = Field(default=False, title="版本更新推送") - version_is_push: Union[bool, None] = Field( - default=False, title="版本更新是否已经推送" - ) + version_is_push: Union[bool, None] = Field(default=False, title="版本更新是否已经推送") @classmethod async def insert_push_data(cls, bot_id: str, uid: str, skd_uid: str): @@ -144,9 +138,7 @@ class ArknightsPush(Push, table=True): await cls.update_push_data(uid, {f"{mode}_is_push": status}) @classmethod - async def select_push_data( - cls: Type[T_BaseIDModel], uid: str - ) -> Union[T_BaseIDModel, None]: + async def select_push_data(cls: Type[T_BaseIDModel], uid: str) -> Union[T_BaseIDModel, None]: return await cls.base_select_data(uid=uid) @classmethod diff --git a/ArknightsUID/utils/models/gamedata/BuildingData.py b/ArknightsUID/utils/models/gamedata/BuildingData.py index d7237a9..049049d 100644 --- a/ArknightsUID/utils/models/gamedata/BuildingData.py +++ b/ArknightsUID/utils/models/gamedata/BuildingData.py @@ -318,9 +318,7 @@ class BuildingDataCustomDataDiyUISortTemplateListData(BaseStruct): expandState: str defaultTemplateIndex: int defaultTemplateOrder: str - templates: List[ - BuildingDataCustomDataDiyUISortTemplateListDataDiyUISortTemplateData - ] + templates: List[BuildingDataCustomDataDiyUISortTemplateListDataDiyUISortTemplateData] class BuildingDataCustomData(BaseStruct): diff --git a/ArknightsUID/utils/models/gamedata/GachaTable.py b/ArknightsUID/utils/models/gamedata/GachaTable.py index 1906a0f..774a0b3 100644 --- a/ArknightsUID/utils/models/gamedata/GachaTable.py +++ b/ArknightsUID/utils/models/gamedata/GachaTable.py @@ -130,6 +130,13 @@ class GachaDataFesGachaPoolRelateItem(BaseStruct): rarityRank6ItemId: str +class GachaNormalItem(BaseStruct): + itemId: str + endTime: int + gachaPoolId: str + isTen: bool + + class GachaTable(BaseStruct): __version__ = "24-02-02-10-18-07-831ad8" @@ -137,6 +144,7 @@ class GachaTable(BaseStruct): carousel: List[GachaDataCarouselData] classicPotentialMaterialConverter: PotentialMaterialConverterConfig dicRecruit6StarHint: Union[Dict[str, str], None] + normalGachaItem: List[GachaNormalItem] fesGachaPoolRelateItem: Union[ Dict[str, GachaDataFesGachaPoolRelateItem], None, diff --git a/ArknightsUID/version.py b/ArknightsUID/version.py index 6043c8e..73812eb 100644 --- a/ArknightsUID/version.py +++ b/ArknightsUID/version.py @@ -1,3 +1,3 @@ ArknightsUID_version = "0.1.0" -Arknights_Client_version = "2.2.21" -Arknights_Res_version = "24-03-29-14-33-44-5002d2" +Arknights_Client_version = "2.2.41" +Arknights_Res_version = "24-04-26-09-22-08-413e02" diff --git a/pyproject.toml b/pyproject.toml index 81c7d39..a7ee76b 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -56,7 +56,7 @@ pythonVersion = "3.8" pythonPlatform = "All" [tool.ruff] -line-length = 88 +line-length = 98 target-version = "py38" [tool.ruff.lint]