Custom Staff Role

This commit is contained in:
Daniel Odendahl Jr
2017-04-30 15:01:46 +00:00
parent b358602ebb
commit 2f831418fb
8 changed files with 67 additions and 6 deletions
+1 -1
View File
@@ -31,7 +31,7 @@ module.exports = class BanCommand extends Command {
}
hasPermission(msg) {
return msg.member.permissions.has('BAN_MEMBERS') || msg.member.roles.exists('name', 'Server Staff');
return msg.member.permissions.has('BAN_MEMBERS') || msg.member.roles.exists('name', msg.guild.settings.get('staffRole'));
}
async run(message, args) {
+1 -1
View File
@@ -28,7 +28,7 @@ module.exports = class KickCommand extends Command {
}
hasPermission(msg) {
return msg.member.permissions.has('KICK_MEMBERS') || msg.member.roles.exists('name', 'Server Staff');
return msg.member.permissions.has('KICK_MEMBERS') || msg.member.roles.exists('name', msg.guild.settings.get('staffRole'));
}
async run(message, args) {
+1 -1
View File
@@ -26,7 +26,7 @@ module.exports = class PruneCommand extends Command {
}
hasPermission(msg) {
return msg.member.permissions.has('MANAGE_MESSAGES') || msg.member.roles.exists('name', 'Server Staff');
return msg.member.permissions.has('MANAGE_MESSAGES') || msg.member.roles.exists('name', msg.guild.settings.get('staffRole'));
}
async run(message, args) {
+1 -1
View File
@@ -28,7 +28,7 @@ module.exports = class SoftbanCommand extends Command {
}
hasPermission(msg) {
return msg.member.permissions.has('KICK_MEMBERS') || msg.member.roles.exists('name', 'Server Staff');
return msg.member.permissions.has('KICK_MEMBERS') || msg.member.roles.exists('name', msg.guild.settings.get('staffRole'));
}
async run(message, args) {
+1 -1
View File
@@ -35,7 +35,7 @@ module.exports = class UnbanCommand extends Command {
}
hasPermission(msg) {
return msg.member.permissions.has('BAN_MEMBERS') || msg.member.roles.exists('name', 'Server Staff');
return msg.member.permissions.has('BAN_MEMBERS') || msg.member.roles.exists('name', msg.guild.settings.get('staffRole'));
}
async run(message, args) {
+1 -1
View File
@@ -27,7 +27,7 @@ module.exports = class WarnCommand extends Command {
}
hasPermission(msg) {
return msg.member.permissions.has('KICK_MEMBERS') || msg.member.roles.exists('name', 'Server Staff');
return msg.member.permissions.has('KICK_MEMBERS') || msg.member.roles.exists('name', msg.guild.settings.get('staffRole'));
}
async run(message, args) {
+33
View File
@@ -0,0 +1,33 @@
const { Command } = require('discord.js-commando');
module.exports = class ClearSettingCommand extends Command {
constructor(client) {
super(client, {
name: 'clearsetting',
group: 'util',
memberName: 'clearsetting',
description: 'Removes a custom-set Mod Channel, Member Channel, or Staff Role.',
guildOnly: true,
args: [{
key: 'setting',
prompt: 'What setting do you want to clear? `modLog`, `memberLog`, or `staffRole`?',
type: 'string',
validate: setting => {
if (['modLog', 'memberLog', 'staffRole'].includes(setting))
return true;
return 'Please enter either `modLog`, `memberLog`, or `staffRole`.';
}
}]
});
}
hasPermission(msg) {
return msg.member.permissions.has('ADMINISTRATOR');
}
run(message, args) {
const { setting } = args;
message.guild.settings.remove(setting);
return message.say(`${setting} has been removed from your guild settings.`);
}
};
+28
View File
@@ -0,0 +1,28 @@
const { Command } = require('discord.js-commando');
module.exports = class StaffRoleCommand extends Command {
constructor(client) {
super(client, {
name: 'staffrole',
group: 'util',
memberName: 'staffrole',
description: 'Sets the role that can use Mod Commands without perms.',
guildOnly: true,
args: [{
key: 'role',
prompt: 'What role should be staff?',
type: 'role'
}]
});
}
hasPermission(msg) {
return msg.member.permissions.has('ADMINISTRATOR');
}
run(message, args) {
const { role } = args;
message.guild.settings.set('staffRole', role.name);
return message.say(`Server Staff role set to ${role.name}.`);
}
};