🎨 重构Cred绑定

This commit is contained in:
qwerdvd 2023-08-18 20:51:35 +08:00
parent d6272061f5
commit 17c4e13b47
2 changed files with 11 additions and 14 deletions

View File

@ -1,23 +1,24 @@
from ..utils.ark_api import ark_skd_api from ..utils.ark_api import ark_skd_api
from ..utils.database.models import ArknightsUser from ..utils.database.models import ArknightsBind, ArknightsUser
ERROR_HINT = '添加失败,格式为:明日方舟UID - Cred\n \ ERROR_HINT = '添加失败,格式为: skd添加cred Cred 例如: skd添加cred VropL583Sb1hClS5buQ4nSASkDlL8tMT'
例如:1810461245 - VropL583Sb1hClS5buQ4nSASkDlL8tMT' UID_HINT = '添加失败, 请先绑定明日方舟UID'
async def deal_skd_cred(bot_id: str, cred: str, user_id: str) -> str: async def deal_skd_cred(bot_id: str, cred: str, user_id: str) -> str:
if '-' not in cred: uid_list = await ArknightsBind.get_uid_list_by_game(user_id, bot_id)
return ERROR_HINT if uid_list is None:
_ck = cred.replace(' ', '').split('-') return UID_HINT
if len(_ck) != 2 or not _ck[0] or not _ck[0].isdigit() or not _ck[1]:
return ERROR_HINT check_cred = await ark_skd_api.check_cred_valid(cred)
check_cred = await ark_skd_api.check_cred_valid(_ck[1])
if isinstance(check_cred, bool): if isinstance(check_cred, bool):
return 'Cred无效!' return 'Cred无效!'
else: else:
skd_uid = check_cred.user.id_ skd_uid = check_cred.user.id_
uid, cred = _ck[0], _ck[1] uid = check_cred.gameStatus.uid
if uid not in uid_list:
return '该uid并未绑定'
await ArknightsUser.insert_data(user_id, bot_id, await ArknightsUser.insert_data(user_id, bot_id,
cred=cred, uid=uid, skd_uid=skd_uid) cred=cred, uid=uid, skd_uid=skd_uid)
return '添加成功!' return '添加成功!'

View File

@ -40,9 +40,6 @@ class BaseArkApi:
if isinstance(unpack_data, int): if isinstance(unpack_data, int):
return unpack_data return unpack_data
else: else:
import json
with open('test.json', 'w', encoding='utf-8') as f:
json.dump(unpack_data, f, ensure_ascii=False, indent=4)
return msgspec.convert(unpack_data, type=ArknightsPlayerInfoModel) return msgspec.convert(unpack_data, type=ArknightsPlayerInfoModel)
async def check_cred_valid(self, Cred: str) -> bool | ArknightsUserMeModel: async def check_cred_valid(self, Cred: str) -> bool | ArknightsUserMeModel:
@ -83,7 +80,6 @@ class BaseArkApi:
arkUser = await ArknightsUser.base_select_data(Cred=Cred) arkUser = await ArknightsUser.base_select_data(Cred=Cred)
if arkUser is None: if arkUser is None:
return -61 return -61
print(Cred)
header['Cred'] = Cred header['Cred'] = Cred
async with ClientSession( async with ClientSession(