diff --git "a/src/api/routes/channels/\043channel_id/greet.ts" "b/src/api/routes/channels/\043channel_id/greet.ts" index 399e30a..b6ce1ee 100644 --- "a/src/api/routes/channels/\043channel_id/greet.ts" +++ "b/src/api/routes/channels/\043channel_id/greet.ts" @@ -20,7 +20,7 @@ import { Channel, emitEvent, Message, MessageCreateEvent, Permissions, Sticker } from "@spacebar/util"; import { Request, Response, Router } from "express"; import { In } from "typeorm"; -import { GreetRequestSchema, MessageType } from "@spacebar/schemas" +import { GreetRequestSchema, MessageType } from "@spacebar/schemas"; const router: Router = Router({ mergeParams: true }); @@ -88,6 +88,8 @@ sticker_items: randomSticker ? [{ id: randomSticker.id, name: randomSticker.name, format_type: randomSticker.format_type }] : [], }); + channel.last_message_id = message.id; + await Promise.all([ message.save(), emitEvent({ @@ -95,6 +97,7 @@ data: message, channel_id, } as MessageCreateEvent), + channel.save(), ]); res.send(channel); diff --git a/src/util/entities/Member.ts b/src/util/entities/Member.ts index 98f6e68..7cfe844 100644 --- a/src/util/entities/Member.ts +++ b/src/util/entities/Member.ts @@ -397,6 +397,9 @@ ]); if (guild.system_channel_id) { + const channel = await Channel.findOneOrFail({ + where: { id: guild.system_channel_id }, + }); // Send a welcome message const message = Message.create({ type: 7, @@ -414,6 +417,9 @@ mention_roles: [], mention_everyone: false, }); + + channel.last_message_id = message.id; + await Promise.all([ message.save(), emitEvent({ @@ -421,6 +427,7 @@ channel_id: message.channel_id, data: message, } as MessageCreateEvent), + channel.save(), ]); } }