🐛 修复数据备份、以及校验全部Stoken

This commit is contained in:
Wuyi无疑 2023-03-14 00:19:30 +08:00
parent c1a43426a8
commit eb8cc49498
22 changed files with 43 additions and 28 deletions

View File

@ -3,8 +3,8 @@ import asyncio
from pathlib import Path
from typing import Union, Optional
from nonebot.log import logger
from PIL import Image, ImageDraw
from gsuid_core.logger import logger
from ..utils.convert import GsCookie
from ..utils.error_reply import get_error

View File

@ -13,7 +13,7 @@ from ..utils.database import get_sqla
from ..gsuid_utils.database.models import GsUser
@scheduler.scheduled_job('cron', hour=0)
@scheduler.scheduled_job('cron', hour=0, minute=6)
async def daily_refresh_charData():
await data_backup()
@ -36,7 +36,7 @@ async def send_check_cookie(bot: Bot, ev: Event):
True if int(user.uid[0]) > 5 else False,
)
if isinstance(mys_data, int):
await get_sqla(bot.bot_id).delete_user_data(user.uid)
await get_sqla(bot.bot_id).update_user_cookie(user.uid, None)
invalid_user.append(user)
continue
for i in mys_data:
@ -81,8 +81,7 @@ async def send_check_stoken(bot: Bot, ev: Event):
for user in user_list:
if user.stoken and user.mys_id:
mys_data = await mys_api.get_cookie_token_by_stoken(
user.stoken,
user.mys_id,
'', user.mys_id, user.stoken
)
if isinstance(mys_data, int):
await get_sqla(bot.bot_id).update_user_stoken(user.uid, None)

View File

@ -2,11 +2,15 @@ import os
import datetime
from shutil import copyfile
from nonebot.log import logger
from gsuid_core.logger import logger
from gsuid_core.data_store import get_res_path
from ..utils.database import get_sqla
from ..utils.database import db_url, get_sqla
from ..utils.resource.RESOURCE_PATH import TEMP_PATH
DB = get_res_path().parent / 'GsData.db'
DB_BACKUP = get_res_path() / 'GenshinUID'
async def data_backup():
try:
@ -14,9 +18,11 @@ async def data_backup():
endday = today - datetime.timedelta(days=5)
date_format = today.strftime("%Y_%d_%b")
endday_format = endday.strftime("%Y_%d_%b")
copyfile('ID_DATA.db', f'ID_DATA_BAK_{date_format}.db')
if os.path.exists(f'ID_DATA_BAK_{endday_format}.db'):
os.remove(f'ID_DATA_BAK_{endday_format}.db')
backup = DB_BACKUP / f'GsData_BAK_{date_format}.db'
end_day_backup = DB_BACKUP / f'GsData_BAK_{endday_format}.db'
copyfile(db_url, backup)
if os.path.exists(end_day_backup):
os.remove(end_day_backup)
logger.info(f'————已删除数据库备份{endday_format}————')
logger.info('————数据库成功备份————')
for f in TEMP_PATH.glob('*.jpg'):

View File

@ -2,8 +2,8 @@ import asyncio
from pathlib import Path
from typing import Union
from nonebot.log import logger
from PIL import Image, ImageDraw
from gsuid_core.logger import logger
from .gs_config import gsconfig
from ..utils.database import get_sqla

View File

@ -1,6 +1,6 @@
from typing import Optional
from nonebot.log import logger
from gsuid_core.logger import logger
from .gs_config import gsconfig
from ..utils.database import get_sqla

View File

@ -1,7 +1,7 @@
from copy import deepcopy
from typing import Dict, List, Tuple, Optional
from nonebot.log import logger
from gsuid_core.logger import logger
from .Power import sp_prop
from ..etc.get_buff_list import get_buff_list

View File

@ -1,7 +1,7 @@
from copy import deepcopy
from typing import Dict, List, Tuple, Optional
from nonebot.log import logger
from gsuid_core.logger import logger
from .Enemy import Enemy
from .Power import Power

View File

@ -5,8 +5,8 @@ import datetime
from pathlib import Path
from typing import List, Tuple, Union
from nonebot.log import logger
from PIL import Image, ImageDraw
from gsuid_core.logger import logger
from ..utils.image.convert import convert_img
from ..utils.map.name_covert import name_to_avatar_id

View File

@ -1,8 +1,8 @@
from pathlib import Path
from typing import Union
from nonebot.log import logger
from PIL import Image, ImageDraw
from gsuid_core.logger import logger
from ..utils.mys_api import mys_api
from ..utils.error_reply import get_error

View File

@ -2,7 +2,7 @@ import json
from pathlib import Path
from typing import Dict, List, Union
from nonebot.log import logger
from gsuid_core.logger import logger
from .abyss_history import history_data
from ..gsuid_utils.api.hhw.request import (

View File

@ -4,7 +4,7 @@ from copy import deepcopy
from typing import Dict, Literal
from httpx import AsyncClient
from nonebot.log import logger
from gsuid_core.logger import logger
from ..utils.mys_api import mys_api
from ..gsuid_utils.api.mys.tools import (

View File

@ -1,8 +1,8 @@
from pathlib import Path
from typing import Union
from nonebot.log import logger
from PIL import Image, ImageDraw
from gsuid_core.logger import logger
from ..utils.mys_api import mys_api
from ..utils.error_reply import get_error

View File

@ -3,8 +3,8 @@ import asyncio
from typing import List
from pathlib import Path
from nonebot.log import logger
from PIL import Image, ImageDraw
from gsuid_core.logger import logger
from ..utils.mys_api import mys_api
from ..utils.database import get_sqla

View File

@ -1,7 +1,7 @@
import math
from typing import List
from nonebot.log import logger
from gsuid_core.logger import logger
from ..utils.mys_api import mys_api
from ..utils.error_reply import get_error

View File

@ -1,8 +1,8 @@
import asyncio
from pathlib import Path
from nonebot.log import logger
from PIL import Image, ImageDraw
from gsuid_core.logger import logger
from ..utils.mys_api import mys_api
from ..utils.convert import GsCookie

View File

@ -1,7 +1,7 @@
import json
import time
from nonebot.log import logger
from gsuid_core.logger import logger
from ..utils.mys_api import mys_api
from ..utils.error_reply import get_error

View File

@ -3,7 +3,7 @@ import asyncio
from copy import deepcopy
from gsuid_core.gss import gss
from nonebot.log import logger
from gsuid_core.logger import logger
from ..utils.mys_api import mys_api
from ..utils.database import get_sqla

View File

@ -6,8 +6,8 @@ from typing import Literal
import qrcode
from gsuid_core.bot import Bot
from nonebot.log import logger
from qrcode import ERROR_CORRECT_L
from gsuid_core.logger import logger
from ..utils.mys_api import mys_api
from ..utils.database import get_sqla

View File

@ -2,8 +2,8 @@ from pathlib import Path
from typing import List, Union
import git
from nonebot.log import logger
from git.exc import GitCommandError
from gsuid_core.logger import logger
async def update_from_git(

View File

@ -233,6 +233,16 @@ class SQLA:
return True
return False
async def update_user_cookie(
self, uid: str, cookie: Optional[str]
) -> bool:
if await self.user_exists(uid):
sql = update(GsUser).where(GsUser.uid == uid).values(cookie=cookie)
await self.session.execute(sql)
await self.session.commit()
return True
return False
async def update_switch_status(self, uid: str, data: Dict) -> bool:
if await self.user_exists(uid):
sql = update(GsUser).where(GsUser.uid == uid).values(**data)

View File

@ -4,7 +4,7 @@ from pathlib import Path
from typing import List, Tuple
from bs4 import BeautifulSoup
from nonebot.log import logger
from gsuid_core.logger import logger
from aiohttp.client import ClientSession
from .download_url import PATH_MAP, download_file

View File

@ -1,7 +1,7 @@
from typing import Tuple, Optional
import aiofiles
from nonebot.log import logger
from gsuid_core.logger import logger
from aiohttp.client import ClientSession
from aiohttp.client_exceptions import ClientConnectorError