feat(ban): 在调用ban列表时主动删除过期数据

- 除了接收到被ban用户的信息外,现在主动调用`ban列表`命令也会删除过期数据
- 修复 unban 返回信息错误
This commit is contained in:
molanp 2025-07-29 19:04:50 +08:00
parent 59d72c3b3d
commit 942fae1707
2 changed files with 6 additions and 8 deletions

View File

@ -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

View File

@ -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