Guild join messages

This commit is contained in:
Madeline 2022-07-31 21:58:55 +10:00
parent d0d512947f
commit 4b133db564

View File

@ -1,4 +1,5 @@
import { PublicUser, User } from "./User";
import { Message } from "./Message";
import { BaseClass } from "./BaseClass";
import {
Column,
@ -19,6 +20,7 @@ import {
GuildMemberAddEvent,
GuildMemberRemoveEvent,
GuildMemberUpdateEvent,
MessageCreateEvent,
} from "../interfaces";
import { HTTPError } from "lambert-server";
import { Role } from "./Role";
@ -242,7 +244,7 @@ export class Member extends BaseClassWithoutId {
where: {
id: guild_id,
},
relations: PublicGuildRelations,
relations: [ ...PublicGuildRelations, "system_channel" ],
});
if (await Member.count({ id: user.id, guild: { id: guild_id } }))
@ -302,6 +304,27 @@ export class Member extends BaseClassWithoutId {
user_id,
} as GuildCreateEvent),
]);
if (guild.system_channel_id) {
// send welcome message
const message = new Message({
type: 7,
guild_id: guild.id,
channel_id: guild.system_channel_id,
author: user,
timestamp: new Date(),
reactions: [],
attachments: [],
embeds: [],
sticker_items: [],
edited_timestamp: undefined,
});
await Promise.all([
message.save(),
emitEvent({ event: "MESSAGE_CREATE", channel_id: message.channel_id, data: message } as MessageCreateEvent)
]);
}
}
}