From 373ad3e604af0e44ed54614fae0843ef11828944 Mon Sep 17 00:00:00 2001 From: Cynthia Foxwell Date: Fri, 12 May 2023 16:20:35 -0600 Subject: [PATCH] roleme: fix missing filters --- src/modules/roleme.js | 32 ++++++++++++++++++++++++-------- 1 file changed, 24 insertions(+), 8 deletions(-) diff --git a/src/modules/roleme.js b/src/modules/roleme.js index ad7d7d1..fd0dae3 100644 --- a/src/modules/roleme.js +++ b/src/modules/roleme.js @@ -125,10 +125,13 @@ roleme.callback = async function (msg, line, args) { return "I do not have `Manage Roles` permission."; } - const role = await lookupRole(msg, argStr); + const roles = await getRoles(msg.guildID); + + const role = await lookupRole(msg, argStr, (role) => + roles.includes(role.id) + ); if (role === "No results") return role; - const roles = await getRoles(msg.guildID); if (!roles.includes(role.id)) { return "Role not in assignable roles."; } else { @@ -161,10 +164,13 @@ roleme.callback = async function (msg, line, args) { return "I do not have `Manage Roles` permission."; } - const role = await lookupRole(msg, argStr); + const roles = await getRoles(msg.guildID); + + const role = await lookupRole(msg, argStr, (role) => + roles.includes(role.id) + ); if (role === "No results") return role; - const roles = await getRoles(msg.guildID); if (!roles.includes(role.id)) { return "Role not in assignable roles."; } else if (msg.member.roles.includes(role.id)) { @@ -179,10 +185,15 @@ roleme.callback = async function (msg, line, args) { return "I do not have `Manage Roles` permission."; } - const role = await lookupRole(msg, argStr); + const roles = await getRoles(msg.guildID); + + const role = await lookupRole( + msg, + argStr, + (role) => roles.includes(role.id) && msg.member.roles.includes(role.id) + ); if (role === "No results") return role; - const roles = await getRoles(msg.guildID); if (!roles.includes(role.id)) { return "Role not in assignable roles."; } else if (!msg.member.roles.includes(role.id)) { @@ -207,10 +218,15 @@ roleme.callback = async function (msg, line, args) { return "I do not have `Manage Roles` permission."; } - const role = await lookupRole(msg, (subcommand + " " + argStr).trim()); + const roles = await getRoles(msg.guildID); + + const role = await lookupRole( + msg, + (subcommand + " " + argStr).trim(), + (role) => roles.includes(role.id) + ); if (role === "No results") return role; - const roles = await getRoles(msg.guildID); if (!roles.includes(role.id)) return "Role not in assignable roles."; if (msg.member.roles.includes(role.id)) {