Files
gestion-perso/commands/antiraid/bunker.js
T
2024-02-26 12:55:08 +01:00

31 lines
1.5 KiB
JavaScript

module.exports = {
name: 'bunker',
description: 'Activer le bot bunker',
emote: '🛡️',
utilisation: 'bunker',
category: 'antiraid',
async execute(message) {
const guild = message.guild;
const dangerousPermissions = [
'ADMINISTRATOR', 'VIEW_AUDIT_LOG', 'MANAGE_GUILD', 'MANAGE_ROLES', 'MANAGE_CHANNELS', 'KICK_MEMBERS', 'BAN_MEMBERS',
'MANAGE_NICKNAMES', 'MANAGE_EMOJIS_AND_STICKERS', 'MANAGE_WEBHOOKS', 'MANAGE_MESSAGES', 'EMBED_LINKS', 'ATTACH_FILES',
'SEND_TTS_MESSAGES', 'MENTION_EVERYONE', 'MUTE_MEMBERS', 'DEAFEN_MEMBERS', 'MOVE_MEMBERS', 'USE_VAD', 'PRIORITY_SPEAKER'
];
// 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é');
},
};