让ruff开心

This commit is contained in:
qwerdvd 2023-09-11 15:27:42 +08:00
parent 070bce4132
commit 8878252291
8 changed files with 63 additions and 46 deletions

View File

@ -9,9 +9,6 @@ from ...utils.map.SR_MAP_PATH import EquipmentID2AbilityProperty, RelicSetSkill
class Character: class Character:
def __init__(self, card_prop: Dict): def __init__(self, card_prop: Dict):
# 面板数据
self.card_prop: Dict = card_prop
self.char_level: int = int(card_prop['avatarLevel']) self.char_level: int = int(card_prop['avatarLevel'])
self.char_id: str = card_prop['avatarId'] self.char_id: str = card_prop['avatarId']
self.char_name: str = card_prop['avatarName'] self.char_name: str = card_prop['avatarName']

View File

@ -56,7 +56,8 @@ async def api_to_dict(
return [] return []
if isinstance(sr_data, Dict): if isinstance(sr_data, Dict):
if 'detailInfo' not in sr_data: if 'detailInfo' not in sr_data:
return '服务器正在维护或者关闭中...\n检查Mihomo.me是否可以访问\n如可以访问,尝试上报Bug!' return '服务器正在维护或者关闭中...\n' \
'检查Mihomo.me是否可以访问\n如可以访问,尝试上报Bug!'
elif sr_data is None: elif sr_data is None:
return [] return []
@ -98,7 +99,8 @@ async def api_to_dict(
char_id_list.append(char['avatarId']) char_id_list.append(char['avatarId'])
if not char_name_list: if not char_name_list:
return f'UID: {sr_uid} 的角色展柜刷新失败!\n请检查UID是否正确或者角色展柜是否打开!' return f'UID: {sr_uid} 的角色展柜刷新失败!\n' \
'请检查UID是否正确或者角色展柜是否打开!'
return char_id_list return char_id_list

View File

@ -2,13 +2,17 @@ from typing import Dict
from gsuid_core.utils.plugins_config.models import ( from gsuid_core.utils.plugins_config.models import (
GSC, GSC,
GsStrConfig,
GsBoolConfig, GsBoolConfig,
GsListStrConfig, GsListStrConfig,
GsStrConfig,
) )
CONIFG_DEFAULT: Dict[str, GSC] = { CONIFG_DEFAULT: Dict[str, GSC] = {
'SignTime': GsListStrConfig('每晚签到时间设置', '每晚米游社签到时间设置(时,分)', ['0', '38']), 'SignTime': GsListStrConfig(
'每晚签到时间设置',
'每晚米游社签到时间设置(时,分)',
['0', '38']
),
'SignReportSimple': GsBoolConfig( 'SignReportSimple': GsBoolConfig(
'简洁签到报告', '简洁签到报告',
'开启后可以大大减少每日签到报告字数', '开启后可以大大减少每日签到报告字数',

View File

@ -1,30 +1,31 @@
import math import math
from pathlib import Path from pathlib import Path
from typing import List, Union, Optional from typing import List, Optional, Union
from PIL import Image, ImageDraw from PIL import Image, ImageDraw
from gsuid_core.logger import logger from gsuid_core.logger import logger
from gsuid_core.utils.error_reply import get_error from gsuid_core.utils.error_reply import get_error
from gsuid_core.utils.image.image_tools import ( from gsuid_core.utils.image.image_tools import (
get_qq_avatar,
draw_pic_with_ring, draw_pic_with_ring,
get_qq_avatar,
) )
from .utils import get_icon from ..sruid_utils.api.mys.models import (
LocustBlocks,
RogueAvatar,
RogueBuffitems,
RogueMiracles,
)
from ..utils.convert import GsCookie from ..utils.convert import GsCookie
from ..utils.image.convert import convert_img
from ..utils.fonts.starrail_fonts import ( from ..utils.fonts.starrail_fonts import (
sr_font_22, sr_font_22,
sr_font_28, sr_font_28,
sr_font_34, sr_font_34,
sr_font_42, sr_font_42,
) )
from ..sruid_utils.api.mys.models import ( from ..utils.image.convert import convert_img
RogueAvatar, from .utils import get_icon
LocustBlocks,
RogueMiracles,
RogueBuffitems,
)
TEXT_PATH = Path(__file__).parent / 'texture2D' TEXT_PATH = Path(__file__).parent / 'texture2D'
white_color = (255, 255, 255) white_color = (255, 255, 255)
@ -307,10 +308,12 @@ async def draw_rogue_img(
else: else:
if schedule_type == '3': if schedule_type == '3':
if raw_rogue_data['current_record']['basic']['finish_cnt'] == 0: if raw_rogue_data['current_record']['basic']['finish_cnt'] == 0:
return '你还没有挑战本期模拟宇宙!\n可以使用[sr上期模拟宇宙]命令查询上期~' return '你还没有挑战本期模拟宇宙!\n' \
'可以使用[sr上期模拟宇宙]命令查询上期~'
else: else:
if raw_rogue_data['last_record']['basic']['finish_cnt'] == 0: if raw_rogue_data['last_record']['basic']['finish_cnt'] == 0:
return '你还没有挑战上期模拟宇宙!\n可以使用[sr模拟宇宙]命令查询本期~' return '你还没有挑战上期模拟宇宙!\n' \
'可以使用[sr模拟宇宙]命令查询本期~'
# 获取背景图片各项参数 # 获取背景图片各项参数
based_w = 900 based_w = 900
@ -555,7 +558,7 @@ async def draw_rogue_locust_img(
rogue_detail = raw_rogue_data['detail']['records'] rogue_detail = raw_rogue_data['detail']['records']
# 记录打的宇宙列表 # 记录打的宇宙列表
detail_list = [] # detail_list = []
based_h = 700 based_h = 700
for index_floor, detail in enumerate(rogue_detail): for index_floor, detail in enumerate(rogue_detail):
# 100+70+170 # 100+70+170

View File

@ -1,18 +1,18 @@
import random
import asyncio import asyncio
import random
from gsuid_core.sv import SV from gsuid_core.aps import scheduler
from gsuid_core.bot import Bot from gsuid_core.bot import Bot
from gsuid_core.gss import gss from gsuid_core.gss import gss
from gsuid_core.models import Event
from gsuid_core.aps import scheduler
from gsuid_core.logger import logger from gsuid_core.logger import logger
from gsuid_core.models import Event
from gsuid_core.sv import SV
from ..utils.api import get_sqla
from ..utils.sr_prefix import PREFIX
from .sign import sign_in, daily_sign
from ..utils.error_reply import UID_HINT
from ..starrailuid_config.sr_config import srconfig from ..starrailuid_config.sr_config import srconfig
from ..utils.api import get_sqla
from ..utils.error_reply import UID_HINT
from ..utils.sr_prefix import PREFIX
from .sign import daily_sign, sign_in
SIGN_TIME = srconfig.get_config('SignTime').data SIGN_TIME = srconfig.get_config('SignTime').data
@ -78,11 +78,8 @@ async def send_daily_sign():
if group_msg_list[gid]['push_message'] != '' if group_msg_list[gid]['push_message'] != ''
else '' else ''
) )
msg_title = '星穹铁道今日自动签到已完成!\n本群共签到成功{}人,共签到失败{}人。{}'.format( msg_title = f"星穹铁道今日自动签到已完成!\n" \
group_msg_list[gid]['success'], f"本群共签到成功{group_msg_list[gid]['success']}人,共签到失败{group_msg_list[gid]['failed']}人。{report}"
group_msg_list[gid]['failed'],
report,
)
else: else:
msg_title = group_msg_list[gid]['push_message'] msg_title = group_msg_list[gid]['push_message']
# 发送群消息 # 发送群消息

View File

@ -1,14 +1,14 @@
import random
import asyncio import asyncio
import random
from copy import deepcopy from copy import deepcopy
from gsuid_core.gss import gss from gsuid_core.gss import gss
from gsuid_core.logger import logger from gsuid_core.logger import logger
from gsuid_core.utils.plugins_config.gs_config import core_plugins_config from gsuid_core.utils.plugins_config.gs_config import core_plugins_config
from ..starrailuid_config.sr_config import srconfig
from ..utils.api import get_sqla from ..utils.api import get_sqla
from ..utils.mys_api import mys_api from ..utils.mys_api import mys_api
from ..starrailuid_config.sr_config import srconfig
private_msg_list = {} private_msg_list = {}
group_msg_list = {} group_msg_list = {}
@ -57,11 +57,15 @@ async def sign_in(sr_uid: str) -> str:
Header['x-rpc-challenge'] = ch Header['x-rpc-challenge'] = ch
Header['x-rpc-validate'] = vl Header['x-rpc-validate'] = vl
Header['x-rpc-seccode'] = f'{vl}|jordan' Header['x-rpc-seccode'] = f'{vl}|jordan'
logger.info(f'[SR签到] {sr_uid} 已获取验证码, 等待时间{delay}') logger.info(
f'[SR签到] {sr_uid} 已获取验证码, 等待时间{delay}'
)
await asyncio.sleep(delay) await asyncio.sleep(delay)
else: else:
delay = 605 + random.randint(1, 120) delay = 605 + random.randint(1, 120)
logger.info(f'[SR签到] {sr_uid} 未获取验证码,等待{delay}秒后重试...') logger.info(
f'[SR签到] {sr_uid} 未获取验证码,等待{delay}秒后重试...'
)
await asyncio.sleep(delay) await asyncio.sleep(delay)
continue continue
logger.info('配置文件暂未开启[跳过无感验证],结束本次任务...') logger.info('配置文件暂未开启[跳过无感验证],结束本次任务...')
@ -70,7 +74,9 @@ async def sign_in(sr_uid: str) -> str:
if index == 0: if index == 0:
logger.info(f'[SR签到] {sr_uid} 该用户无校验码!') logger.info(f'[SR签到] {sr_uid} 该用户无校验码!')
else: else:
logger.info(f'[SR签到] [无感验证] {sr_uid} 该用户重试 {index} 次验证成功!') logger.info(
f'[SR签到] [无感验证] {sr_uid} 该用户重试 {index} 次验证成功!'
)
break break
if (int(str(sr_uid)[0]) > 5) and (sign_data['data']['code'] == 'ok'): if (int(str(sr_uid)[0]) > 5) and (sign_data['data']['code'] == 'ok'):
# 国际服签到无risk_code字段 # 国际服签到无risk_code字段
@ -78,7 +84,8 @@ async def sign_in(sr_uid: str) -> str:
break break
# 重试超过阈值 # 重试超过阈值
logger.warning('[SR签到] 超过请求阈值...') logger.warning('[SR签到] 超过请求阈值...')
return 'sr签到失败...出现验证码!\n请过段时间使用[签到]或由管理员[全部重签]或手动至米游社进行签到!' return 'sr签到失败...出现验证码!\n' \
'请过段时间使用[签到]或由管理员[全部重签]或手动至米游社进行签到!'
# 签到失败 # 签到失败
else: else:
im = 'sr签到失败!' im = 'sr签到失败!'
@ -163,7 +170,9 @@ async def daily_sign():
delay = 1 delay = 1
else: else:
delay = 50 + random.randint(3, 45) delay = 50 + random.randint(3, 45)
logger.info(f'[SR签到] 已签到{len(tasks)}个用户, 等待{delay}秒进行下一次签到') logger.info(
f'[SR签到] 已签到{len(tasks)}个用户, 等待{delay}秒进行下一次签到'
)
tasks.clear() tasks.clear()
already = 0 already = 0
await asyncio.sleep(delay) await asyncio.sleep(delay)

View File

@ -4,13 +4,15 @@ UID_HINT = '你还没有绑定过uid哦!\n请使用[sr绑定uid123456]命令绑
MYS_HINT = '你还没有绑定过mysid哦!\n请使用[绑定mys1234]命令绑定!' MYS_HINT = '你还没有绑定过mysid哦!\n请使用[绑定mys1234]命令绑定!'
CK_HINT = """你还没有绑定过Cookie哦!发送【ck帮助】获取帮助! CK_HINT = """你还没有绑定过Cookie哦!发送【ck帮助】获取帮助!
警告:绑定Cookie可能会带来未知的账号风险,请确保信任机器人管理员""" 警告:绑定Cookie可能会带来未知的账号风险,请确保信任机器人管理员"""
CHAR_HINT = '您的支援/星海同行角色没有{}的数据哦!\n请先把{}放入支援/星海同行中再使用【sr强制刷新】命令来缓存数据进行查询! !' CHAR_HINT = '您的支援/星海同行角色没有{}的数据哦!\n请先把{}' \
'放入支援/星海同行中再使用【sr强制刷新】命令来缓存数据进行查询! !'
VERIFY_HINT = '''出现验证码! VERIFY_HINT = '''出现验证码!
如已绑定CK: 请至米游社软件->我的->我的角色处解锁验证码 如已绑定CK: 请至米游社软件->我的->我的角色处解锁验证码
(可使用[gs关闭推送]命令关闭体力推送以减少出现验证码风险) (可使用[gs关闭推送]命令关闭体力推送以减少出现验证码风险)
如未绑定CK: 可联系管理员使用[gs清除缓存]命令 如未绑定CK: 可联系管理员使用[gs清除缓存]命令
''' '''
SK_HINT = '你还没有绑定过Stoken或者Stoken已失效~\n请群聊发送 [扫码登陆] 或加好友私聊Bot [添加]后跟SK格式 以绑定SK' SK_HINT = '你还没有绑定过Stoken或者Stoken已失效~\n' \
'请群聊发送 [扫码登陆] 或加好友私聊Bot [添加]后跟SK格式 以绑定SK'
UPDATE_HINT = '''更新失败!更多错误信息请查看控制台... UPDATE_HINT = '''更新失败!更多错误信息请查看控制台...
>> 可以尝试使用 >> 可以尝试使用
>> [gs强制更新](危险) >> [gs强制更新](危险)

View File

@ -2,12 +2,13 @@ import asyncio
from pathlib import Path from pathlib import Path
from typing import Dict, List, Tuple, Union from typing import Dict, List, Tuple, Union
from msgspec import json as msgjson
from gsuid_core.logger import logger
from aiohttp.client import ClientSession from aiohttp.client import ClientSession
from msgspec import json as msgjson
from gsuid_core.logger import logger
from .download_url import download_file from .download_url import download_file
from .RESOURCE_PATH import WIKI_PATH, GUIDE_PATH, RESOURCE_PATH from .RESOURCE_PATH import GUIDE_PATH, RESOURCE_PATH, WIKI_PATH
with Path.open( with Path.open(
Path(__file__).parent / 'resource_map.json', encoding='UTF-8' Path(__file__).parent / 'resource_map.json', encoding='UTF-8'
@ -119,4 +120,6 @@ async def download_all_file_from_cos():
await _download(TASKS) await _download(TASKS)
await _download(TASKS) await _download(TASKS)
if count := len(failed_list): if count := len(failed_list):
logger.error(f'[cos]仍有{count}个文件未下载,请使用命令 `下载全部资源` 重新下载') logger.error(
f'[cos]仍有{count}个文件未下载,请使用命令 `下载全部资源` 重新下载'
)