From 04d74f1f6317005696259f1fcfe17f3cfc667396 Mon Sep 17 00:00:00 2001 From: molanp <104612722+molanp@users.noreply.github.com> Date: Sun, 27 Jul 2025 00:48:56 +0800 Subject: [PATCH] =?UTF-8?q?refactor(ban):=20=E4=BC=98=E5=8C=96=20ban=20?= =?UTF-8?q?=E5=91=BD=E4=BB=A4=E5=92=8C=E7=9B=B8=E5=85=B3=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 修复 ban 命令中的 reason 参数可选标记 - 完善恶意触发检测和用户昵称违规的禁言信息 - 统一禁言操作的参数顺序,提高代码可读性 --- zhenxun/builtin_plugins/admin/ban/__init__.py | 2 +- zhenxun/builtin_plugins/hooks/chkdsk_hook.py | 7 ++++++- zhenxun/builtin_plugins/nickname.py | 4 +++- 3 files changed, 10 insertions(+), 3 deletions(-) diff --git a/zhenxun/builtin_plugins/admin/ban/__init__.py b/zhenxun/builtin_plugins/admin/ban/__init__.py index 3fb9f8cb..9a8e2dd2 100644 --- a/zhenxun/builtin_plugins/admin/ban/__init__.py +++ b/zhenxun/builtin_plugins/admin/ban/__init__.py @@ -119,7 +119,7 @@ _ban_matcher = on_alconna( Alconna( "ban", Args["user?", [str, At]], - Option("-r|--reason", Args["reason?", str]), + Option("-r|--reason", Args["reason", str]), Option("-g|--group", Args["group_id", str]), Option("-t|--time", Args["duration", int]), ), diff --git a/zhenxun/builtin_plugins/hooks/chkdsk_hook.py b/zhenxun/builtin_plugins/hooks/chkdsk_hook.py index ec5ccfed..30080281 100644 --- a/zhenxun/builtin_plugins/hooks/chkdsk_hook.py +++ b/zhenxun/builtin_plugins/hooks/chkdsk_hook.py @@ -92,7 +92,12 @@ async def _( if module: if _blmt.check(f"{user_id}__{module}"): await BanConsole.ban( - user_id, group_id, 9, malicious_ban_time * 60, bot.self_id + user_id, + group_id, + 9, + "恶意触发命令检测", + malicious_ban_time * 60, + bot.self_id, ) logger.info( f"触发了恶意触发检测: {matcher.plugin_name}", diff --git a/zhenxun/builtin_plugins/nickname.py b/zhenxun/builtin_plugins/nickname.py index 5cbc519e..ce3f9be8 100644 --- a/zhenxun/builtin_plugins/nickname.py +++ b/zhenxun/builtin_plugins/nickname.py @@ -275,7 +275,9 @@ async def _(bot: Bot, session: Uninfo): await GroupInfoUser.set_user_nickname(session.user.id, group_id, "") else: await FriendUser.set_user_nickname(session.user.id, "") - await BanConsole.ban(session.user.id, group_id, 9, 60, bot.self_id) + await BanConsole.ban( + session.user.id, group_id, 9, "用户昵称违规", 60, bot.self_id + ) return else: await MessageUtils.build_message("你在做梦吗?你没有昵称啊").finish(