Merge branch 'master' into RoleTypeFix2
This commit is contained in:
commit
13a750da76
1
.gitignore
vendored
1
.gitignore
vendored
@ -21,3 +21,4 @@ tmp/
|
|||||||
dump/
|
dump/
|
||||||
result
|
result
|
||||||
jwt.key*
|
jwt.key*
|
||||||
|
bun.lock
|
||||||
|
|||||||
@ -20,7 +20,7 @@ import { route } from "@spacebar/api";
|
|||||||
import { Channel, emitEvent, Message, MessageCreateEvent, Permissions, Sticker } from "@spacebar/util";
|
import { Channel, emitEvent, Message, MessageCreateEvent, Permissions, Sticker } from "@spacebar/util";
|
||||||
import { Request, Response, Router } from "express";
|
import { Request, Response, Router } from "express";
|
||||||
import { In } from "typeorm";
|
import { In } from "typeorm";
|
||||||
import { GreetRequestSchema, MessageType } from "@spacebar/schemas"
|
import { GreetRequestSchema, MessageType } from "@spacebar/schemas";
|
||||||
|
|
||||||
const router: Router = Router({ mergeParams: true });
|
const router: Router = Router({ mergeParams: true });
|
||||||
|
|
||||||
@ -88,6 +88,8 @@ router.post(
|
|||||||
sticker_items: randomSticker ? [{ id: randomSticker.id, name: randomSticker.name, format_type: randomSticker.format_type }] : [],
|
sticker_items: randomSticker ? [{ id: randomSticker.id, name: randomSticker.name, format_type: randomSticker.format_type }] : [],
|
||||||
});
|
});
|
||||||
|
|
||||||
|
channel.last_message_id = message.id;
|
||||||
|
|
||||||
await Promise.all([
|
await Promise.all([
|
||||||
message.save(),
|
message.save(),
|
||||||
emitEvent({
|
emitEvent({
|
||||||
@ -95,6 +97,7 @@ router.post(
|
|||||||
data: message,
|
data: message,
|
||||||
channel_id,
|
channel_id,
|
||||||
} as MessageCreateEvent),
|
} as MessageCreateEvent),
|
||||||
|
channel.save(),
|
||||||
]);
|
]);
|
||||||
|
|
||||||
res.send(channel);
|
res.send(channel);
|
||||||
|
|||||||
@ -20,4 +20,5 @@ export class AutoJoinConfiguration {
|
|||||||
enabled: boolean = true;
|
enabled: boolean = true;
|
||||||
guilds: string[] = [];
|
guilds: string[] = [];
|
||||||
canLeave: boolean = true;
|
canLeave: boolean = true;
|
||||||
|
bots: boolean = false;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -358,7 +358,7 @@ export class Member extends BaseClassWithoutId {
|
|||||||
hide_muted_channels: false,
|
hide_muted_channels: false,
|
||||||
notify_highlights: 0,
|
notify_highlights: 0,
|
||||||
channel_overrides: {},
|
channel_overrides: {},
|
||||||
message_notifications: 0,
|
message_notifications: guild.default_message_notifications,
|
||||||
mobile_push: true,
|
mobile_push: true,
|
||||||
muted: false,
|
muted: false,
|
||||||
suppress_everyone: false,
|
suppress_everyone: false,
|
||||||
@ -397,6 +397,9 @@ export class Member extends BaseClassWithoutId {
|
|||||||
]);
|
]);
|
||||||
|
|
||||||
if (guild.system_channel_id) {
|
if (guild.system_channel_id) {
|
||||||
|
const channel = await Channel.findOneOrFail({
|
||||||
|
where: { id: guild.system_channel_id },
|
||||||
|
});
|
||||||
// Send a welcome message
|
// Send a welcome message
|
||||||
const message = Message.create({
|
const message = Message.create({
|
||||||
type: 7,
|
type: 7,
|
||||||
@ -414,6 +417,9 @@ export class Member extends BaseClassWithoutId {
|
|||||||
mention_roles: [],
|
mention_roles: [],
|
||||||
mention_everyone: false,
|
mention_everyone: false,
|
||||||
});
|
});
|
||||||
|
|
||||||
|
channel.last_message_id = message.id;
|
||||||
|
|
||||||
await Promise.all([
|
await Promise.all([
|
||||||
message.save(),
|
message.save(),
|
||||||
emitEvent({
|
emitEvent({
|
||||||
@ -421,6 +427,7 @@ export class Member extends BaseClassWithoutId {
|
|||||||
channel_id: message.channel_id,
|
channel_id: message.channel_id,
|
||||||
data: message,
|
data: message,
|
||||||
} as MessageCreateEvent),
|
} as MessageCreateEvent),
|
||||||
|
channel.save(),
|
||||||
]);
|
]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -157,7 +157,7 @@ export class User extends BaseClass {
|
|||||||
@OneToOne(() => UserSettings, {
|
@OneToOne(() => UserSettings, {
|
||||||
cascade: true,
|
cascade: true,
|
||||||
orphanedRowAction: "delete",
|
orphanedRowAction: "delete",
|
||||||
nullable: true
|
nullable: true,
|
||||||
})
|
})
|
||||||
@JoinColumn()
|
@JoinColumn()
|
||||||
settings?: UserSettings;
|
settings?: UserSettings;
|
||||||
@ -257,6 +257,7 @@ export class User extends BaseClass {
|
|||||||
password,
|
password,
|
||||||
id,
|
id,
|
||||||
req,
|
req,
|
||||||
|
bot,
|
||||||
}: {
|
}: {
|
||||||
username: string;
|
username: string;
|
||||||
password?: string;
|
password?: string;
|
||||||
@ -264,6 +265,7 @@ export class User extends BaseClass {
|
|||||||
date_of_birth?: Date; // "2000-04-03"
|
date_of_birth?: Date; // "2000-04-03"
|
||||||
id?: string;
|
id?: string;
|
||||||
req?: Request;
|
req?: Request;
|
||||||
|
bot?: boolean;
|
||||||
}) {
|
}) {
|
||||||
// trim special uf8 control characters -> Backspace, Newline, ...
|
// trim special uf8 control characters -> Backspace, Newline, ...
|
||||||
username = trimSpecial(username);
|
username = trimSpecial(username);
|
||||||
@ -306,6 +308,7 @@ export class User extends BaseClass {
|
|||||||
premium_type: Config.get().defaults.user.premiumType ?? 0,
|
premium_type: Config.get().defaults.user.premiumType ?? 0,
|
||||||
verified: Config.get().defaults.user.verified ?? true,
|
verified: Config.get().defaults.user.verified ?? true,
|
||||||
created_at: new Date(),
|
created_at: new Date(),
|
||||||
|
bot: !!bot,
|
||||||
});
|
});
|
||||||
|
|
||||||
user.validate();
|
user.validate();
|
||||||
@ -319,6 +322,12 @@ export class User extends BaseClass {
|
|||||||
}
|
}
|
||||||
|
|
||||||
setImmediate(async () => {
|
setImmediate(async () => {
|
||||||
|
if (bot) {
|
||||||
|
const { guild } = Config.get();
|
||||||
|
if (!guild.autoJoin.bots) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
if (Config.get().guild.autoJoin.enabled) {
|
if (Config.get().guild.autoJoin.enabled) {
|
||||||
for (const guild of Config.get().guild.autoJoin.guilds || []) {
|
for (const guild of Config.get().guild.autoJoin.guilds || []) {
|
||||||
await Member.addToGuild(user.id, guild).catch((e) => console.error("[Autojoin]", e));
|
await Member.addToGuild(user.id, guild).catch((e) => console.error("[Autojoin]", e));
|
||||||
|
|||||||
@ -7,6 +7,7 @@ export async function createAppBotUser(app: Application, req: Request) {
|
|||||||
password: undefined,
|
password: undefined,
|
||||||
id: app.id,
|
id: app.id,
|
||||||
req,
|
req,
|
||||||
|
bot: true,
|
||||||
});
|
});
|
||||||
|
|
||||||
user.id = app.id;
|
user.id = app.id;
|
||||||
|
|||||||
Reference in New Issue
Block a user