summaryrefslogtreecommitdiff
path: root/packages
diff options
context:
space:
mode:
authorFuwn <[email protected]>2025-11-23 19:35:39 -0800
committerFuwn <[email protected]>2025-11-23 19:35:39 -0800
commite707cb066e81a5ac7b52313cfa22e066dd59ec3c (patch)
tree5df056b23da5610eaafd90520ec7d0cb6f47cb8f /packages
parentfeat(interactions): Add role slash command (diff)
downloadumabotdiscord-e707cb066e81a5ac7b52313cfa22e066dd59ec3c.tar.xz
umabotdiscord-e707cb066e81a5ac7b52313cfa22e066dd59ec3c.zip
feat(interactions:server): Fix role command permissions
Diffstat (limited to 'packages')
-rw-r--r--packages/interactions/server.ts10
1 files changed, 7 insertions, 3 deletions
diff --git a/packages/interactions/server.ts b/packages/interactions/server.ts
index c840bc1..0645cfd 100644
--- a/packages/interactions/server.ts
+++ b/packages/interactions/server.ts
@@ -848,8 +848,12 @@ router.post("/", async (request: Request, environment: Environment) => {
const member = interaction.member;
const hasAdminPermission =
member?.permissions && (parseInt(member.permissions) & 0x8) === 0x8;
+ const hasOwnerRole = member?.roles?.includes(OWNER_ROLE_ID);
+ const hasAdministratorRole = member?.roles?.includes(
+ ADMINISTRATOR_ROLE_ID,
+ );
- if (!hasAdminPermission)
+ if (!hasAdminPermission && !hasOwnerRole && !hasAdministratorRole)
return new JSONResponse({
type: InteractionResponseType.CHANNEL_MESSAGE_WITH_SOURCE,
data: {
@@ -869,10 +873,10 @@ router.post("/", async (request: Request, environment: Environment) => {
});
const targetUserID = interaction.data.options?.find(
- (opt) => opt.name === "user",
+ (option) => option.name === "user",
)?.value as string;
const targetRoleID = interaction.data.options?.find(
- (opt) => opt.name === "role",
+ (option) => option.name === "role",
)?.value as string;
if (!targetUserID || !targetRoleID)