mirror of
https://github.com/KimigaiiWuyi/GenshinUID.git
synced 2025-06-03 05:59:51 +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校验错误')
|
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('当前状态')
|
@sv.on_fullmatch('当前状态')
|
||||||
async def send_daily_data(bot: HoshinoBot, ev: CQEvent):
|
async def send_daily_data(bot: HoshinoBot, ev: CQEvent):
|
||||||
|
@ -17,6 +17,7 @@ from nonebot import logger
|
|||||||
mhyVersion = '2.11.1'
|
mhyVersion = '2.11.1'
|
||||||
o_url = 'https://api-takumi.mihoyo.com'
|
o_url = 'https://api-takumi.mihoyo.com'
|
||||||
n_url = 'https://api-takumi-record.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__)
|
BASE_PATH = os.path.dirname(__file__)
|
||||||
BASE2_PATH = os.path.join(BASE_PATH, 'mihoyo_bbs')
|
BASE2_PATH = os.path.join(BASE_PATH, 'mihoyo_bbs')
|
||||||
@ -125,6 +126,7 @@ async def check_db():
|
|||||||
mys_data['data']['list'].remove(i)
|
mys_data['data']['list'].remove(i)
|
||||||
return_str = return_str + f'uid{row[0]}/mys{mihoyo_id}的Cookies是正常的!\n'
|
return_str = return_str + f'uid{row[0]}/mys{mihoyo_id}的Cookies是正常的!\n'
|
||||||
normal_num += 1
|
normal_num += 1
|
||||||
|
logger.info(f'uid{row[0]}/mys{mihoyo_id}的Cookies是正常的!')
|
||||||
except:
|
except:
|
||||||
invalid_str = invalid_str + f'uid{row[0]}的Cookies是异常的!已删除该条Cookies!\n'
|
invalid_str = invalid_str + f'uid{row[0]}的Cookies是异常的!已删除该条Cookies!\n'
|
||||||
return_str = return_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],))
|
c.execute('DELETE from CookiesCache where Cookies=?', (row[1],))
|
||||||
except:
|
except:
|
||||||
pass
|
pass
|
||||||
|
logger.info(f'uid{row[0]}的Cookies是异常的!已删除该条Cookies!')
|
||||||
if len(c_data) > 9:
|
if len(c_data) > 9:
|
||||||
return_str = '正常Cookies数量:{}\n{}'.format(str(normal_num),
|
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.commit()
|
||||||
conn.close()
|
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]
|
return [return_str, invalid_list]
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user