From c758b2d888489d1d24ff0454a2b6fd3284327d28 Mon Sep 17 00:00:00 2001 From: Soulter <37870767+Soulter@users.noreply.github.com> Date: Wed, 31 Dec 2025 23:10:12 +0800 Subject: [PATCH] feat: use shell globbing to match umop config router (#4270) * feat: use shell globbing to match umop config router * rf * fix: use fnmatchcase for case-sensitive matching in UmopConfigRouter --- astrbot/core/umop_config_router.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/astrbot/core/umop_config_router.py b/astrbot/core/umop_config_router.py index 27f6232aa..b82ece2df 100644 --- a/astrbot/core/umop_config_router.py +++ b/astrbot/core/umop_config_router.py @@ -1,3 +1,5 @@ +import fnmatch + from astrbot.core.utils.shared_preferences import SharedPreferences @@ -30,7 +32,7 @@ class UmopConfigRouter: if len(p1_ls) != 3 or len(p2_ls) != 3: return False # 非法格式 - return all(p == "" or p == "*" or p == t for p, t in zip(p1_ls, p2_ls)) + return all(p == "" or fnmatch.fnmatchcase(t, p) for p, t in zip(p1_ls, p2_ls)) def get_conf_id_for_umop(self, umo: str) -> str | None: """根据 UMO 获取对应的配置文件 ID