mirror of
https://github.com/arthur-pbty/gestion.git
synced 2026-06-03 15:07:26 +02:00
9bd39c69ca
sinon il y a pleins de truc comme les anti raid , des coorectif ect
99 lines
4.7 KiB
JavaScript
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.');
|
|
}
|
|
|
|
},
|
|
};
|