28 lines
780 B
JavaScript
28 lines
780 B
JavaScript
const { Inhibitor } = require('../../../interfaces/');
|
|
const { stripIndents } = require('common-tags');
|
|
|
|
class ClientPermissions extends Inhibitor {
|
|
|
|
constructor(client) {
|
|
|
|
super(client, {
|
|
name: 'clientPermissions',
|
|
priority: 11,
|
|
guarded: true,
|
|
guild: true
|
|
});
|
|
|
|
}
|
|
|
|
execute(message, command) {
|
|
const missing = message.channel.permissionsFor(message.guild.me).missing(command.clientPermissions);
|
|
if(missing.length > 0) {
|
|
return super._fail(stripIndents`The command **${command.resolveable}** requires the bot to have permissions to use.
|
|
*Missing: ${missing.join(', ')}*`);
|
|
}
|
|
return super._succeed();
|
|
}
|
|
|
|
}
|
|
|
|
module.exports = ClientPermissions; |