🐛 重写MysApi类方法中获取CK的部分

This commit is contained in:
KimigaiiWuyi 2023-09-23 00:57:59 +08:00
parent eaf5f7e346
commit 9541350493

View File

@ -2,9 +2,10 @@ import copy
import time
import random
from string import digits, ascii_letters
from typing import Any, Dict, Union, Optional, cast
from typing import Any, Dict, Union, Literal, Optional, cast
from gsuid_core.utils.api.mys_api import _MysApi
from gsuid_core.utils.database.models import GsUser
from gsuid_core.utils.api.mys.models import MysSign, SignInfo, SignList
from gsuid_core.utils.api.mys.tools import (
_random_int_ds,
@ -50,6 +51,33 @@ class MysApi(_MysApi):
def __init__(self, *args, **kwargs):
super().__init__(*args, **kwargs)
async def get_ck(
self, uid: str, mode: Literal['OWNER', 'RANDOM'] = 'RANDOM'
) -> Optional[str]:
if mode == 'RANDOM':
return await GsUser.get_random_cookie(uid, game_name='sr')
else:
return await GsUser.get_user_cookie_by_uid(uid, game_name='sr')
async def get_stoken(self, uid: str) -> Optional[str]:
return await GsUser.get_user_stoken_by_uid(uid, 'sr')
async def get_user_fp(self, uid: str) -> Optional[str]:
data = await GsUser.get_user_attr_by_uid(uid, 'fp', 'sr')
if data is None:
data = await self.generate_fp_by_uid(uid)
await GsUser.update_data_by_uid_without_bot_id(uid, 'sr', fp=data)
return data
async def get_user_device_id(self, uid: str) -> Optional[str]:
data = await GsUser.get_user_attr_by_uid(uid, 'device_id', 'sr')
if data is None:
data = self.get_device_id()
await GsUser.update_data_by_uid_without_bot_id(
uid, 'sr', device_id=data
)
return data
def check_os(self, uid: str) -> bool:
return False if int(str(uid)[0]) < 6 else True