Allow multiple curator/admin roles

This commit is contained in:
Snazzah 2020-08-15 23:09:11 -05:00
parent b1ae562087
commit bf98b57e74
No known key found for this signature in database
GPG key ID: 5E71D54F3D86282E
2 changed files with 11 additions and 6 deletions

View file

@ -11,9 +11,9 @@ module.exports = {
debug: false,
// [number] The main embed color (#ffffff -> 0xffffff)
embedColor: 0x15521c,
// [string] curator_role_id
// [string|Array<string>] The role ID(s) for curator roles
curatorRoleID: "",
// [string] admin_role_id
// [string|Array<string>]] The role ID(s) for admin roles
adminRoleID: "",
// [string] guild_id
guildID: "",

View file

@ -68,24 +68,29 @@ Util.CommandPermissions = {
curator: (client, message) => {
const member = message.guildID ? message.member :
client.guilds.get(config.guildID).members.get(message.author.id);
const roles = Array.isArray(config.curatorRoleID) ? config.curatorRoleID : [config.curatorRoleID];
if (!member) return false;
if (Util.CommandPermissions.elevated(client, message)) return true;
return member.roles.includes(config.curatorRoleID);
return roles.map(r => member.roles.includes(r)).includes(true);
},
admin: (client, message) => {
const member = message.guildID ? message.member :
client.guilds.get(config.guildID).members.get(message.author.id);
const roles = Array.isArray(config.adminRoleID) ? config.adminRoleID : [config.adminRoleID];
if (!member) return false;
if (Util.CommandPermissions.elevated(client, message)) return true;
return member.roles.includes(config.adminRoleID);
return roles.map(r => member.roles.includes(r)).includes(true);
},
curatorOrAdmin: (client, message) => {
const member = message.guildID ? message.member :
client.guilds.get(config.guildID).members.get(message.author.id);
const roles = [
...(Array.isArray(config.adminRoleID) ? config.adminRoleID : [config.adminRoleID]),
...(Array.isArray(config.curatorRoleID) ? config.curatorRoleID : [config.curatorRoleID]),
];
if (!member) return false;
if (Util.CommandPermissions.elevated(client, message)) return true;
return member.roles.includes(config.curatorRoleID) ||
member.roles.includes(config.adminRoleID);
return roles.map(r => member.roles.includes(r)).includes(true);
},
};