🎨 Update DailyRewardClient error handler

This commit is contained in:
洛水居室 2023-07-19 10:22:10 +08:00
parent cc06be92fb
commit 9970561cf7
No known key found for this signature in database
GPG Key ID: C9DE87DA724B88FC

View File

@ -80,7 +80,7 @@ class DailyRewardClient(BaseClient):
url = base_url / endpoint
return await self.request_lab(
daily_reward = await self.request_lab(
url,
method,
params=params,
@ -88,6 +88,20 @@ class DailyRewardClient(BaseClient):
lang=lang,
)
if endpoint == "sign":
if self.region == Region.CHINESE and daily_reward.get("success", 0) == 1:
gt = daily_reward.get("gt", "")
challenge = daily_reward.get("challenge", "")
raise GeetestTriggered(gt, challenge)
if self.region == Region.OVERSEAS:
gt_result = daily_reward.get("gt_result")
if gt_result is not None and gt_result["success"] != 0:
gt = gt_result.get("gt", "")
challenge = gt_result.get("challenge", "")
raise GeetestTriggered(gt, challenge)
return daily_reward
async def get_reward_info(
self,
*,
@ -217,7 +231,7 @@ class DailyRewardClient(BaseClient):
Returns:
If `reward` is True, a DailyReward object representing the claimed reward. Otherwise, None.
"""
daily_reward = await self.request_daily_reward(
await self.request_daily_reward(
"sign",
method="POST",
game=game or self.game,
@ -226,17 +240,6 @@ class DailyRewardClient(BaseClient):
validate=validate,
)
if self.region == Region.CHINESE and daily_reward.get("success", 0) == 1:
gt = daily_reward.get("gt", "")
challenge = daily_reward.get("challenge", "")
raise GeetestTriggered(gt, challenge)
if self.region == Region.OVERSEAS:
gt_result = daily_reward.get("gt_result")
if gt_result is not None and gt_result["success"] != 0:
gt = gt_result.get("gt", "")
challenge = gt_result.get("challenge", "")
raise GeetestTriggered(gt, challenge)
if not reward:
return None