2023-12-04 12:31:14 +08:00

40 lines
1.2 KiB
Python

import asyncio
from pathlib import Path
from gsuid_core.bot import Bot
from gsuid_core.data_store import get_res_path
from gsuid_core.logger import logger
from gsuid_core.models import Event
from gsuid_core.plugins.ArknightsUID.ArknightsUID.utils.resource.download_all_resource import (
download_all_resource,
)
from gsuid_core.sv import SV
from .constants import Excel
from .memoryStore import store
sv_download_config = SV("下载资源", pm=2)
@sv_download_config.on_fullmatch(("ark下载全部资源")) # noqa: UP034
async def send_download_resource_msg(bot: Bot, ev: Event):
await bot.send("正在开始下载~可能需要较久的时间!")
im = await download_all_resource()
await bot.send(im)
async def startup():
logger.info("[资源文件下载] 正在检查与下载缺失的资源文件, 可能需要较长时间, 请稍等")
await download_all_resource()
logger.info("[资源文件下载] 检查完毕, 正在加载 gamedata")
TASK = []
for file_path in Path(
get_res_path(["ArknightsUID", "resource", "gamedata"])
).glob("*.json"):
TASK.append(store.get_file(file_path))
asyncio.gather(*TASK)
await Excel.preload_table()
logger.info("[资源文件下载] gamedata 加载完毕")