🐛 Fix the exception caused by not handling the non-existent player

This commit is contained in:
洛水居室 2023-03-15 12:27:53 +08:00
parent c5d3e6a9c1
commit f1e56c0318
No known key found for this signature in database
GPG Key ID: C9DE87DA724B88FC

View File

@ -23,7 +23,7 @@ from core.services.sign.models import SignStatusEnum
from core.services.sign.services import SignServices from core.services.sign.services import SignServices
from core.services.users.services import UserService from core.services.users.services import UserService
from modules.apihelper.client.components.verify import Verify from modules.apihelper.client.components.verify import Verify
from plugins.tools.genshin import GenshinHelper from plugins.tools.genshin import GenshinHelper, CookiesNotFoundError, PlayerNotFoundError
from utils.log import logger from utils.log import logger
@ -346,8 +346,16 @@ class SignSystem(Plugin):
except NeedChallenge: except NeedChallenge:
text = "签到失败,触发验证码风控,自动签到自动关闭" text = "签到失败,触发验证码风控,自动签到自动关闭"
sign_db.status = SignStatusEnum.NEED_CHALLENGE sign_db.status = SignStatusEnum.NEED_CHALLENGE
except PlayerNotFoundError:
logger.info("用户 user_id[%s] 玩家不存在 关闭并移除自动签到", user_id)
await self.sign_service.remove(sign_db)
continue
except CookiesNotFoundError:
logger.info("用户 user_id[%s] cookie 不存在 关闭并移除自动签到", user_id)
await self.sign_service.remove(sign_db)
continue
except Exception as exc: except Exception as exc:
logger.error("执行自动签到时发生错误 user_id[%s] Message[%s]", user_id, exc.message) logger.error("执行自动签到时发生错误 user_id[%s]", user_id, exc_info=exc)
text = "签到失败了呜呜呜 ~ 执行自动签到时发生错误" text = "签到失败了呜呜呜 ~ 执行自动签到时发生错误"
else: else:
sign_db.status = SignStatusEnum.STATUS_SUCCESS sign_db.status = SignStatusEnum.STATUS_SUCCESS