From 942fae1707e202fce6fdbfb15085b36bd2e7d88a Mon Sep 17 00:00:00 2001 From: molanp <104612722+molanp@users.noreply.github.com> Date: Tue, 29 Jul 2025 19:04:50 +0800 Subject: [PATCH] =?UTF-8?q?feat(ban):=20=E5=9C=A8=E8=B0=83=E7=94=A8ban?= =?UTF-8?q?=E5=88=97=E8=A1=A8=E6=97=B6=E4=B8=BB=E5=8A=A8=E5=88=A0=E9=99=A4?= =?UTF-8?q?=E8=BF=87=E6=9C=9F=E6=95=B0=E6=8D=AE=20-=20=E9=99=A4=E4=BA=86?= =?UTF-8?q?=E6=8E=A5=E6=94=B6=E5=88=B0=E8=A2=ABban=E7=94=A8=E6=88=B7?= =?UTF-8?q?=E7=9A=84=E4=BF=A1=E6=81=AF=E5=A4=96=EF=BC=8C=E7=8E=B0=E5=9C=A8?= =?UTF-8?q?=E4=B8=BB=E5=8A=A8=E8=B0=83=E7=94=A8`ban=E5=88=97=E8=A1=A8`?= =?UTF-8?q?=E5=91=BD=E4=BB=A4=E4=B9=9F=E4=BC=9A=E5=88=A0=E9=99=A4=E8=BF=87?= =?UTF-8?q?=E6=9C=9F=E6=95=B0=E6=8D=AE=20-=20=E4=BF=AE=E5=A4=8D=20unban=20?= =?UTF-8?q?=E8=BF=94=E5=9B=9E=E4=BF=A1=E6=81=AF=E9=94=99=E8=AF=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- zhenxun/builtin_plugins/admin/ban/_data_source.py | 12 +++++------- zhenxun/models/ban_console.py | 2 +- 2 files changed, 6 insertions(+), 8 deletions(-) diff --git a/zhenxun/builtin_plugins/admin/ban/_data_source.py b/zhenxun/builtin_plugins/admin/ban/_data_source.py index 1f2d50e3..da70a1d4 100644 --- a/zhenxun/builtin_plugins/admin/ban/_data_source.py +++ b/zhenxun/builtin_plugins/admin/ban/_data_source.py @@ -65,6 +65,9 @@ class BanManage: duration = "∞" else: duration = int((data.ban_time + data.duration - time.time()) / 60) + if isinstance(duration, int) and duration < 0: + await data.delete() + continue row_data.append( [ data.id, @@ -123,15 +126,10 @@ class BanManage: if ban_data.ban_level > user_level: return False, "unBan权限等级不足捏..." await ban_data.delete() - return ( - True, - f"用户 {ban_data.user_id}" - if ban_data.user_id - else f"群组 {ban_data.group_id}", - ) + return (True, ban_data.user_id if ban_data.user_id else ban_data.group_id) elif await BanConsole.check_ban_level(user_id, group_id, user_level): await BanConsole.unban(user_id, group_id) - return True, f"群组 {group_id}" + return True, str(group_id) return False, "该用户/群组不在黑名单中不足捏..." @classmethod diff --git a/zhenxun/models/ban_console.py b/zhenxun/models/ban_console.py index 83b02cc3..b1c6a4d9 100644 --- a/zhenxun/models/ban_console.py +++ b/zhenxun/models/ban_console.py @@ -110,7 +110,7 @@ class BanConsole(Model): return -1 _time = time.time() - (user.ban_time + user.duration) if _time < 0: - return int(time.time() - user.ban_time - user.duration) + return int(abs(_time)) await user.delete() return 0