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

99 lines
4.7 KiB
JavaScript

const { PermissionsBitField } = require('discord.js');
module.exports = {
name: 'dperm',
description: 'Supprime une permission spécifiée de tous les rôles qui l\'ont',
async execute(message, args) {
if (!args[0]) {
return message.reply('Veuillez spécifier une permission à supprimer.');
}
switch (args[0].toLowerCase()) {
case 'ban':
const permissionToRemove = PermissionsBitField.Flags.BanMembers;
if (!permissionToRemove) {
return message.reply('Permission invalide.');
}
for (const role of message.guild.roles.cache.values()) {
console.log(role.name + '; ' + permissionToRemove + ' ;' + role.permissions);
if (role.permissions.has(permissionToRemove)) {
console.log(`Attempting to remove ban permission from role: ${role.name}`);
try {
await role.permissions.remove(PermissionsBitField.Flags.BanMembers);
console.log(`Successfully removed ban permission from role: ${role.name}`);
} catch (error) {
console.log(`Failed to remove ban permission from role: ${role.name}. Error: ${error}`);
}
}
}
message.reply(`La permission ${args[0]} a été supprimée de tous les rôles qui l'avaient.`);
break;
case 'webhook':
let permissionToRemove1 = PermissionsBitField.Flags.ManageWebhooks
if (!permissionToRemove1) {
return message.reply('Permission invalide.');
}
message.guild.roles.cache.forEach(role => {
if (role.permissions.has(permissionToRemove1)) {
role.permissions.remove(permissionToRemove1)
.then(updatedRole => {
console.log(`Permission ${args[0]} supprimée du rôle ${updatedRole.name}`);
})
.catch(error => {
console.error(`Erreur lors de la suppression de la permission ${args[0]} du rôle ${role.name}: ${error}`);
});
}
});
message.reply(`La permission ${args[0]} a été supprimée de tous les rôles qui l'avaient.`);
break;
case 'role':
let permissionToRemove2 = PermissionsBitField.Flags.ManageRoles
if (!permissionToRemove2) {
return message.reply('Permission invalide.');
}
message.guild.roles.cache.forEach(role => {
if (role.permissions.has(permissionToRemove2)) {
role.permissions.remove(permissionToRemove2)
.then(updatedRole => {
console.log(`Permission ${args[0]} supprimée du rôle ${updatedRole.name}`);
})
.catch(error => {
console.error(`Erreur lors de la suppression de la permission ${args[0]} du rôle ${role.name}: ${error}`);
});
}
});
message.reply(`La permission ${args[0]} a été supprimée de tous les rôles qui l'avaient.`);
break;
case 'servers' || 'serveur':
let permissionToRemove3 = PermissionsBitField.Flags.ManageGuild
if (!permissionToRemove3) {
return message.reply('Permission invalide.');
}
message.guild.roles.cache.forEach(role => {
if (role.permissions.has(permissionToRemove3)) {
role.permissions.remove(permissionToRemove3)
.then(updatedRole => {
console.log(`Permission ${args[0]} supprimée du rôle ${updatedRole.name}`);
})
.catch(error => {
console.error(`Erreur lors de la suppression de la permission ${args[0]} du rôle ${role.name}: ${error}`);
});
}
});
message.reply(`La permission ${args[0]} a été supprimée de tous les rôles qui l'avaient.`);
break;
default:
return message.reply('Permission invalide.');
}
},
};