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

View File

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