This commit is contained in:
baiqwerdvd 2024-10-13 14:42:52 +08:00
parent df108e60bd
commit 610d91672a
No known key found for this signature in database
GPG Key ID: 7717E46E1797411A
2 changed files with 36 additions and 37 deletions

View File

@ -19,31 +19,31 @@ already = 0
# 签到函数 # 签到函数
async def sign_in(ark_uid: str) -> str: async def sign_in(ark_uid: str) -> str:
logger.info(f"[ARK签到] {ark_uid} 开始执行签到") logger.info(f"[ARK签到] {ark_uid} 开始执行签到")
# 获得签到信息 # # 获得签到信息
sign_info = await ark_skd_api.get_sign_info(ark_uid) # sign_info = await ark_skd_api.get_sign_info(ark_uid)
# 初步校验数据 # # 初步校验数据
if isinstance(sign_info, int): # if isinstance(sign_info, int):
logger.warning(f"[ARK签到] {ark_uid} 出错, 请检查森空岛Cred是否过期!") # logger.warning(f"[ARK签到] {ark_uid} 出错, 请检查森空岛Cred是否过期!")
return "签到失败...请检查森空岛Cred是否过期!" # return "签到失败...请检查森空岛Cred是否过期!"
# 检测是否已签到 # # 检测是否已签到
for calendar in sign_info.calendar: # for calendar in sign_info.calendar:
if calendar.available: # if calendar.available:
break # break
else: # else:
logger.info(f"[ARK签到] {ark_uid} 该用户今日已签到,跳过...") # logger.info(f"[ARK签到] {ark_uid} 该用户今日已签到,跳过...")
global already # global already
already += 1 # already += 1
# 获取今天和月初的日期,计算漏签次数 # # 获取今天和月初的日期,计算漏签次数
day_of_month = datetime.now().day # day_of_month = datetime.now().day
special_count = 0 # special_count = 0
count = 0 # count = 0
for calendar in sign_info.calendar: # for calendar in sign_info.calendar:
special_count += 1 if calendar.type_ == "first" else 0 # special_count += 1 if calendar.type_ == "first" else 0
done = calendar.done # done = calendar.done
if done is True: # if done is True:
count += 1 # count += 1
sign_missed = day_of_month - count + special_count # sign_missed = day_of_month - count + special_count
return f"今日已签到!本月漏签次数:{sign_missed}" # return f"今日已签到!本月漏签次数:{sign_missed}"
# 进行一次签到 # 进行一次签到
sign_data = await ark_skd_api.skd_sign(uid=ark_uid) sign_data = await ark_skd_api.skd_sign(uid=ark_uid)

View File

@ -160,18 +160,17 @@ class BaseArkApi:
headers = deepcopy(_HEADER) headers = deepcopy(_HEADER)
headers["cred"] = cred headers["cred"] = cred
data = {"uid": uid, "gameId": 1} data = {"uid": uid, "gameId": 1}
header = get_sign_header(token, ARK_SKD_SIGN, "post", data, headers) # header = get_sign_header(token, ARK_SKD_SIGN, "post", data, headers)
raw_data = await self.ark_request( async with ClientSession(
url=ARK_SKD_SIGN, connector=TCPConnector(),
method="POST", ) as client:
data=data, sign_response = await client.post(
header=header, ARK_SKD_SIGN,
headers=get_sign_header(token, ARK_SKD_SIGN, "post", data, headers),
json=data,
) )
if isinstance(raw_data, int): sign_response_json = await sign_response.json()
return raw_data unpack_data = self.unpack(sign_response_json)
if raw_data is None:
return -61
unpack_data = self.unpack(raw_data)
if isinstance(unpack_data, int): if isinstance(unpack_data, int):
return unpack_data return unpack_data
else: else: