const { PermissionsBitField } = require('discord.js'); module.exports = { name: 'bunker', description: 'Activer le bot bunker', emote: '🛡️', utilisation: 'bunker', category: 'antiraid', async execute(message, args, client) { const guild = message.guild; const dangerousPermissions = [ PermissionsBitField.Flags.Administrator, PermissionsBitField.Flags.ManageGuild, PermissionsBitField.Flags.ManageRoles, PermissionsBitField.Flags.ManageChannels, PermissionsBitField.Flags.KickMembers, PermissionsBitField.Flags.BanMembers, PermissionsBitField.Flags.ManageWebhooks, PermissionsBitField.Flags.MuteMembers, PermissionsBitField.Flags.MentionEveryone, PermissionsBitField.Flags.ManageEvents, PermissionsBitField.Flags.ManageThreads, ]; if(args[0] === 'bot') { await Promise.all(guild.members.cache.filter(member => member.user.bot).map(member => member.kick())); return message.reply("Tous les bots ont bien été supprimés du serveur"); }else if (args[0] === 'role') { await Promise.all(guild.roles.cache.filter(role => dangerousPermissions.some(permission => role.permissions.has(permission))).map(role => role.delete())); return message.reply("Tous les rôles dangereux ont bien été supprimés du serveur"); }else if (args[0] === 'salon' || args[0] === 'channels') { await Promise.all(guild.channels.cache.map(async (channel) => { const permissionOverwrites = channel.permissionOverwrites.cache.filter(overwrite => dangerousPermissions.some(permission => overwrite.allow.has(permission) || overwrite.deny.has(permission))); await Promise.all(permissionOverwrites.map(overwrite => channel.permissionOverwrites.edit(overwrite.id, {}))); })); return message.reply("Toutes les permissions dangereuses sur les salons ont bien été supprimées du serveur"); }else { // Kick all bots await Promise.all(guild.members.cache.filter(member => member.user.bot).map(member => member.kick())); // Delete dangerous roles await Promise.all(guild.roles.cache.filter(role => dangerousPermissions.some(permission => role.permissions.has(permission))).map(role => role.delete())); // Delete dangerous channel overrides await Promise.all(guild.channels.cache.map(async (channel) => { const permissionOverwrites = channel.permissionOverwrites.cache.filter(overwrite => dangerousPermissions.some(permission => overwrite.allow.has(permission) || overwrite.deny.has(permission))); await Promise.all(permissionOverwrites.map(overwrite => channel.permissionOverwrites.edit(overwrite.id, {}))); })); await message.reply('Le serveur a bien été sécurisé'); } }, };