From fe3ed4c4548fdfd5b3c59cd06526a63bf9cbd7cc Mon Sep 17 00:00:00 2001 From: Soulter <905617992@qq.com> Date: Fri, 7 Feb 2025 20:24:11 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E8=87=AA=E9=83=A8=E7=BD=B2=E6=96=87?= =?UTF-8?q?=E8=BD=AC=E5=9B=BE=E4=B8=8D=E7=94=9F=E6=95=88=20#352?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- astrbot/core/__init__.py | 3 ++- astrbot/core/config/default.py | 2 +- astrbot/core/utils/t2i/network_strategy.py | 11 +++++++++++ packages/astrbot/main.py | 6 ++++-- 4 files changed, 18 insertions(+), 4 deletions(-) diff --git a/astrbot/core/__init__.py b/astrbot/core/__init__.py index aac8fc11..6e22ba94 100644 --- a/astrbot/core/__init__.py +++ b/astrbot/core/__init__.py @@ -11,7 +11,8 @@ from astrbot.core.config import AstrBotConfig os.makedirs("data", exist_ok=True) astrbot_config = AstrBotConfig() -html_renderer = HtmlRenderer() +t2i_base_url = astrbot_config.get('t2i_endpoint', 'https://t2i.soulter.top/text2img') +html_renderer = HtmlRenderer(t2i_base_url) logger = LogManager.GetLogger(log_name='astrbot') if os.environ.get('TESTING', ""): diff --git a/astrbot/core/config/default.py b/astrbot/core/config/default.py index 4087a498..85e753a3 100644 --- a/astrbot/core/config/default.py +++ b/astrbot/core/config/default.py @@ -251,7 +251,7 @@ CONFIG_METADATA_2 = { "type": "list", "items": {"type": "string"}, "obvious_hint": True, - "hint": "AstrBot 只处理所填写的 ID 发来的消息事件。为空时不启用白名单过滤。可以使用 /sid 指令获取在某个平台上的会话 ID。也可在 AstrBot 日志内获取会话 ID,当一条消息没通过白名单时,会输出 INFO 级别的日志。会话 ID 类似 aiocqhttp:GroupMessage:547540978", + "hint": "AstrBot 只处理所填写的 ID 发来的消息事件。为空时不启用白名单过滤。可以使用 /sid 指令获取在某个平台上的会话 ID。也可在 AstrBot 日志内获取会话 ID,当一条消息没通过白名单时,会输出 INFO 级别的日志。会话 ID 类似 aiocqhttp:GroupMessage:547540978。管理员可使用 /wl 添加白名单", }, "id_whitelist_log": { "description": "打印白名单日志", diff --git a/astrbot/core/utils/t2i/network_strategy.py b/astrbot/core/utils/t2i/network_strategy.py index a8254e08..63004bec 100644 --- a/astrbot/core/utils/t2i/network_strategy.py +++ b/astrbot/core/utils/t2i/network_strategy.py @@ -14,11 +14,22 @@ class NetworkRenderStrategy(RenderStrategy): base_url = ASTRBOT_T2I_DEFAULT_ENDPOINT self.BASE_RENDER_URL = base_url self.TEMPLATE_PATH = os.path.join(os.path.dirname(__file__), "template") + + if self.BASE_RENDER_URL.endswith("/"): + self.BASE_RENDER_URL = self.BASE_RENDER_URL[:-1] + if not self.BASE_RENDER_URL.endswith("text2img"): + self.BASE_RENDER_URL += "/text2img" def set_endpoint(self, base_url: str): if not base_url: base_url = ASTRBOT_T2I_DEFAULT_ENDPOINT self.BASE_RENDER_URL = base_url + + if self.BASE_RENDER_URL.endswith("/"): + self.BASE_RENDER_URL = self.BASE_RENDER_URL[:-1] + if not self.BASE_RENDER_URL.endswith("text2img"): + self.BASE_RENDER_URL += "/text2img" + async def render_custom_template(self, tmpl_str: str, tmpl_data: dict, return_url: bool=True) -> str: '''使用自定义文转图模板''' diff --git a/packages/astrbot/main.py b/packages/astrbot/main.py index 013e2c10..aaed82b0 100644 --- a/packages/astrbot/main.py +++ b/packages/astrbot/main.py @@ -227,6 +227,7 @@ UID: {user_id} 此 ID 可用于设置管理员。/op 授权管理员, /deo @filter.permission_type(filter.PermissionType.ADMIN) @filter.command("wl") async def wl(self, event: AstrMessageEvent, sid: str): + '''添加白名单。wl ''' self.context.get_config()['platform_settings']['id_whitelist'].append(sid) self.context.get_config().save_config() event.set_result(MessageEventResult().message("添加白名单成功。")) @@ -234,6 +235,7 @@ UID: {user_id} 此 ID 可用于设置管理员。/op 授权管理员, /deo @filter.permission_type(filter.PermissionType.ADMIN) @filter.command("dwl") async def dwl(self, event: AstrMessageEvent, sid: str): + '''删除白名单。dwl ''' try: self.context.get_config()['platform_settings']['id_whitelist'].remove(sid) self.context.get_config().save_config() @@ -274,7 +276,7 @@ UID: {user_id} 此 ID 可用于设置管理员。/op 授权管理员, /deo @filter.permission_type(filter.PermissionType.ADMIN) @filter.command("reset") async def reset(self, message: AstrMessageEvent): - + '''重置 LLM 会话''' if not self.context.get_using_provider(): message.set_result(MessageEventResult().message("未找到任何 LLM 提供商。请先配置。")) return @@ -298,7 +300,7 @@ UID: {user_id} 此 ID 可用于设置管理员。/op 授权管理员, /deo @filter.command("model") async def model_ls(self, message: AstrMessageEvent, idx_or_name: Union[int, str] = None): - + '''查看或者切换模型''' if not self.context.get_using_provider(): message.set_result(MessageEventResult().message("未找到任何 LLM 提供商。请先配置。")) return