diff --git a/.gitignore b/.gitignore index f8e91025..09193394 100644 --- a/.gitignore +++ b/.gitignore @@ -153,29 +153,8 @@ extensive_plugin/ test/ bot.py .idea/ -/resources/text/ -# /resources/image/ -/resources/temp/ -/resources/image/genshin/ -/resources/image/draw_card/ -/resources/image/card/ -/resources/image/temp/ -/resources/image/sign/today_card/ -/resources/image/image_management/ -/resources/image/bilibili_sub/ -/resources/image/other/ -/resources/image/_setu/ -/resources/image/_r18/ -/resources/image/csgo_cases/ -!/resources/image/csgo_cases/_background/ -/resources/image/superuser_help.png -/resources/image/update_img_help.png -/resources/image/prts/ +resources/ /configs/config.py configs/config.yaml -plugins/csgo_server/ -plugins/activity/ -!/resources/image/genshin/alc/back.png -!/data/genshin_alc/ .vscode/launch.json plugins_/ \ No newline at end of file diff --git a/zhenxun/builtin_plugins/auto_update/__init__.py b/zhenxun/builtin_plugins/auto_update/__init__.py index e7e9cbe2..e0b253ca 100644 --- a/zhenxun/builtin_plugins/auto_update/__init__.py +++ b/zhenxun/builtin_plugins/auto_update/__init__.py @@ -13,7 +13,7 @@ from nonebot_plugin_alconna import ( ) from nonebot_plugin_uninfo import Uninfo -from zhenxun.configs.utils import PluginExtraData, RegisterConfig +from zhenxun.configs.utils import PluginExtraData from zhenxun.services.log import logger from zhenxun.utils.enum import PluginType from zhenxun.utils.manager.resource_manager import ( @@ -30,25 +30,19 @@ __plugin_meta__ = PluginMetadata( usage=""" usage: 检查更新真寻最新版本,包括了自动更新 + 资源文件大小一般在130mb左右,除非必须更新一般仅更新代码文件 指令: 检查更新 [main|release] ?[-r] -r: 下载资源文件 示例: 检查更新 main 检查更新 main -r + 检查更新 release -r """.strip(), extra=PluginExtraData( author="HibiKier", version="0.1", plugin_type=PluginType.SUPERUSER, - configs=[ - RegisterConfig( - key="UPDATE_REMIND", - value=True, - help="是否检测更新版本", - default_value=True, - ), - ], ).dict(), ) @@ -87,6 +81,9 @@ async def _( await ResourceManager.init_resources(True) except DownloadResourceException: result += "\n资源更新下载失败..." + except Exception as e: + logger.error("资源更新下载失败...", "检查更新", session=session, e=e) + result += "\n资源更新未知错误..." if result: await MessageUtils.build_message(result).finish() await MessageUtils.build_message("更新版本失败...").finish() diff --git a/zhenxun/builtin_plugins/init/init_config.py b/zhenxun/builtin_plugins/init/init_config.py index ec6bd170..2bd31805 100644 --- a/zhenxun/builtin_plugins/init/init_config.py +++ b/zhenxun/builtin_plugins/init/init_config.py @@ -25,7 +25,7 @@ if old_config_file.exists(): old_config_file.rename(SIMPLE_CONFIG_FILE) -def _handle_config(plugin: Plugin): +def _handle_config(plugin: Plugin, exists_module: list[str]): """处理配置项 参数: @@ -49,9 +49,10 @@ def _handle_config(plugin: Plugin): arg_parser=reg_config.arg_parser, _override=False, ) + exists_module.append(f"{module}:{reg_config.key}") -def _generate_simple_config(): +def _generate_simple_config(exists_module: list[str]): """ 生成简易配置 @@ -70,9 +71,12 @@ def _generate_simple_config(): try: if _data.get(module) and k in _data[module].keys(): Config.set_config(module, k, _data[module][k]) - _tmp_data[module][k] = Config.get_config(module, k) + if f"{module}:{k}" in exists_module: + _tmp_data[module][k] = Config.get_config(module, k) except AttributeError as e: raise AttributeError(f"{e}\n可能为config.yaml配置文件填写不规范") from e + if not _tmp_data[module]: + _tmp_data.pop(module) Config.save() temp_file = DATA_PATH / "temp_config.yaml" # 重新生成简易配置文件 @@ -103,9 +107,10 @@ def _(): 初始化插件数据配置 """ plugins2config_file = DATA_PATH / "configs" / "plugins2config.yaml" + exists_module = [] for plugin in get_loaded_plugins(): if plugin.metadata: - _handle_config(plugin) + _handle_config(plugin, exists_module) if not Config.is_empty(): Config.save() _data: CommentedMap = _yaml.load(plugins2config_file.open(encoding="utf8")) @@ -118,4 +123,4 @@ def _(): # 存完插件基本设置 with plugins2config_file.open("w", encoding="utf8") as wf: _yaml.dump(_data, wf) - _generate_simple_config() + _generate_simple_config(exists_module)