2020-04-17 17:23:13 +02:00
|
|
|
const { Inhibitor } = require('../../../interfaces/');
|
2020-04-16 14:37:04 +02:00
|
|
|
const { stripIndents } = require('common-tags');
|
|
|
|
|
|
|
|
class MemberPermissions extends Inhibitor {
|
|
|
|
|
|
|
|
constructor(client) {
|
|
|
|
|
|
|
|
super(client, {
|
|
|
|
name: 'memberPermissions',
|
|
|
|
priority: 10,
|
|
|
|
guarded: true,
|
|
|
|
guild: true
|
|
|
|
});
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
execute(message, command) {
|
|
|
|
const missing = message.channel.permissionsFor(message.member).missing(command.memberPermissions);
|
|
|
|
if(missing.length > 0) {
|
|
|
|
return super._fail(stripIndents`The command **${command.resolveable}** requires you to have permissions to use.
|
|
|
|
*Missing: ${missing.join(', ')}*`);
|
2020-05-21 12:47:58 +02:00
|
|
|
}
|
|
|
|
return super._succeed();
|
|
|
|
|
2020-04-16 14:37:04 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
module.exports = MemberPermissions;
|