channel ignoring inhibitor

This commit is contained in:
Erik 2020-06-20 00:02:30 +03:00
parent 1384860bd5
commit ffa5128af2

View File

@ -0,0 +1,35 @@
const { Inhibitor } = require('../../../interfaces/');
class ChannelIgnore extends Inhibitor {
constructor(client) {
super(client, {
name: 'channelIgnore',
priority: 5,
guild: true
});
}
execute(message, command) {
if(message.member.admin) return super._succeed();
const { guild, member, channel } = message,
setting = guild._settings.ignore,
roles = member._roles;
if(!setting.enabled) return super._succeed();
if(setting.channels.includes(channel.id))
for(const role of roles) {
if(setting.roleBypass.includes(role)) return super._succeed();
return super._fail({ error: true, silent: true });
}
return super._succeed();
}
}
module.exports = ChannelIgnore;