summaryrefslogtreecommitdiff
path: root/packages/interactions
diff options
context:
space:
mode:
Diffstat (limited to 'packages/interactions')
-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)