channel ignoring inhibitor
This commit is contained in:
parent
1384860bd5
commit
ffa5128af2
35
structure/client/components/inhibitors/ChannelIgnore.js
Normal file
35
structure/client/components/inhibitors/ChannelIgnore.js
Normal 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;
|
Loading…
Reference in New Issue
Block a user