diff --git a/README.md b/README.md index faab367d..6ce58b5d 100644 --- a/README.md +++ b/README.md @@ -243,9 +243,12 @@ __Docker 最新版本由 [Sakuracio](https://github.com/Sakuracio) 提供__ ## 更新 +### 2022/6/19 + +* 暂时使用hook修复webui中plugins2setting修改时会改变plugins2setting.cmd为字符串 + ### 2022/6/18 -* 修复webui中plugins2setting修改时会改变plugins2setting.cmd为字符串 * 修复昵称系统`BLACK_WORD`为空时造成报错 * 修复特殊头像时背景透明化出错 * 修复text2image纯文本时换行时颜色不统一 diff --git a/plugins/web_ui/__init__.py b/plugins/web_ui/__init__.py index 189d847e..9a47fb47 100644 --- a/plugins/web_ui/__init__.py +++ b/plugins/web_ui/__init__.py @@ -1,20 +1,30 @@ from configs.config import Config as gConfig from .api import * from .auth import * - - -gConfig.add_plugin_config( - "web-ui", - "username", - "admin", - name="web-ui", - help_="前端管理用户名" +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 ) -gConfig.add_plugin_config( - "web-ui", - "password", - None, - name="web-ui", - help_="前端管理密码" -) + +gConfig.add_plugin_config("web-ui", "username", "admin", name="web-ui", help_="前端管理用户名") + +gConfig.add_plugin_config("web-ui", "password", None, name="web-ui", help_="前端管理密码") + + +# 使用webui访问api后plugins2settings中的cmd字段将从list变为str +# 暂时找不到原因 +# 先使用hook修复 +@run_preprocessor +async def _(matcher: Matcher, bot: Bot, event: MessageEvent, state: T_State): + for module in plugins2settings_manager.keys(): + if isinstance(plugins2settings_manager.get_plugin_data(module).get("cmd"), str): + plugins2settings_manager.set_module_data( + module, + "cmd", + plugins2settings_manager.get_plugin_data(module).get("cmd").split(","), + )