diff options
| author | Fuwn <[email protected]> | 2025-11-23 19:35:39 -0800 |
|---|---|---|
| committer | Fuwn <[email protected]> | 2025-11-23 19:35:39 -0800 |
| commit | e707cb066e81a5ac7b52313cfa22e066dd59ec3c (patch) | |
| tree | 5df056b23da5610eaafd90520ec7d0cb6f47cb8f /packages | |
| parent | feat(interactions): Add role slash command (diff) | |
| download | umabotdiscord-e707cb066e81a5ac7b52313cfa22e066dd59ec3c.tar.xz umabotdiscord-e707cb066e81a5ac7b52313cfa22e066dd59ec3c.zip | |
feat(interactions:server): Fix role command permissions
Diffstat (limited to 'packages')
| -rw-r--r-- | packages/interactions/server.ts | 10 |
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) |