diff --git a/README.md b/README.md index 866533c6..b1cfed2e 100644 --- a/README.md +++ b/README.md @@ -296,6 +296,10 @@ PS: **ARM平台** 请使用全量版 同时 **如果你的机器 RAM < 1G 可能 ## 更新 +### 2022/12/17 + +* 修复查看插件仓库当已安装插件版本不一致时出错 + ### 2022/12/15 * 修复自定义群欢迎消息无法使用 diff --git a/basic_plugins/plugin_shop/data_source.py b/basic_plugins/plugin_shop/data_source.py index a8b92632..c73d3d7d 100644 --- a/basic_plugins/plugin_shop/data_source.py +++ b/basic_plugins/plugin_shop/data_source.py @@ -116,7 +116,8 @@ async def show_plugin_repo() -> Union[int, str]: if code != 200: return code plugin_info = json.load(open(plugin_json, "r", encoding="utf8")) - load_plugin_list = plugins_manager.get_data().keys() + plugins_data = plugins_manager.get_data() + load_plugin_list = plugins_data.keys() image_list = [] w, h = 0, 0 line_height = 10 @@ -134,7 +135,7 @@ async def show_plugin_repo() -> Union[int, str]: version = "" if key in load_plugin_list: status = "[已安装]" - version = f"[{plugins_manager.get_data()[key]['version']}]" + version = f"[{plugins_data[key].version}]" s = ( f'id:{i+1}\n名称:{plugin_info[key]["plugin_name"]}' f' \t\t{status}\n' diff --git a/plugins/web_ui/__init__.py b/plugins/web_ui/__init__.py index 875cde6e..29e8a05d 100644 --- a/plugins/web_ui/__init__.py +++ b/plugins/web_ui/__init__.py @@ -5,10 +5,7 @@ from nonebot.matcher import Matcher from nonebot.message import run_preprocessor, IgnoredException from utils.manager import plugins2settings_manager from nonebot.typing import T_State -from nonebot.adapters.onebot.v11 import ( - Bot, - MessageEvent -) +from nonebot.adapters.onebot.v11 import Bot, MessageEvent gConfig.add_plugin_config("web-ui", "username", "admin", name="web-ui", help_="前端管理用户名") @@ -23,14 +20,12 @@ gConfig.add_plugin_config("web-ui", "password", None, name="web-ui", help_="前 async def _(matcher: Matcher, bot: Bot, event: MessageEvent, state: T_State): flag = False for module in plugins2settings_manager.keys(): - if isinstance(plugins2settings_manager.get_plugin_data(module).cmd, str): - plugins2settings_manager.set_module_data( - module, - "cmd", - plugins2settings_manager.get_plugin_data(module).cmd.split(","), - False - ) + if plugins2settings_manager.get_plugin_data(module).cmd and isinstance( + plugins2settings_manager.get_plugin_data(module).cmd, str + ): + plugins2settings_manager[module].cmd = plugins2settings_manager[ + module + ].cmd.split(",") flag = True - if flag: - plugins2settings_manager.save() - + if flag: + plugins2settings_manager.save()