mirror of
https://github.com/zhenxun-org/zhenxun_bot.git
synced 2025-12-14 21:52:56 +08:00
feat(ban): 在调用ban列表时主动删除过期数据 (#1997)
* feat(ban): 在调用ban列表时主动删除过期数据 - 除了接收到被ban用户的信息外,现在主动调用`ban列表`命令也会删除过期数据 - 修复 unban 返回信息错误 * refactor(ban): 优化 unban 函数返回值逻辑 - 使用或运算简化返回值判断逻辑 - 移除不必要的字符串转换 * refactor(zhenxun): 优化 unban 函数返回值类型 - 将 unban 函数的返回类型从 tuple[bool, str | None] 改为 tuple[bool, str] - 修改返回值,确保总是返回字符串类型,避免类型检查错误
This commit is contained in:
parent
7719be9866
commit
872d2499a2
@ -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,
|
||||
@ -111,7 +114,7 @@ class BanManage:
|
||||
is_superuser: 是否为超级用户操作
|
||||
|
||||
返回:
|
||||
tuple[bool, str]: 是否unban成功, 群组/用户id或提示
|
||||
tuple[bool, str | Non]: 是否unban成功, 群组/用户id或提示
|
||||
"""
|
||||
user_level = 9999
|
||||
if not is_superuser and user_id and session.id1:
|
||||
@ -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 or 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, group_id or ""
|
||||
return False, "该用户/群组不在黑名单中不足捏..."
|
||||
|
||||
@classmethod
|
||||
|
||||
@ -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
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user