mirror of
https://github.com/arthur-pbty/gestion.git
synced 2026-06-05 13:51:57 +02:00
47 lines
2.2 KiB
JavaScript
47 lines
2.2 KiB
JavaScript
const { PermissionFlagsBits } = 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 = [
|
|
'ADMINISTRATOR', 'VIEW_AUDIT_LOG', 'MANAGE_GUILD', 'MANAGE_ROLES', 'MANAGE_CHANNELS', 'KICK_MEMBERS', 'BAN_MEMBERS',
|
|
'MANAGE_EMOJIS_AND_STICKERS', 'MANAGE_WEBHOOKS', 'MANAGE_MESSAGES',
|
|
'MENTION_EVERYONE', 'MUTE_MEMBERS', 'DEAFEN_MEMBERS', 'MOVE_MEMBERS'
|
|
];
|
|
// const dangerousPermissions = [
|
|
PermissionFlagsBits.FLAGS.
|
|
Permissions.FLAGS.VIEW_AUDIT_LOG,
|
|
Permissions.FLAGS.MANAGE_GUILD,
|
|
Permissions.FLAGS.MANAGE_ROLES,
|
|
Permissions.FLAGS.MANAGE_CHANNELS,
|
|
Permissions.FLAGS.KICK_MEMBERS,
|
|
Permissions.FLAGS.BAN_MEMBERS,
|
|
Permissions.FLAGS.MANAGE_EMOJIS_AND_STICKERS,
|
|
Permissions.FLAGS.MANAGE_WEBHOOKS,
|
|
Permissions.FLAGS.MANAGE_MESSAGES,
|
|
Permissions.FLAGS.MENTION_EVERYONE,
|
|
Permissions.FLAGS.MUTE_MEMBERS,
|
|
Permissions.FLAGS.DEAFEN_MEMBERS,
|
|
Permissions.FLAGS.MOVE_MEMBERS
|
|
//];
|
|
|
|
// 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é');
|
|
},
|
|
};
|