From 5140ab2dc3506355ad16b60bb6bda587e58a62cc Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Fri, 9 Feb 2024 21:56:00 +0800 Subject: [PATCH] =?UTF-8?q?=E2=AC=86=EF=B8=8F=20`pre-commit-ci`=E8=87=AA?= =?UTF-8?q?=E5=8A=A8=E5=8D=87=E7=BA=A7=20(#617)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * ⬆️ `pre-commit-ci`自动升级 updates: - [github.com/psf/black: 23.12.1 → 24.1.1](https://github.com/psf/black/compare/23.12.1...24.1.1) - [github.com/pycqa/flake8: 6.1.0 → 7.0.0](https://github.com/pycqa/flake8/compare/6.1.0...7.0.0) * 🚨 `pre-commit-ci`修复格式错误 --------- Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> --- .pre-commit-config.yaml | 4 +- GenshinUID/genshinuid_ann/ann_card.py | 4 +- GenshinUID/genshinuid_check/__init__.py | 21 +++++--- .../genshinuid_config/config_default.py | 12 +++-- GenshinUID/genshinuid_config/set_config.py | 4 +- GenshinUID/genshinuid_dailycost/__init__.py | 4 +- GenshinUID/genshinuid_enka/__init__.py | 16 +++++-- .../genshinuid_enka/curve_calc/curve_calc.py | 20 ++++++-- .../genshinuid_enka/draw_artifacts_lib.py | 4 +- GenshinUID/genshinuid_enka/draw_normal.py | 4 +- GenshinUID/genshinuid_enka/draw_rank_list.py | 12 +++-- GenshinUID/genshinuid_enka/etc/MAP_PATH.py | 12 ++--- GenshinUID/genshinuid_enka/etc/etc.py | 6 ++- GenshinUID/genshinuid_enka/get_enka_img.py | 8 +++- GenshinUID/genshinuid_enka/mono/Character.py | 6 +-- GenshinUID/genshinuid_enka/mono/Fight.py | 8 ++-- GenshinUID/genshinuid_enka/to_card.py | 4 +- .../genshinuid_eventlist/draw_event_img.py | 8 +++- GenshinUID/genshinuid_gachalog/__init__.py | 4 +- .../genshinuid_gachalog/export_and_import.py | 7 ++- .../genshinuid_gachalog/get_gachalogs.py | 14 +++++- GenshinUID/genshinuid_map/__init__.py | 4 +- GenshinUID/genshinuid_mysbbscoin/daily_get.py | 4 +- .../get_mihoyo_bbs_coin.py | 12 +++-- .../genshinuid_postdraw/daily_check_draw.py | 4 +- GenshinUID/genshinuid_resin/resin_text.py | 4 +- GenshinUID/genshinuid_resource/__init__.py | 4 +- GenshinUID/genshinuid_roleinfo/__init__.py | 4 +- GenshinUID/genshinuid_roleinfo/get_regtime.py | 4 +- GenshinUID/genshinuid_signin/__init__.py | 8 +++- GenshinUID/genshinuid_signin/sign.py | 24 +++++++--- GenshinUID/genshinuid_topup/draw_topup_img.py | 4 +- GenshinUID/genshinuid_topup/gs_topup.py | 30 ++++++++++-- GenshinUID/genshinuid_update/__init__.py | 4 +- .../genshinuid_wikitext/get_wiki_text.py | 4 +- GenshinUID/genshinuid_xkdata/__init__.py | 4 +- .../genshinuid_xkdata/draw_char_abyss.py | 8 +++- GenshinUID/tools/get_action.py | 48 +++++++++++++++---- GenshinUID/tools/panle_to_json.py | 4 +- GenshinUID/utils/convert.py | 6 +-- GenshinUID/utils/image/convert.py | 12 ++--- 41 files changed, 279 insertions(+), 99 deletions(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 9c1bba1f..4373bdb2 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -13,12 +13,12 @@ repos: - id: isort - repo: https://github.com/psf/black - rev: 23.12.1 + rev: 24.1.1 hooks: - id: black - repo: https://github.com/pycqa/flake8 - rev: 6.1.0 + rev: 7.0.0 hooks: - id: flake8 diff --git a/GenshinUID/genshinuid_ann/ann_card.py b/GenshinUID/genshinuid_ann/ann_card.py index a68a10c5..0aa7b724 100644 --- a/GenshinUID/genshinuid_ann/ann_card.py +++ b/GenshinUID/genshinuid_ann/ann_card.py @@ -72,7 +72,9 @@ async def ann_list_card() -> bytes: bg, new_item, (x, list_head.height + (index * new_item.height)) ) - tip = '*可以使用 原神公告#0000(右上角ID) 来查看详细内容, 例子: 原神公告#2434' + tip = ( + '*可以使用 原神公告#0000(右上角ID) 来查看详细内容, 例子: 原神公告#2434' + ) draw_text_by_line( bg, (0, bg.height - 35), tip, gs_font_18, '#767779', 1000, True ) diff --git a/GenshinUID/genshinuid_check/__init__.py b/GenshinUID/genshinuid_check/__init__.py index 6dfc0bb5..4e8e75c5 100644 --- a/GenshinUID/genshinuid_check/__init__.py +++ b/GenshinUID/genshinuid_check/__init__.py @@ -61,9 +61,11 @@ async def send_check_cookie(bot: Bot, ev: Event): else: return_str = '\n'.join( [ - f'uid{user.uid}/mys{user.mys_id}的Cookies是正常的!' - if user not in invalid_user - else f'uid{user.uid}的Cookies是异常的!已删除该条Cookies!' + ( + f'uid{user.uid}/mys{user.mys_id}的Cookies是正常的!' + if user not in invalid_user + else f'uid{user.uid}的Cookies是异常的!已删除该条Cookies!' + ) for user in user_list ] ) @@ -99,15 +101,20 @@ async def send_check_stoken(bot: Bot, ev: Event): if len(user_list) > 4: im = f'正常Stoken数量: {len(user_list) - len(invalid_user)}' invalid = '\n'.join( - [f'uid{user.uid}的Stoken是异常的!已清除Stoken!\n' for user in invalid_user] + [ + f'uid{user.uid}的Stoken是异常的!已清除Stoken!\n' + for user in invalid_user + ] ) return_str = f'{im}\n{invalid if invalid else "无失效Stoken!"}' else: return_str = '\n'.join( [ - f'uid{user.uid}/mys{user.mys_id}的Stoken是正常的!' - if user not in invalid_user - else f'uid{user.uid}的Stoken是异常的!已清除Stoken!' + ( + f'uid{user.uid}/mys{user.mys_id}的Stoken是正常的!' + if user not in invalid_user + else f'uid{user.uid}的Stoken是异常的!已清除Stoken!' + ) for user in user_list ] ) diff --git a/GenshinUID/genshinuid_config/config_default.py b/GenshinUID/genshinuid_config/config_default.py index e9128e5b..a8a1c8c5 100644 --- a/GenshinUID/genshinuid_config/config_default.py +++ b/GenshinUID/genshinuid_config/config_default.py @@ -20,12 +20,18 @@ CONIFG_DEFAULT: Dict[str, GSC] = { '原神公告推送ID列表', [], ), - 'SignTime': GsListStrConfig('每晚签到时间设置', '每晚米游社签到时间设置(时,分)', ['0', '38']), + 'SignTime': GsListStrConfig( + '每晚签到时间设置', '每晚米游社签到时间设置(时,分)', ['0', '38'] + ), 'BBSTaskTime': GsListStrConfig( - '每晚米游社任务时间设置', '每晚米游社任务时间设置(时,分)', ['1', '41'] + '每晚米游社任务时间设置', + '每晚米游社任务时间设置(时,分)', + ['1', '41'], ), 'GetDrawTaskTime': GsListStrConfig( - '每晚留影叙佳期任务时间设置', '每晚留影叙佳期任务时间设置(时,分)', ['3', '25'] + '每晚留影叙佳期任务时间设置', + '每晚留影叙佳期任务时间设置(时,分)', + ['3', '25'], ), 'MhyBBSCoinReport': GsBoolConfig( '米游币推送', diff --git a/GenshinUID/genshinuid_config/set_config.py b/GenshinUID/genshinuid_config/set_config.py index e8d70869..76b5336f 100644 --- a/GenshinUID/genshinuid_config/set_config.py +++ b/GenshinUID/genshinuid_config/set_config.py @@ -91,7 +91,9 @@ async def set_config_func( # 执行设置 if query is not None: gsconfig.set_config(name, query) - im = '成功设置{}为{}。'.format(config_name, '开' if query else '关') + im = '成功设置{}为{}。'.format( + config_name, '开' if query else '关' + ) else: im = '未传入参数query!' else: diff --git a/GenshinUID/genshinuid_dailycost/__init__.py b/GenshinUID/genshinuid_dailycost/__init__.py index 6199a98f..9e8b1c64 100644 --- a/GenshinUID/genshinuid_dailycost/__init__.py +++ b/GenshinUID/genshinuid_dailycost/__init__.py @@ -9,7 +9,9 @@ from .draw_daily_cost import draw_daily_cost_img sv_daily_cost = SV('查询每日材料') -@sv_daily_cost.on_command(('每日材料', '今日材料', '每日素材', '今日素材'), block=True) +@sv_daily_cost.on_command( + ('每日材料', '今日材料', '每日素材', '今日素材'), block=True +) async def send_collection_info(bot: Bot, ev: Event): logger.info('开始执行[每日材料]') im = await draw_daily_cost_img() diff --git a/GenshinUID/genshinuid_enka/__init__.py b/GenshinUID/genshinuid_enka/__init__.py index e9dc9b1b..718e59f8 100644 --- a/GenshinUID/genshinuid_enka/__init__.py +++ b/GenshinUID/genshinuid_enka/__init__.py @@ -231,7 +231,9 @@ async def contrast_char_info(bot: Bot, ev: Event): return await bot.send('参考格式: 对比面板 公子 公子换可莉圣遗物') contrast_list = ev.text.strip().split(' ') if len(contrast_list) <= 1: - return await bot.send('输入格式错误...参考格式: 对比面板 公子 公子换可莉圣遗物') + return await bot.send( + '输入格式错误...参考格式: 对比面板 公子 公子换可莉圣遗物' + ) elif len(contrast_list) >= 4: return await bot.send('不支持对比四个及以上的面板...') @@ -244,7 +246,9 @@ async def contrast_char_info(bot: Bot, ev: Event): elif isinstance(im, Tuple): data = im[0] if isinstance(data, bytes): - return await bot.send('输入了错误的格式...参考格式: 对比面板 公子 公子换可莉圣遗物') + return await bot.send( + '输入了错误的格式...参考格式: 对比面板 公子 公子换可莉圣遗物' + ) elif isinstance(data, str): return await bot.send(data) else: @@ -262,10 +266,14 @@ async def contrast_char_info(bot: Bot, ev: Event): @sv_get_enka.on_command('保存面板') async def save_char_info(bot: Bot, ev: Event): if not ev.text.strip(): - return await bot.send('后面需要跟自定义的保存名字\n例如:保存面板公子为核爆公子') + return await bot.send( + '后面需要跟自定义的保存名字\n例如:保存面板公子为核爆公子' + ) save_list = ev.text.strip().split('为') if len(save_list) <= 1: - return await bot.send('输入格式错误...参考格式: 保存面板公子为核爆公子') + return await bot.send( + '输入格式错误...参考格式: 保存面板公子为核爆公子' + ) uid = await get_uid(bot, ev) if uid is None: diff --git a/GenshinUID/genshinuid_enka/curve_calc/curve_calc.py b/GenshinUID/genshinuid_enka/curve_calc/curve_calc.py index 26e0e58e..67f2c3ce 100644 --- a/GenshinUID/genshinuid_enka/curve_calc/curve_calc.py +++ b/GenshinUID/genshinuid_enka/curve_calc/curve_calc.py @@ -47,22 +47,32 @@ async def get_weight_temp(prop: dict, attr: str) -> List[float]: weight = [] if '攻击' in attr: weight.append( - (prop['atk_green'] / prop['baseAtk']) * 100 / WEIGHT_MAP['百分比攻击力'] + (prop['atk_green'] / prop['baseAtk']) + * 100 + / WEIGHT_MAP['百分比攻击力'] ) elif '生命' in attr: weight.append( - (prop['hp_green'] / prop['baseHp']) * 100 / WEIGHT_MAP['百分比血量'] + (prop['hp_green'] / prop['baseHp']) + * 100 + / WEIGHT_MAP['百分比血量'] ) elif '防御' in attr: weight.append( - (prop['def_green'] / prop['baseDef']) * 100 / WEIGHT_MAP['百分比防御力'] + (prop['def_green'] / prop['baseDef']) + * 100 + / WEIGHT_MAP['百分比防御力'] ) elif '精通' in attr: weight.append(prop['elementalMastery'] / WEIGHT_MAP['元素精通']) elif '充能' in attr: - weight.append(prop['energyRecharge'] * 100 / WEIGHT_MAP['元素充能效率']) + weight.append( + prop['energyRecharge'] * 100 / WEIGHT_MAP['元素充能效率'] + ) elif '物伤' in attr: - weight.append(prop['physicalDmgBonus'] * 100 / WEIGHT_MAP['物理伤害加成']) + weight.append( + prop['physicalDmgBonus'] * 100 / WEIGHT_MAP['物理伤害加成'] + ) elif '伤' in attr: weight.append(prop['dmgBonus'] * 100 / WEIGHT_MAP['元素伤害加成']) elif '治疗' in attr: diff --git a/GenshinUID/genshinuid_enka/draw_artifacts_lib.py b/GenshinUID/genshinuid_enka/draw_artifacts_lib.py index 63f325cf..b7769fad 100644 --- a/GenshinUID/genshinuid_enka/draw_artifacts_lib.py +++ b/GenshinUID/genshinuid_enka/draw_artifacts_lib.py @@ -123,7 +123,9 @@ async def draw_lib(ev: Event, uid: str, num: int) -> Union[bytes, str]: ) extra_notice = ( - f'可用 圣遗物仓库{num+1} 命令查看第{num+1}页' if num < all_page else '暂无更多页数' + f'可用 圣遗物仓库{num+1} 命令查看第{num+1}页' + if num < all_page + else '暂无更多页数' ) bg_draw.text( diff --git a/GenshinUID/genshinuid_enka/draw_normal.py b/GenshinUID/genshinuid_enka/draw_normal.py index ea44703b..10ef9c45 100644 --- a/GenshinUID/genshinuid_enka/draw_normal.py +++ b/GenshinUID/genshinuid_enka/draw_normal.py @@ -415,7 +415,9 @@ async def get_char_img( .resize((1421, 800)) ) else: - char_img = Image.open(GACHA_IMG_PATH / f'{char_name}.png') # 角色图像 + char_img = Image.open( + GACHA_IMG_PATH / f'{char_name}.png' + ) # 角色图像 # 确定图片的长宽 w, h = char_img.size if (w, h) != (based_w, based_h): diff --git a/GenshinUID/genshinuid_enka/draw_rank_list.py b/GenshinUID/genshinuid_enka/draw_rank_list.py index 1882c0f4..031f0b39 100644 --- a/GenshinUID/genshinuid_enka/draw_rank_list.py +++ b/GenshinUID/genshinuid_enka/draw_rank_list.py @@ -118,7 +118,9 @@ async def draw_rank_img(ev: Event, uid: str) -> Union[bytes, str]: char_draw.text((791, 129), _cr, 'white', gs_font_26, 'lm') char_draw.text((791, 169), _cd, 'white', gs_font_26, 'lm') - char_draw.text((263, 260), '测试项目: 未知', grey, gs_font_22, 'lm') + char_draw.text( + (263, 260), '测试项目: 未知', grey, gs_font_22, 'lm' + ) char_draw.text( (716, 257), str(int(float(result))), 'white', gs_font_44, 'lm' ) @@ -140,7 +142,9 @@ async def draw_rank_img(ev: Event, uid: str) -> Union[bytes, str]: char_draw = ImageDraw.Draw(char_img) - char_draw.text((65, 39), f'数据最后更新于 {time}', grey, gs_font_15, 'lm') + char_draw.text( + (65, 39), f'数据最后更新于 {time}', grey, gs_font_15, 'lm' + ) char_draw.text( (760, 37), f'{char_name}', 'white', gs_font_32, 'rm' ) @@ -164,7 +168,9 @@ async def draw_rank_img(ev: Event, uid: str) -> Union[bytes, str]: char_draw.text((169, 129), _cr, 'white', gs_font_26, 'lm') char_draw.text((169, 169), _cd, 'white', gs_font_26, 'lm') - char_draw.text((669, 260), '测试项目: 未知', grey, gs_font_22, 'rm') + char_draw.text( + (669, 260), '测试项目: 未知', grey, gs_font_22, 'rm' + ) char_draw.text( (237, 249), str(int(float(result))), 'white', gs_font_44, 'rm' ) diff --git a/GenshinUID/genshinuid_enka/etc/MAP_PATH.py b/GenshinUID/genshinuid_enka/etc/MAP_PATH.py index 711dbdba..c536d9b7 100644 --- a/GenshinUID/genshinuid_enka/etc/MAP_PATH.py +++ b/GenshinUID/genshinuid_enka/etc/MAP_PATH.py @@ -13,14 +13,14 @@ class ActionMAP(TypedDict): with open(EFFECT_PATH / 'weapon_effect.json', "r", encoding='UTF-8') as f: - weapon_effect_map: Dict[ - str, Dict[str, Dict[str, Dict[str, str]]] - ] = json.load(f) + weapon_effect_map: Dict[str, Dict[str, Dict[str, Dict[str, str]]]] = ( + json.load(f) + ) with open(EFFECT_PATH / 'char_effect.json', "r", encoding='UTF-8') as f: - char_effect_map: Dict[ - str, Dict[str, Dict[str, Dict[str, str]]] - ] = json.load(f) + char_effect_map: Dict[str, Dict[str, Dict[str, Dict[str, str]]]] = ( + json.load(f) + ) with open(EFFECT_PATH / 'artifact_effect.json', "r", encoding='UTF-8') as f: artifact_effect_map: Dict[str, Dict[str, Dict[str, str]]] = json.load(f) diff --git a/GenshinUID/genshinuid_enka/etc/etc.py b/GenshinUID/genshinuid_enka/etc/etc.py index 83363380..fddce2f3 100644 --- a/GenshinUID/genshinuid_enka/etc/etc.py +++ b/GenshinUID/genshinuid_enka/etc/etc.py @@ -67,7 +67,11 @@ async def get_artifacts_value( ) -> float: if charName not in ATTR_MAP: ATTR_MAP[charName] = ['攻击力', '暴击率', '暴击伤害'] - if subName in ATTR_MAP[charName] and subName in ['血量', '防御力', '攻击力']: + if subName in ATTR_MAP[charName] and subName in [ + '血量', + '防御力', + '攻击力', + ]: if subName == '血量': base = (subValue / baseHp) * 100 elif subName == '防御力': diff --git a/GenshinUID/genshinuid_enka/get_enka_img.py b/GenshinUID/genshinuid_enka/get_enka_img.py index 6bfc14ca..593c8106 100644 --- a/GenshinUID/genshinuid_enka/get_enka_img.py +++ b/GenshinUID/genshinuid_enka/get_enka_img.py @@ -196,7 +196,9 @@ async def get_char_args( if isinstance(char_data, str): return char_data else: - for i, s in enumerate(['生之花', '死之羽', '时之沙', '空之杯', '理之冠']): + for i, s in enumerate( + ['生之花', '死之羽', '时之沙', '空之杯', '理之冠'] + ): if '赤沙' in part: continue if part[-1] == s[-1]: @@ -216,7 +218,9 @@ async def get_single_percent(char_data: Dict, uid: str, num: int, best: List): char = Character(char_data) await char.init_prop() percent = float(char.percent.replace('%', '')) - logger.info(f'[查找最佳圣遗物] UID:{uid}第{num}次迭代...毕业度为{percent}!') + logger.info( + f'[查找最佳圣遗物] UID:{uid}第{num}次迭代...毕业度为{percent}!' + ) best.append({'percent': percent, 'char_data': char.card_prop}) diff --git a/GenshinUID/genshinuid_enka/mono/Character.py b/GenshinUID/genshinuid_enka/mono/Character.py index f6ebc264..9fcd92c5 100644 --- a/GenshinUID/genshinuid_enka/mono/Character.py +++ b/GenshinUID/genshinuid_enka/mono/Character.py @@ -711,9 +711,9 @@ class Character: _ex = 10 + weaponAffix * 2 ex_effect.append(f'Q:dmgBonus+{_ex}') elif self.char_name == '优菈': - skill_effect = EXTRA_CHAR_LIST[self.char_name]['Q每层能量伤害'][ - 'value' - ] + skill_effect = EXTRA_CHAR_LIST[self.char_name][ + 'Q每层能量伤害' + ]['value'] attack_type = 'Q' skill_level = prop[f'{attack_type}_skill_level'] - 1 value = float(skill_effect[skill_level]) diff --git a/GenshinUID/genshinuid_enka/mono/Fight.py b/GenshinUID/genshinuid_enka/mono/Fight.py index 10b07e5d..adf21ade 100644 --- a/GenshinUID/genshinuid_enka/mono/Fight.py +++ b/GenshinUID/genshinuid_enka/mono/Fight.py @@ -483,9 +483,11 @@ class Fight: avg_dmg = ( normal_dmg if critrate < 0 - else crit_dmg - if critrate > 1 - else crit_dmg * critrate + (1 - critrate) * normal_dmg + else ( + crit_dmg + if critrate > 1 + else crit_dmg * critrate + (1 - critrate) * normal_dmg + ) ) self.total_normal_dmg += normal_dmg diff --git a/GenshinUID/genshinuid_enka/to_card.py b/GenshinUID/genshinuid_enka/to_card.py index b4cd7428..3c6a37f7 100644 --- a/GenshinUID/genshinuid_enka/to_card.py +++ b/GenshinUID/genshinuid_enka/to_card.py @@ -65,7 +65,9 @@ async def draw_enka_card( else: line1 = '刷新成功!' - line2 = f'UID {uid}请使用 查询{char_data_list[0]["avatarName"]} 命令进行查询!' + line2 = ( + f'UID {uid}请使用 查询{char_data_list[0]["avatarName"]} 命令进行查询!' + ) char_num = len(char_data_list) if char_num <= 8: based_w, based_h = 1000, 240 + ((char_num + 3) // 4) * 220 diff --git a/GenshinUID/genshinuid_eventlist/draw_event_img.py b/GenshinUID/genshinuid_eventlist/draw_event_img.py index 5a02319f..d4fc2796 100644 --- a/GenshinUID/genshinuid_eventlist/draw_event_img.py +++ b/GenshinUID/genshinuid_eventlist/draw_event_img.py @@ -62,7 +62,13 @@ class DrawEventList: # 跳过一部分活动 flag = False name_full = event_list[event]['nameFull']['CHS'] - for ban_word in ['首充', '深境螺旋', '传说任务', '纪行', '更新修复']: + for ban_word in [ + '首充', + '深境螺旋', + '传说任务', + '纪行', + '更新修复', + ]: if ban_word in name_full: flag = True break diff --git a/GenshinUID/genshinuid_gachalog/__init__.py b/GenshinUID/genshinuid_gachalog/__init__.py index c72377aa..ee01ad80 100644 --- a/GenshinUID/genshinuid_gachalog/__init__.py +++ b/GenshinUID/genshinuid_gachalog/__init__.py @@ -62,7 +62,9 @@ async def send_refresh_gacha_info(bot: Bot, ev: Event): if ev.command.startswith('强制'): await bot.logger.info('[WARNING]本次为强制刷新') is_force = True - await bot.send(f'UID{uid}开始执行[刷新抽卡记录],需要一定时间...请勿重复触发!') + await bot.send( + f'UID{uid}开始执行[刷新抽卡记录],需要一定时间...请勿重复触发!' + ) im = await save_gachalogs(uid, None, is_force) await bot.send_option(im, [Button('🃏抽卡记录', '抽卡记录')]) diff --git a/GenshinUID/genshinuid_gachalog/export_and_import.py b/GenshinUID/genshinuid_gachalog/export_and_import.py index 61b1b00f..824eb8e8 100644 --- a/GenshinUID/genshinuid_gachalog/export_and_import.py +++ b/GenshinUID/genshinuid_gachalog/export_and_import.py @@ -34,7 +34,12 @@ async def import_gachalogs(history_url: str, type: str, uid: str) -> str: if data_uid != uid: return f'该抽卡记录UID{data_uid}与你绑定UID{uid}不符合!' raw_data = history_data['list'] - result = {'新手祈愿': [], '常驻祈愿': [], '角色祈愿': [], '武器祈愿': []} + result = { + '新手祈愿': [], + '常驻祈愿': [], + '角色祈愿': [], + '武器祈愿': [], + } for item in raw_data: item['uid'] = uid item['item_id'] = '' diff --git a/GenshinUID/genshinuid_gachalog/get_gachalogs.py b/GenshinUID/genshinuid_gachalog/get_gachalogs.py index acef3208..d6cd8ebc 100644 --- a/GenshinUID/genshinuid_gachalog/get_gachalogs.py +++ b/GenshinUID/genshinuid_gachalog/get_gachalogs.py @@ -91,7 +91,12 @@ async def save_gachalogs( if raw_data is None: raw_data = await get_new_gachalog(uid, gachalogs_history, is_force) else: - new_data = {'新手祈愿': [], '常驻祈愿': [], '角色祈愿': [], '武器祈愿': []} + new_data = { + '新手祈愿': [], + '常驻祈愿': [], + '角色祈愿': [], + '武器祈愿': [], + } if gachalogs_history: for i in ['新手祈愿', '常驻祈愿', '角色祈愿', '武器祈愿']: for item in raw_data[i]: @@ -107,7 +112,12 @@ async def save_gachalogs( if raw_data == {} or not raw_data: return SK_HINT - temp_data = {'新手祈愿': [], '常驻祈愿': [], '角色祈愿': [], '武器祈愿': []} + temp_data = { + '新手祈愿': [], + '常驻祈愿': [], + '角色祈愿': [], + '武器祈愿': [], + } for i in ['新手祈愿', '常驻祈愿', '角色祈愿', '武器祈愿']: for item in raw_data[i]: if item not in temp_data[i]: diff --git a/GenshinUID/genshinuid_map/__init__.py b/GenshinUID/genshinuid_map/__init__.py index ecdd5cb8..41dfb44c 100644 --- a/GenshinUID/genshinuid_map/__init__.py +++ b/GenshinUID/genshinuid_map/__init__.py @@ -44,7 +44,9 @@ async def send_find_map_msg(bot: Bot, ev: Event): resource_temp_path = MAP_DATA / f'{map_name}_{ev.text}.jpg' if resource_temp_path.exists(): - await bot.logger.info(f'本地已有{map_name}_{ev.text}的资源点,直接发送...') + await bot.logger.info( + f'本地已有{map_name}_{ev.text}的资源点,直接发送...' + ) resource_temp = await convert_img(resource_temp_path) await bot.send(resource_temp) else: diff --git a/GenshinUID/genshinuid_mysbbscoin/daily_get.py b/GenshinUID/genshinuid_mysbbscoin/daily_get.py index 6f64909f..6f853882 100644 --- a/GenshinUID/genshinuid_mysbbscoin/daily_get.py +++ b/GenshinUID/genshinuid_mysbbscoin/daily_get.py @@ -35,7 +35,9 @@ async def all_daily_mihoyo_bbs_coin(): logger.exception(f'[米游币任务]执行失败: {user.uid}') im_failed += 1 im_failed_str += f'\n[米游币任务]执行失败: {user.uid}' - faild_im = f'\n以下为签到失败报告: {im_failed_str}' if im_failed_str != '' else '' + faild_im = ( + f'\n以下为签到失败报告: {im_failed_str}' if im_failed_str != '' else '' + ) im = f'今日获取mhycoin成功数量: {im_success},失败数量: {im_failed}{faild_im}' return im, im_private diff --git a/GenshinUID/genshinuid_mysbbscoin/get_mihoyo_bbs_coin.py b/GenshinUID/genshinuid_mysbbscoin/get_mihoyo_bbs_coin.py index 9ff46c74..67dd748c 100644 --- a/GenshinUID/genshinuid_mysbbscoin/get_mihoyo_bbs_coin.py +++ b/GenshinUID/genshinuid_mysbbscoin/get_mihoyo_bbs_coin.py @@ -128,7 +128,9 @@ class MihoyoBBSCoin: self.headers, ) if 'err' in data['message'] or data['retcode'] == -100: - logger.error('获取任务列表失败, 你的cookie可能已过期, 请重新设置cookie。') + logger.error( + '获取任务列表失败, 你的cookie可能已过期, 请重新设置cookie。' + ) return '你的Cookies已失效。' else: self.Today_getcoins = data['data']['can_get_points'] @@ -143,10 +145,14 @@ class MihoyoBBSCoin: else: # 如果第0个大于或等于62则直接判定任务没做 if data['data']['states'][0]['mission_id'] >= 62: - logger.info(f'新的一天, 今天可以获得{self.Today_getcoins}个米游币') + logger.info( + f'新的一天, 今天可以获得{self.Today_getcoins}个米游币' + ) pass else: - logger.info(f'似乎还有任务没完成, 今天还能获得{self.Today_getcoins}') + logger.info( + f'似乎还有任务没完成, 今天还能获得{self.Today_getcoins}' + ) for i in data['data']['states']: # 58是讨论区签到 if i['mission_id'] == 58: diff --git a/GenshinUID/genshinuid_postdraw/daily_check_draw.py b/GenshinUID/genshinuid_postdraw/daily_check_draw.py index 13c333a0..f94d9e1c 100644 --- a/GenshinUID/genshinuid_postdraw/daily_check_draw.py +++ b/GenshinUID/genshinuid_postdraw/daily_check_draw.py @@ -106,7 +106,9 @@ async def daily_get_draw(): if len(tasks) >= 1: await asyncio.gather(*tasks) delay = 50 + random.randint(3, 45) - logger.info(f'[自动留影叙佳期] 已完成{len(tasks)}个用户, 等待{delay}秒进行下一次获取') + logger.info( + f'[自动留影叙佳期] 已完成{len(tasks)}个用户, 等待{delay}秒进行下一次获取' + ) tasks.clear() await asyncio.sleep(delay) diff --git a/GenshinUID/genshinuid_resin/resin_text.py b/GenshinUID/genshinuid_resin/resin_text.py index ba359649..76189852 100644 --- a/GenshinUID/genshinuid_resin/resin_text.py +++ b/GenshinUID/genshinuid_resin/resin_text.py @@ -67,7 +67,9 @@ async def get_resin_text(uid: str) -> Union[str, bytes]: remained_timed: str = seconds2hours( expedition['remained_time'] ) - expedition_info.append(f'{avatar_name} 剩余时间{remained_timed}') + expedition_info.append( + f'{avatar_name} 剩余时间{remained_timed}' + ) if dailydata['transformer']['recovery_time']['reached']: transformer_status = '可用' diff --git a/GenshinUID/genshinuid_resource/__init__.py b/GenshinUID/genshinuid_resource/__init__.py index 32fb0b83..2071eb27 100644 --- a/GenshinUID/genshinuid_resource/__init__.py +++ b/GenshinUID/genshinuid_resource/__init__.py @@ -16,5 +16,7 @@ async def send_download_resource_msg(bot: Bot, ev: Event): async def startup(): - logger.info('[资源文件下载] 正在检查与下载缺失的资源文件,可能需要较长时间,请稍等') + logger.info( + '[资源文件下载] 正在检查与下载缺失的资源文件,可能需要较长时间,请稍等' + ) logger.info(f'[资源文件下载] {await download_all_resource()}') diff --git a/GenshinUID/genshinuid_roleinfo/__init__.py b/GenshinUID/genshinuid_roleinfo/__init__.py index eae8f4e7..c5cbfc5c 100644 --- a/GenshinUID/genshinuid_roleinfo/__init__.py +++ b/GenshinUID/genshinuid_roleinfo/__init__.py @@ -14,7 +14,9 @@ sv_get_regtime = SV('查询注册时间') sv_get_info = SV('查询原神信息') -@sv_get_regtime.on_command(('原神注册时间', '注册时间', '查询注册时间'), block=True) +@sv_get_regtime.on_command( + ('原神注册时间', '注册时间', '查询注册时间'), block=True +) async def regtime(bot: Bot, ev: Event): await bot.logger.info('开始执行[查询注册时间]') uid = await get_uid(bot, ev) diff --git a/GenshinUID/genshinuid_roleinfo/get_regtime.py b/GenshinUID/genshinuid_roleinfo/get_regtime.py index f4208c59..9a0a60aa 100644 --- a/GenshinUID/genshinuid_roleinfo/get_regtime.py +++ b/GenshinUID/genshinuid_roleinfo/get_regtime.py @@ -23,4 +23,6 @@ async def calc_reg_time(uid: str) -> Union[str, bytes]: return f'UID{uid} 的注册时间为\n{regtime_date}' except Exception as e: logger.error(e) - return '数据获取错误, 可尝试使用【刷新ck】或者发送【扫码登陆】以绑定CK。' + return ( + '数据获取错误, 可尝试使用【刷新ck】或者发送【扫码登陆】以绑定CK。' + ) diff --git a/GenshinUID/genshinuid_signin/__init__.py b/GenshinUID/genshinuid_signin/__init__.py index a190cac8..d4ffbb26 100644 --- a/GenshinUID/genshinuid_signin/__init__.py +++ b/GenshinUID/genshinuid_signin/__init__.py @@ -66,7 +66,9 @@ async def send_daily_sign(): single['msg'], 'direct', qid, single['bot_id'], '', '' ) except Exception as e: - logger.warning(f'[每日全部签到] QQ {qid} 私聊推送失败!错误信息:{e}') + logger.warning( + f'[每日全部签到] QQ {qid} 私聊推送失败!错误信息:{e}' + ) await asyncio.sleep(0.5) logger.info('[每日全部签到]私聊推送完成') @@ -75,7 +77,9 @@ async def send_daily_sign(): # 根据succee数判断是否为简洁推送 if group_msg_list[gid]['success'] >= 0: report = ( - '以下为签到失败报告:{}'.format(group_msg_list[gid]['push_message']) + '以下为签到失败报告:{}'.format( + group_msg_list[gid]['push_message'] + ) if group_msg_list[gid]['push_message'] != '' else '' ) diff --git a/GenshinUID/genshinuid_signin/sign.py b/GenshinUID/genshinuid_signin/sign.py index 32944c68..4036e598 100644 --- a/GenshinUID/genshinuid_signin/sign.py +++ b/GenshinUID/genshinuid_signin/sign.py @@ -54,22 +54,30 @@ async def sign_in(uid: str) -> str: Header['x-rpc-challenge'] = ch Header['x-rpc-validate'] = vl Header['x-rpc-seccode'] = f'{vl}|jordan' - logger.info(f'[签到] {uid} 已获取验证码, 等待时间{delay}秒') + logger.info( + f'[签到] {uid} 已获取验证码, 等待时间{delay}秒' + ) await asyncio.sleep(delay) else: delay = 605 + random.randint(1, 120) - logger.info(f'[签到] {uid} 未获取验证码,等待{delay}秒后重试...') + logger.info( + f'[签到] {uid} 未获取验证码,等待{delay}秒后重试...' + ) await asyncio.sleep(delay) continue else: - logger.info('配置文件暂未开启[跳过无感验证],跳过本次签到任务...') + logger.info( + '配置文件暂未开启[跳过无感验证],跳过本次签到任务...' + ) return '签到失败...出现验证码!' # 成功签到! else: if index == 0: logger.info(f'[签到] {uid} 该用户无校验码!') else: - logger.info(f'[签到] [无感验证] {uid} 该用户重试 {index} 次验证成功!') + logger.info( + f'[签到] [无感验证] {uid} 该用户重试 {index} 次验证成功!' + ) break elif (int(str(uid)[0]) > 5) and (sign_data['data']['code'] == 'ok'): # 国际服签到无risk_code字段 @@ -106,7 +114,9 @@ async def sign_in(uid: str) -> str: sign_missed -= 1 sign_missed = sign_info.get('sign_cnt_missed') or sign_missed im = f'{mes_im}!\n{get_im}\n本月漏签次数:{sign_missed}' - logger.info(f'[签到] {uid} 签到完成, 结果: {mes_im}, 漏签次数: {sign_missed}') + logger.info( + f'[签到] {uid} 签到完成, 结果: {mes_im}, 漏签次数: {sign_missed}' + ) return im @@ -176,7 +186,9 @@ async def daily_sign(): delay = 1 else: delay = 50 + random.randint(3, 45) - logger.info(f'[签到] 已签到{len(tasks)}个用户, 等待{delay}秒进行下一次签到') + logger.info( + f'[签到] 已签到{len(tasks)}个用户, 等待{delay}秒进行下一次签到' + ) tasks.clear() already = 0 await asyncio.sleep(delay) diff --git a/GenshinUID/genshinuid_topup/draw_topup_img.py b/GenshinUID/genshinuid_topup/draw_topup_img.py index 170cebb2..be4fb90a 100644 --- a/GenshinUID/genshinuid_topup/draw_topup_img.py +++ b/GenshinUID/genshinuid_topup/draw_topup_img.py @@ -182,7 +182,9 @@ async def draw_pay_img( # 商品充值 UID drawer.text( ( - int(185 + (195 - gs_font_15.getlength(f'充值到 UID{uid}')) / 2), + int( + 185 + (195 - gs_font_15.getlength(f'充值到 UID{uid}')) / 2 + ), int( 120 - warning diff --git a/GenshinUID/genshinuid_topup/gs_topup.py b/GenshinUID/genshinuid_topup/gs_topup.py index 8d8c74b1..d6783f72 100644 --- a/GenshinUID/genshinuid_topup/gs_topup.py +++ b/GenshinUID/genshinuid_topup/gs_topup.py @@ -24,15 +24,35 @@ disnote = '''免责声明: GOODS = { 0: { 'title': '创世结晶×60', - 'aliases': ['创世结晶x60', '结晶×60', '结晶x60', '创世结晶60', '结晶60'], + 'aliases': [ + '创世结晶x60', + '结晶×60', + '结晶x60', + '创世结晶60', + '结晶60', + ], }, 1: { 'title': '创世结晶×300', - 'aliases': ['创世结晶x300', '结晶×300', '结晶x300', '创世结晶300', '结晶300', '30'], + 'aliases': [ + '创世结晶x300', + '结晶×300', + '结晶x300', + '创世结晶300', + '结晶300', + '30', + ], }, 2: { 'title': '创世结晶×980', - 'aliases': ['创世结晶x980', '结晶×980', '结晶x980', '创世结晶980', '结晶980', '98'], + 'aliases': [ + '创世结晶x980', + '结晶×980', + '结晶x980', + '创世结晶980', + '结晶980', + '98', + ], }, 3: { 'title': '创世结晶×1980', @@ -125,7 +145,9 @@ async def topup_( if goods_id < len(fetchgoods_data): goods_data = fetchgoods_data[goods_id] else: - return await bot.send('商品不存在,最大为' + str(len(fetchgoods_data) - 1)) + return await bot.send( + '商品不存在,最大为' + str(len(fetchgoods_data) - 1) + ) order = await mys_api.topup(uid, goods_data, method) if isinstance(order, int): logger.warning(f'[充值] {group_id} {user_id} 出错!') diff --git a/GenshinUID/genshinuid_update/__init__.py b/GenshinUID/genshinuid_update/__init__.py index 800ec2eb..4e035610 100644 --- a/GenshinUID/genshinuid_update/__init__.py +++ b/GenshinUID/genshinuid_update/__init__.py @@ -16,7 +16,9 @@ async def send_updatelog_msg(bot: Bot, ev: Event): await bot.send(im) -@sv_gs_config.on_fullmatch(('gs更新', 'gs强制更新', 'gs强行强制更新', 'gs全部更新')) +@sv_gs_config.on_fullmatch( + ('gs更新', 'gs强制更新', 'gs强行强制更新', 'gs全部更新') +) async def send_update_msg(bot: Bot, ev: Event): await bot.logger.info('[gs更新] 正在执行 ...') level = 2 diff --git a/GenshinUID/genshinuid_wikitext/get_wiki_text.py b/GenshinUID/genshinuid_wikitext/get_wiki_text.py index 0fa4498a..f3d38af8 100644 --- a/GenshinUID/genshinuid_wikitext/get_wiki_text.py +++ b/GenshinUID/genshinuid_wikitext/get_wiki_text.py @@ -130,7 +130,9 @@ async def weapon_wiki(name: str) -> str: now = now[:-1] rw_ef.append(now) raw_effect = raw_effect.format(*rw_ef) - effect = '\n' + '【' + data['effectName'] + '】' + ': ' + raw_effect + effect = ( + '\n' + '【' + data['effectName'] + '】' + ': ' + raw_effect + ) else: effect = '' im = weapon_im.format(name, _type, star, info, atk, sub, effect) diff --git a/GenshinUID/genshinuid_xkdata/__init__.py b/GenshinUID/genshinuid_xkdata/__init__.py index a5551365..0ba5b770 100644 --- a/GenshinUID/genshinuid_xkdata/__init__.py +++ b/GenshinUID/genshinuid_xkdata/__init__.py @@ -28,7 +28,9 @@ async def scheduled_get_xk_data(): await save_all_abyss_rank() -@sv_get_abyss_database.on_fullmatch(('深渊概览', '深渊统计', '深渊使用率'), block=True) +@sv_get_abyss_database.on_fullmatch( + ('深渊概览', '深渊统计', '深渊使用率'), block=True +) async def send_abyss_pic(bot: Bot, ev: Event): await draw_xk_abyss_img() img = await convert_img(TOTAL_IMG) diff --git a/GenshinUID/genshinuid_xkdata/draw_char_abyss.py b/GenshinUID/genshinuid_xkdata/draw_char_abyss.py index cfd9f62a..0144541c 100644 --- a/GenshinUID/genshinuid_xkdata/draw_char_abyss.py +++ b/GenshinUID/genshinuid_xkdata/draw_char_abyss.py @@ -66,7 +66,9 @@ async def draw_char_abyss_info(char_name: str) -> Union[bytes, str]: # 基础文字部分 img_draw = ImageDraw.Draw(_img) - img_draw.text((450, 450), f'{char_name}的深渊统计', 'White', gs_font_40, 'mm') + img_draw.text( + (450, 450), f'{char_name}的深渊统计', 'White', gs_font_40, 'mm' + ) # 绘图 r = 20 @@ -98,7 +100,9 @@ async def draw_char_abyss_info(char_name: str) -> Union[bytes, str]: char_data_list.append(str(all_char_info['abyss']['avg_level'])) char_data_list.append(str(all_char_info['abyss']['avg_constellation'])) - for index, i in enumerate(['使用率', '满星率', '出场率', '平均等级', '平均命座']): + for index, i in enumerate( + ['使用率', '满星率', '出场率', '平均等级', '平均命座'] + ): _it = index * 161 img_draw.text((127 + _it, 618), i, (67, 46, 26), gs_font_30, 'mm') img_draw.text( diff --git a/GenshinUID/tools/get_action.py b/GenshinUID/tools/get_action.py index 59787f5d..9f9db604 100644 --- a/GenshinUID/tools/get_action.py +++ b/GenshinUID/tools/get_action.py @@ -20,7 +20,13 @@ from ..utils.map.GS_MAP_PATH import ( # noqa: E402 char_list: List[str] = [] char_action = {} INDEX_MAP = ['', 'A', 'E', 'Q'] -attack_type_list = {'普通攻击': 'A', '重击': 'B', '下落攻击': 'C', '战技': 'E', '爆发': 'Q'} +attack_type_list = { + '普通攻击': 'A', + '重击': 'B', + '下落攻击': 'C', + '战技': 'E', + '爆发': 'Q', +} label_type_list = { '普通攻击': 'A', '重击': 'B', @@ -38,7 +44,11 @@ extra = { '胡桃': {'A重击伤害': '蒸发', 'Q低血量时技能伤害': '蒸发'}, '安柏': {'A满蓄力瞄准射击': ['融化', '蒸发']}, '香菱': {'E喷火伤害': '蒸发', 'Q旋火轮伤害': '蒸发'}, - '达达利亚': {'A满蓄力瞄准射击': '蒸发', 'Q技能伤害·近战': '蒸发', 'Q技能伤害·远程': '蒸发'}, + '达达利亚': { + 'A满蓄力瞄准射击': '蒸发', + 'Q技能伤害·近战': '蒸发', + 'Q技能伤害·远程': '蒸发', + }, '重云': {'Q技能伤害': '融化'}, '雷电将军': { 'E协同攻击伤害': '超激化', @@ -79,11 +89,22 @@ extra = { 'Q最后一击伤害': '超激化', }, '北斗': {'Q闪雷伤害': '超激化'}, - '赛诺': {'E冥祭伤害': '超激化', 'Q一段伤害': '超激化', 'Q重击伤害': '超激化'}, - '纳西妲': {'E长按伤害': '蔓激化', 'E灭净三业伤害': ['蔓激化', '蔓激化·前台']}, + '赛诺': { + 'E冥祭伤害': '超激化', + 'Q一段伤害': '超激化', + 'Q重击伤害': '超激化', + }, + '纳西妲': { + 'E长按伤害': '蔓激化', + 'E灭净三业伤害': ['蔓激化', '蔓激化·前台'], + }, '旅行者(草)': {'Q草灯莲攻击伤害': '蔓激化'}, '夜兰': {'E伤害': '蒸发'}, - '艾尔海森': {'Q单次伤害': '蔓激化', 'E突进攻击伤害': '蔓激化', 'E1枚光幕攻击伤害': '蔓激化'}, + '艾尔海森': { + 'Q单次伤害': '蔓激化', + 'E突进攻击伤害': '蔓激化', + 'E1枚光幕攻击伤害': '蔓激化', + }, '迪希雅': { 'E净焰昂藏伤害': '蒸发', 'E剑域炽焰伤害': '蒸发', @@ -95,7 +116,9 @@ extra = { 'E玫瑰晶弹基础伤害': ['3层', '6层'], }, } -template = {'A重击伤害': {'name': 'A重击伤害', 'type': '', 'plus': 1, 'value': []}} +template = { + 'A重击伤害': {'name': 'A重击伤害', 'type': '', 'plus': 1, 'value': []} +} def fill_label(label_name: str, index: int) -> str: @@ -221,13 +244,22 @@ def find_tag(labels: List, index: int, char: str, parameters: dict) -> dict: # 特殊化处理 if '心海' in char: label_name = label_name.replace('提升', '提高') - label_name = label_name.replace('低空/高空坠地冲击伤害', '高空下落伤害') + label_name = label_name.replace( + '低空/高空坠地冲击伤害', '高空下落伤害' + ) label_name = label_name.replace('技能', '') # 提升指提升百分比 例如 E:dmgBouns+50% # 提高指提高固定值 例如 Q:addDmg+40%defense - label_keyword_hurt_list = ['一段', '壹阶', '贰阶', '叁阶', '肆阶', '四阶高压粉碎'] + label_keyword_hurt_list = [ + '一段', + '壹阶', + '贰阶', + '叁阶', + '肆阶', + '四阶高压粉碎', + ] if '炽焰箭' in label_name: continue diff --git a/GenshinUID/tools/panle_to_json.py b/GenshinUID/tools/panle_to_json.py index 04b3e0b3..26fd5513 100644 --- a/GenshinUID/tools/panle_to_json.py +++ b/GenshinUID/tools/panle_to_json.py @@ -125,7 +125,9 @@ async def panle2Json() -> None: :说明: 访问DATA_PATH并转换数据为dmgMap.json。 ''' - wb = openpyxl.load_workbook(str(DATA_PATH / '参考面板.xlsx'), data_only=True) + wb = openpyxl.load_workbook( + str(DATA_PATH / '参考面板.xlsx'), data_only=True + ) sheet: Worksheet = wb.active # type: ignore result = {} diff --git a/GenshinUID/utils/convert.py b/GenshinUID/utils/convert.py index 5d268cdb..06865398 100644 --- a/GenshinUID/utils/convert.py +++ b/GenshinUID/utils/convert.py @@ -7,15 +7,13 @@ from gsuid_core.utils.database.models import GsBind @overload -async def get_uid(bot: Bot, ev: Event) -> Optional[str]: - ... +async def get_uid(bot: Bot, ev: Event) -> Optional[str]: ... @overload async def get_uid( bot: Bot, ev: Event, get_user_id: bool = True -) -> Tuple[Optional[str], str]: - ... +) -> Tuple[Optional[str], str]: ... async def get_uid( diff --git a/GenshinUID/utils/image/convert.py b/GenshinUID/utils/image/convert.py index 7621764c..64d35182 100644 --- a/GenshinUID/utils/image/convert.py +++ b/GenshinUID/utils/image/convert.py @@ -8,23 +8,19 @@ from PIL import Image @overload -async def convert_img(img: Image.Image, is_base64: bool = False) -> bytes: - ... +async def convert_img(img: Image.Image, is_base64: bool = False) -> bytes: ... @overload -async def convert_img(img: Image.Image, is_base64: bool = True) -> str: - ... +async def convert_img(img: Image.Image, is_base64: bool = True) -> str: ... @overload -async def convert_img(img: bytes, is_base64: bool = False) -> str: - ... +async def convert_img(img: bytes, is_base64: bool = False) -> str: ... @overload -async def convert_img(img: Path, is_base64: bool = False) -> str: - ... +async def convert_img(img: Path, is_base64: bool = False) -> str: ... async def convert_img(