summary refs log tree commit diff
diff options
context:
space:
mode:
authorRory& <root@rory.gay>2026-02-25 08:23:31 +0100
committerRory& <root@rory.gay>2026-02-25 08:23:31 +0100
commitaaa65c32cb2682526a29b318bebe5acb5a1c3e49 (patch)
tree9257f58b1efb042196eb92f80a70e523aaccd13a
parentFix message embeds not being nullable (diff)
downloadserver-ts-aaa65c32cb2682526a29b318bebe5acb5a1c3e49.tar.xz
Create role for bots - fixes #1556
-rw-r--r--src/api/routes/oauth2/authorize.ts12
1 files changed, 11 insertions, 1 deletions
diff --git a/src/api/routes/oauth2/authorize.ts b/src/api/routes/oauth2/authorize.ts

index b989899a..47a21eb4 100644 --- a/src/api/routes/oauth2/authorize.ts +++ b/src/api/routes/oauth2/authorize.ts
@@ -17,7 +17,7 @@ */ import { route } from "@spacebar/api"; -import { ApiError, Application, DiscordApiErrors, FieldErrors, Member, Permissions, User, getPermission } from "@spacebar/util"; +import { ApiError, Application, DiscordApiErrors, FieldErrors, Member, Permissions, User, getPermission, Role } from "@spacebar/util"; import { Request, Response, Router } from "express"; import { ApplicationAuthorizeSchema } from "@spacebar/schemas"; const router = Router({ mergeParams: true }); @@ -213,6 +213,16 @@ router.post( if (!app.bot) throw new ApiError("OAuth2 application does not have a bot", 50010, 400); await Member.addToGuild(app.id, body.guild_id); + if (body.permissions) { + const role = Role.create({ + managed: true, + name: app.name, + permissions: body.permissions, + guild_id: body.guild_id, + }); + await role.save(); + await Member.addRole(body.guild_id, req.user_id, role.id); + } return res.json({ location: "/oauth2/authorized", // redirect URL