mirror of
https://github.com/arthur-pbty/xiao.git
synced 2026-06-06 06:10:49 +02:00
Custom Staff Role
This commit is contained in:
@@ -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) {
|
||||
|
||||
@@ -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) {
|
||||
|
||||
@@ -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) {
|
||||
|
||||
@@ -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) {
|
||||
|
||||
@@ -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) {
|
||||
|
||||
@@ -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) {
|
||||
|
||||
@@ -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.`);
|
||||
}
|
||||
};
|
||||
@@ -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}.`);
|
||||
}
|
||||
};
|
||||
Reference in New Issue
Block a user