🐛 fix(tag): 修复黑名单标签解析逻辑并优化标签详情展示

This commit is contained in:
webjoin111
2025-10-22 18:22:34 +08:00
parent da4123363c
commit 6815caf805
2 changed files with 55 additions and 25 deletions
+24 -10
View File
@@ -213,17 +213,31 @@ async def handle_info(name: Match[str], bot: Bot):
msg += f"模式: {mode}\n"
msg += f"描述: {details['description'] or '无'}\n"
if details["tag_type"] == "DYNAMIC":
if details["tag_type"] == "STATIC" and details["is_blacklist"]:
msg += f"排除群组 ({len(details['groups'])}个):\n"
if details["groups"]:
msg += "\n".join(f"- {gid}" for gid in details["groups"])
else:
msg += "无"
msg += "\n\n"
if details["tag_type"] == "DYNAMIC" and details.get("dynamic_rule"):
msg += f"动态规则: {details['dynamic_rule']}\n"
if details["resolved_groups"] is not None:
msg += f"当前匹配群组 ({len(details['resolved_groups'])}个):\n"
if details["resolved_groups"]:
msg += "\n".join(
f"- {g_name} ({g_id})"
for g_id, g_name in details["resolved_groups"]
)
else:
msg += "无"
title = (
"当前生效群组"
if details["tag_type"] == "DYNAMIC" or details["is_blacklist"]
else "关联群组"
)
if details["resolved_groups"] is not None:
msg += f"{title} ({len(details['resolved_groups'])}个):\n"
if details["resolved_groups"]:
msg += "\n".join(
f"- {g_name} ({g_id})" for g_id, g_name in details["resolved_groups"]
)
else:
msg += "无"
else:
msg += f"关联群组 ({len(details['groups'])}个):\n"
if details["groups"]: