diff --git a/commands/moderation/prison.js b/commands/moderation/prison.js index 10e8f26..2da0a38 100644 --- a/commands/moderation/prison.js +++ b/commands/moderation/prison.js @@ -6,7 +6,7 @@ module.exports = { description: "Configure le salon de prison pour le serveur.", category: 'gestion', emote: '🔒', - utilisation: '+prison config #salon ou id du salon', + utilisation: '+prison [@user/remove/config] [#channel/@user]', async execute(message, args) { if (args[0] === 'config') { @@ -48,14 +48,30 @@ module.exports = { if (!users) { return message.reply("Veuillez mentionner un utilisateur valide."); } + const prisonchannelnoremove = {}; try { message.guild.channels.cache.forEach(channel => { - channel.permissionOverwrites.edit(users, { }); + const overwrite = channel.permissionOverwrites.cache.find(perm => perm.id === users.id); + if (overwrite) { + channel.permissionOverwrites.delete(users.id).catch(error => { + prisonchannelnoremove[channel.id] = channel.name; + }); + } }); } catch (err) { + console.error(err); message.reply(`Je n'est pas pu libĂ©rer <@${users.id} de la prison`); } - message.reply(`<@${users.id}> est libĂ©rer de prison`); + + if (Object.keys(prisonchannelnoremove).length > 0) { + let reply = "Les salons suivants n'ont pas pu ĂȘtre modifiĂ©s :\n"; + for (const channelId in prisonchannelnoremove) { + reply += `‱ <#${channelId}> (${prisonchannelnoremove[channelId]})\n`; + } + message.reply(reply); + } else { + message.reply(`<@${users.id}> est libĂ©rĂ© de prison`); + } }else { const users = message.mentions.users.first() || message.guild.members.cache.get(args[1]) if (!users) {