Merge branch 'feat/welcomeMessages' into slowcord

This commit is contained in:
Madeline 2022-07-31 22:42:24 +10:00
commit 32a86b26fc

View File

@ -1,4 +1,5 @@
import { PublicUser, User } from "./User"; import { PublicUser, User } from "./User";
import { Message } from "./Message";
import { BaseClass } from "./BaseClass"; import { BaseClass } from "./BaseClass";
import { import {
Column, Column,
@ -19,6 +20,7 @@ import {
GuildMemberAddEvent, GuildMemberAddEvent,
GuildMemberRemoveEvent, GuildMemberRemoveEvent,
GuildMemberUpdateEvent, GuildMemberUpdateEvent,
MessageCreateEvent,
} from "../interfaces"; } from "../interfaces";
import { HTTPError } from "lambert-server"; import { HTTPError } from "lambert-server";
import { Role } from "./Role"; import { Role } from "./Role";
@ -242,7 +244,7 @@ export class Member extends BaseClassWithoutId {
where: { where: {
id: guild_id, id: guild_id,
}, },
relations: PublicGuildRelations, relations: [ ...PublicGuildRelations, "system_channel" ],
}); });
if (await Member.count({ id: user.id, guild: { id: guild_id } })) if (await Member.count({ id: user.id, guild: { id: guild_id } }))
@ -302,6 +304,27 @@ export class Member extends BaseClassWithoutId {
user_id, user_id,
} as GuildCreateEvent), } 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)
]);
}
} }
} }