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()