Files
VALOU3336 9bd39c69ca grand commit que tutur attend ( marche pas le raidmode en dev)
sinon il y a pleins de truc comme les anti raid , des coorectif ect
2024-04-22 18:30:33 +02:00

53 lines
2.9 KiB
JavaScript

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é');
}
},
};