diff --git a/src/api/routes/channels/#channel_id/greet.ts b/src/api/routes/channels/#channel_id/greet.ts
index 399e30a22..b6ce1ee51 100644
--- a/src/api/routes/channels/#channel_id/greet.ts
+++ b/src/api/routes/channels/#channel_id/greet.ts
@@ -20,7 +20,7 @@ import { route } from "@spacebar/api";
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 @@ router.post(
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 @@ router.post(
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 98f6e687c..7cfe844b5 100644
--- a/src/util/entities/Member.ts
+++ b/src/util/entities/Member.ts
@@ -397,6 +397,9 @@ export class Member extends BaseClassWithoutId {
]);
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 @@ export class Member extends BaseClassWithoutId {
mention_roles: [],
mention_everyone: false,
});
+
+ channel.last_message_id = message.id;
+
await Promise.all([
message.save(),
emitEvent({
@@ -421,6 +427,7 @@ export class Member extends BaseClassWithoutId {
channel_id: message.channel_id,
data: message,
} as MessageCreateEvent),
+ channel.save(),
]);
}
}
|