From 736bc93b2a6dfd295f36efa81626a5e784e70ae0 Mon Sep 17 00:00:00 2001 From: MUHAMED FAZAL PS <107547381+muhamedfazalps@users.noreply.github.com> Date: Mon, 8 Jun 2026 17:21:19 +0530 Subject: [PATCH] fix: consistent handler_module_path for subdirectory tools (#8578) --- astrbot/core/star/context.py | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/astrbot/core/star/context.py b/astrbot/core/star/context.py index 593bad936..7bcffc627 100644 --- a/astrbot/core/star/context.py +++ b/astrbot/core/star/context.py @@ -493,12 +493,18 @@ class Context: _parts = [] module_part = tool.__module__.split(".") flags = ["builtin_stars", "plugins"] + found_flag = False for i, part in enumerate(module_part): _parts.append(part) if part in flags and i + 1 < len(module_part): _parts.append(module_part[i + 1]) _parts.append("main") + found_flag = True break + if not found_flag: + # Subdirectory tool: construct path matching star_manager format + plugin_name = module_part[0] + _parts = ["data", "plugins", plugin_name, "main"] tool.handler_module_path = ".".join(_parts) module_path = tool.handler_module_path else: