Merge pull request #1052 from spacebarchat/feat/auto-create-bot-users
Feat: Auto add bot users to new apps
This commit is contained in:
commit
ba0d1bb6ff
@ -7199,9 +7199,14 @@
|
||||
},
|
||||
"instanceId": {
|
||||
"type": "string"
|
||||
},
|
||||
"autoCreateBotUsers": {
|
||||
"type": "boolean",
|
||||
"default": false
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"autoCreateBotUsers",
|
||||
"correspondenceEmail",
|
||||
"correspondenceUserID",
|
||||
"frontPage",
|
||||
|
@ -422590,10 +422590,15 @@
|
||||
},
|
||||
"instanceId": {
|
||||
"type": "string"
|
||||
},
|
||||
"autoCreateBotUsers": {
|
||||
"type": "boolean",
|
||||
"default": false
|
||||
}
|
||||
},
|
||||
"additionalProperties": false,
|
||||
"required": [
|
||||
"autoCreateBotUsers",
|
||||
"correspondenceEmail",
|
||||
"correspondenceUserID",
|
||||
"frontPage",
|
||||
|
@ -22,6 +22,7 @@ import {
|
||||
BotModifySchema,
|
||||
DiscordApiErrors,
|
||||
User,
|
||||
createAppBotUser,
|
||||
generateToken,
|
||||
handleFile,
|
||||
} from "@spacebar/util";
|
||||
@ -52,23 +53,7 @@ router.post(
|
||||
if (app.owner.id != req.user_id)
|
||||
throw DiscordApiErrors.ACTION_NOT_AUTHORIZED_ON_APPLICATION;
|
||||
|
||||
const user = await User.register({
|
||||
username: app.name,
|
||||
password: undefined,
|
||||
id: app.id,
|
||||
req,
|
||||
});
|
||||
|
||||
user.id = app.id;
|
||||
user.premium_since = new Date();
|
||||
user.bot = true;
|
||||
|
||||
await user.save();
|
||||
|
||||
// flags is NaN here?
|
||||
app.assign({ bot: user, flags: app.flags || 0 });
|
||||
|
||||
await app.save();
|
||||
const user = await createAppBotUser(app, req);
|
||||
|
||||
res.send({
|
||||
token: await generateToken(user.id),
|
||||
|
@ -20,7 +20,9 @@ import { route } from "@spacebar/api";
|
||||
import {
|
||||
Application,
|
||||
ApplicationCreateSchema,
|
||||
Config,
|
||||
User,
|
||||
createAppBotUser,
|
||||
trimSpecial,
|
||||
} from "@spacebar/util";
|
||||
import { Request, Response, Router } from "express";
|
||||
@ -68,7 +70,11 @@ router.post(
|
||||
flags: 0,
|
||||
});
|
||||
|
||||
await app.save();
|
||||
// april 14, 2023: discord made bot users be automatically added to all new apps
|
||||
const { autoCreateBotUsers } = Config.get().general;
|
||||
if (autoCreateBotUsers) {
|
||||
await createAppBotUser(app, req);
|
||||
} else await app.save();
|
||||
|
||||
res.json(app);
|
||||
},
|
||||
|
@ -28,4 +28,5 @@ export class GeneralConfiguration {
|
||||
correspondenceUserID: string | null = null;
|
||||
image: string | null = null;
|
||||
instanceId: string = Snowflake.generate();
|
||||
autoCreateBotUsers: boolean = false;
|
||||
}
|
||||
|
24
src/util/util/Application.ts
Normal file
24
src/util/util/Application.ts
Normal file
@ -0,0 +1,24 @@
|
||||
import { Request } from "express";
|
||||
import { Application, User } from "../entities";
|
||||
|
||||
export async function createAppBotUser(app: Application, req: Request) {
|
||||
const user = await User.register({
|
||||
username: app.name,
|
||||
password: undefined,
|
||||
id: app.id,
|
||||
req,
|
||||
});
|
||||
|
||||
user.id = app.id;
|
||||
user.premium_since = new Date();
|
||||
user.bot = true;
|
||||
|
||||
await user.save();
|
||||
|
||||
// flags is NaN here?
|
||||
app.assign({ bot: user, flags: app.flags || 0 });
|
||||
|
||||
await app.save();
|
||||
|
||||
return user;
|
||||
}
|
@ -42,3 +42,4 @@ export * from "./Token";
|
||||
export * from "./TraverseDirectory";
|
||||
export * from "./WebAuthn";
|
||||
export * from "./Gifs";
|
||||
export * from "./Application";
|
||||
|
Loading…
x
Reference in New Issue
Block a user