From 55c9f74bb2e4bbe5af35c38d1704ff78f0e75e8a Mon Sep 17 00:00:00 2001 From: Daniel Odendahl Jr Date: Tue, 23 May 2017 18:22:29 +0000 Subject: [PATCH] Lockdown Allows Staff Role to Speak --- commands/moderation/lockdown.js | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/commands/moderation/lockdown.js b/commands/moderation/lockdown.js index e3f25e63..872baf6a 100644 --- a/commands/moderation/lockdown.js +++ b/commands/moderation/lockdown.js @@ -25,7 +25,7 @@ module.exports = class LockdownCommand extends Command { } hasPermission(msg) { - return msg.member.hasPermission('ADMINISTRATOR'); + return msg.member.hasPermission('ADMINISTRATOR') || msg.member.roles.has(msg.guild.settings.get('staffRole')); } async run(msg, args) { @@ -35,8 +35,11 @@ module.exports = class LockdownCommand extends Command { if (type === 'start') { try { await msg.channel.overwritePermissions(msg.guild.defaultRole, { SEND_MESSAGES: false }); + const staffRole = msg.guild.settings.get('staffRole'); + if (staffRole && !msg.channel.permissionOverwrites.has(staffRole)) + await msg.channel.overwritePermissions(msg.guild.roles.get(staffRole), { SEND_MESSAGES: true }); return msg.say(stripIndents` - Lockdown Started, users without Administrator can no longer post messages. + Lockdown Started, users without Administrator ${staffRole ? 'or the Staff Role ' : ''}can no longer post messages. Please use \`lockdown stop\` to end the lockdown. `); } catch (err) { @@ -44,8 +47,8 @@ module.exports = class LockdownCommand extends Command { } } else if (type === 'stop') { try { - await msg.channel.overwritePermissions(msg.guild.defaultRole, { SEND_MESSAGES: true }); - return msg.say('Lockdown Ended, users without Administrator can now post messages.'); + await msg.channel.overwritePermissions(msg.guild.defaultRole, { SEND_MESSAGES: null }); + return msg.say('Lockdown Ended.'); } catch (err) { return msg.say(`${err.name}: ${err.message}`); }