Mise à jour du système d'absence staff

This commit is contained in:
Mathis 2026-05-16 20:02:53 +02:00
parent ae2347c7ce
commit d8b2f06f86
3 changed files with 108 additions and 105 deletions

View file

@ -14,18 +14,9 @@ class WhitelistMonitor(commands.Cog):
self.whitelist_file = "data/whitelist.json"
self.persistent_views_added = False
self.big_permissions = [
disnake.Permissions.administrator,
disnake.Permissions.manage_guild,
disnake.Permissions.manage_roles,
disnake.Permissions.manage_channels,
disnake.Permissions.kick_members,
disnake.Permissions.ban_members,
disnake.Permissions.manage_messages,
disnake.Permissions.moderate_members,
disnake.Permissions.manage_nicknames,
disnake.Permissions.manage_emojis,
disnake.Permissions.manage_webhooks,
disnake.Permissions.view_audit_log
"administrator", "manage_guild", "manage_roles", "manage_channels",
"kick_members", "ban_members", "manage_messages", "moderate_members",
"manage_nicknames", "manage_emojis", "manage_webhooks", "view_audit_log"
]
def load_whitelist(self) -> Dict[str, List[str]]:
@ -72,11 +63,8 @@ class WhitelistMonitor(commands.Cog):
def has_big_permissions(self, role: disnake.Role) -> bool:
"""Check if role has significant permissions."""
permissions = role.permissions
for perm in self.big_permissions:
if permissions.administrator or getattr(permissions, perm.name, False):
return True
return False
perms = role.permissions
return any(getattr(perms, p, False) for p in self.big_permissions)
async def send_whitelist_notification(self, member: disnake.Member, removed_roles: List[disnake.Role]):
"""Send DM notification to user about whitelist member losing roles."""