mirror of
https://github.com/KimigaiiWuyi/GenshinUID.git
synced 2025-05-31 04:30:29 +08:00
新增:校验全部Stoken
This commit is contained in:
parent
5e1555ff21
commit
d454fe5bfe
@ -813,6 +813,27 @@ async def check_cookies(bot: HoshinoBot, ev: CQEvent):
|
||||
logger.exception('Cookie校验错误')
|
||||
|
||||
|
||||
# 群聊内 校验Stoken 是否正常的功能,不正常自动删掉
|
||||
@sv.on_fullmatch('校验全部Stoken')
|
||||
async def check_stoken(bot: HoshinoBot, ev: CQEvent):
|
||||
try:
|
||||
raw_mes = await check_stoken_db()
|
||||
im = raw_mes[0]
|
||||
await bot.send(ev, im)
|
||||
for i in raw_mes[1]:
|
||||
await bot.send_private_msg(user_id=i[0],
|
||||
message='您绑定的Stoken(uid{})已失效,以下功能将会受到影响:\n'
|
||||
'gs开启自动米游币,开始获取米游币。\n'
|
||||
'重新添加后需要重新开启自动米游币。'.format(i[1]))
|
||||
await asyncio.sleep(3 + random.randint(1, 3))
|
||||
except ActionFailed as e:
|
||||
await bot.send(ev, '机器人发送消息失败:{}'.format(e))
|
||||
logger.exception('发送Cookie校验信息失败')
|
||||
except Exception as e:
|
||||
await bot.send(ev, '发生错误 {},请检查后台输出。'.format(e))
|
||||
logger.exception('Cookie校验错误')
|
||||
|
||||
|
||||
# 群聊内 查询当前树脂状态以及派遣状态 的命令
|
||||
@sv.on_fullmatch('当前状态')
|
||||
async def send_daily_data(bot: HoshinoBot, ev: CQEvent):
|
||||
|
@ -17,6 +17,7 @@ from nonebot import logger
|
||||
mhyVersion = '2.11.1'
|
||||
o_url = 'https://api-takumi.mihoyo.com'
|
||||
n_url = 'https://api-takumi-record.mihoyo.com'
|
||||
bbs_Taskslist = 'https://bbs-api.mihoyo.com/apihub/sapi/getUserMissionsState'
|
||||
|
||||
BASE_PATH = os.path.dirname(__file__)
|
||||
BASE2_PATH = os.path.join(BASE_PATH, 'mihoyo_bbs')
|
||||
@ -125,6 +126,7 @@ async def check_db():
|
||||
mys_data['data']['list'].remove(i)
|
||||
return_str = return_str + f'uid{row[0]}/mys{mihoyo_id}的Cookies是正常的!\n'
|
||||
normal_num += 1
|
||||
logger.info(f'uid{row[0]}/mys{mihoyo_id}的Cookies是正常的!')
|
||||
except:
|
||||
invalid_str = invalid_str + f'uid{row[0]}的Cookies是异常的!已删除该条Cookies!\n'
|
||||
return_str = return_str + f'uid{row[0]}的Cookies是异常的!已删除该条Cookies!\n'
|
||||
@ -134,11 +136,67 @@ async def check_db():
|
||||
c.execute('DELETE from CookiesCache where Cookies=?', (row[1],))
|
||||
except:
|
||||
pass
|
||||
logger.info(f'uid{row[0]}的Cookies是异常的!已删除该条Cookies!')
|
||||
if len(c_data) > 9:
|
||||
return_str = '正常Cookies数量:{}\n{}'.format(str(normal_num),
|
||||
'失效cookies:\n' + invalid_str if invalid_str else '无失效Cookies')
|
||||
'失效cookies:\n' + invalid_str if invalid_str else '无失效Cookies')
|
||||
conn.commit()
|
||||
conn.close()
|
||||
logger.info('已完成Cookies检查!')
|
||||
logger.info(f'正常Cookies数量:{str(normal_num)}')
|
||||
logger.info(f'失效cookies:\n' + invalid_str if invalid_str else '无失效Cookies')
|
||||
return [return_str, invalid_list]
|
||||
|
||||
|
||||
async def check_stoken_db():
|
||||
def random_text(num: int) -> str:
|
||||
return ''.join(random.sample(string.ascii_lowercase + string.digits, num))
|
||||
return_str = str()
|
||||
normal_num = 0
|
||||
invalid_str = ''
|
||||
invalid_list = []
|
||||
conn = sqlite3.connect('ID_DATA.db')
|
||||
c = conn.cursor()
|
||||
cursor = c.execute('SELECT UID,Stoken,QID from NewCookiesTable')
|
||||
c_data = cursor.fetchall()
|
||||
for row in c_data:
|
||||
if row[1] is None:
|
||||
continue
|
||||
async with AsyncClient() as client:
|
||||
req = await client.get(url=bbs_Taskslist,
|
||||
headers = {
|
||||
'DS' : old_version_get_ds_token(True),
|
||||
'cookie' : row[1],
|
||||
'x-rpc-client_type' : '2',
|
||||
'x-rpc-app_version' : '2.7.0',
|
||||
'x-rpc-sys_version' : '6.0.1',
|
||||
'x-rpc-channel' : 'mihoyo',
|
||||
'x-rpc-device_id' : random_hex(32),
|
||||
'x-rpc-device_name' : random_text(random.randint(1, 10)),
|
||||
'x-rpc-device_model': 'Mi 10',
|
||||
'Referer' : 'https://app.mihoyo.com',
|
||||
'Host' : 'bbs-api.mihoyo.com',
|
||||
'User-Agent' : 'okhttp/4.8.0'
|
||||
})
|
||||
data = req.json()
|
||||
if 'err' in data['message'] or data['retcode'] == -100:
|
||||
invalid_str = invalid_str + f'uid{row[0]}的Stoken是异常的!已删除该条Stoken!\n'
|
||||
return_str = return_str + f'uid{row[0]}的Stoken是异常的!已删除该条Stoken!\n'
|
||||
invalid_list.append([row[2], row[0]])
|
||||
c.execute('UPDATE NewCookiesTable SET Stoken = ? WHERE UID=?', (None, row[0]))
|
||||
logger.info(f'uid{row[0]}的Stoken是异常的!已删除该条Stoken!')
|
||||
else:
|
||||
return_str = return_str + f'uid{row[0]}的Stoken是正常的!\n'
|
||||
logger.info(f'uid{row[0]}的Stoken是正常的!')
|
||||
normal_num += 1
|
||||
if len(c_data) > 9:
|
||||
return_str = '正常Stoken数量:{}\n{}'.format(str(normal_num),
|
||||
'失效Stoken:\n' + invalid_str if invalid_str else '无失效Stoken')
|
||||
conn.commit()
|
||||
conn.close()
|
||||
logger.info('已完成Stoken检查!')
|
||||
logger.info(f'正常Stoken数量:{normal_num}')
|
||||
logger.info(f'失效Stoken:\n' + invalid_str if invalid_str else '无失效Stoken')
|
||||
return [return_str, invalid_list]
|
||||
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user