diff --git a/src/api/routes/channels/#channel_id/greet.ts b/src/api/routes/channels/#channel_id/greet.ts
index b556547d..8dbaacdc 100644
--- a/src/api/routes/channels/#channel_id/greet.ts
+++ b/src/api/routes/channels/#channel_id/greet.ts
@@ -96,7 +96,7 @@ router.post(
event: "MESSAGE_CREATE",
data: message,
channel_id,
- } as MessageCreateEvent),
+ } satisfies MessageCreateEvent),
channel.save(),
]);
diff --git a/src/api/routes/channels/#channel_id/messages/#message_id/index.ts b/src/api/routes/channels/#channel_id/messages/#message_id/index.ts
index bdac3fea..a4abc8b4 100644
--- a/src/api/routes/channels/#channel_id/messages/#message_id/index.ts
+++ b/src/api/routes/channels/#channel_id/messages/#message_id/index.ts
@@ -110,7 +110,7 @@ router.patch(
nonce: undefined,
member: new_message.member?.toPublicMember(),
},
- } as MessageUpdateEvent),
+ } satisfies MessageUpdateEvent),
]);
postHandleMessage(new_message).catch((e) => console.error("[Message] post-message handler failed", e));
@@ -227,7 +227,7 @@ router.put(
event: "MESSAGE_CREATE",
channel_id: channel_id,
data: message,
- } as MessageCreateEvent),
+ } satisfies MessageCreateEvent),
channel.save(),
]);
diff --git a/src/api/routes/channels/#channel_id/messages/#message_id/threads.ts b/src/api/routes/channels/#channel_id/messages/#message_id/threads.ts
index 525337b4..de9feaee 100644
--- a/src/api/routes/channels/#channel_id/messages/#message_id/threads.ts
+++ b/src/api/routes/channels/#channel_id/messages/#message_id/threads.ts
@@ -113,7 +113,7 @@ router.post(
event: "MESSAGE_UPDATE",
channel_id: message.channel_id,
data: message.toJSON(),
- } as MessageUpdateEvent),
+ } satisfies MessageUpdateEvent),
]);
return res.json(thread.toJSON());
diff --git a/src/api/routes/channels/#channel_id/messages/index.ts b/src/api/routes/channels/#channel_id/messages/index.ts
index eada4875..c96715bc 100644
--- a/src/api/routes/channels/#channel_id/messages/index.ts
+++ b/src/api/routes/channels/#channel_id/messages/index.ts
@@ -500,7 +500,7 @@ router.post(
event: "MESSAGE_CREATE",
channel_id: channel_id,
data: message.toJSON(),
- } as MessageCreateEvent),
+ } satisfies MessageCreateEvent),
message.guild_id ? Member.update({ id: req.user_id, guild_id: message.guild_id }, { last_message_id: message.id }) : null,
]);
diff --git a/src/api/routes/channels/#channel_id/messages/pins/index.ts b/src/api/routes/channels/#channel_id/messages/pins/index.ts
index 72b2c5b7..f9e4b697 100644
--- a/src/api/routes/channels/#channel_id/messages/pins/index.ts
+++ b/src/api/routes/channels/#channel_id/messages/pins/index.ts
@@ -86,7 +86,7 @@ router.put(
event: "MESSAGE_UPDATE",
channel_id,
data: message,
- } as MessageUpdateEvent),
+ } satisfies MessageUpdateEvent),
emitEvent({
event: "CHANNEL_PINS_UPDATE",
channel_id,
@@ -101,7 +101,7 @@ router.put(
event: "MESSAGE_CREATE",
channel_id: message.channel_id,
data: systemPinMessage,
- } as MessageCreateEvent),
+ } satisfies MessageCreateEvent),
]);
res.sendStatus(204);
@@ -139,7 +139,7 @@ router.delete(
event: "MESSAGE_UPDATE",
channel_id,
data: message,
- } as MessageUpdateEvent),
+ } satisfies MessageUpdateEvent),
emitEvent({
event: "CHANNEL_PINS_UPDATE",
channel_id,
diff --git a/src/api/routes/channels/#channel_id/pins.ts b/src/api/routes/channels/#channel_id/pins.ts
index 5944d785..9b515591 100644
--- a/src/api/routes/channels/#channel_id/pins.ts
+++ b/src/api/routes/channels/#channel_id/pins.ts
@@ -87,7 +87,7 @@ router.put(
event: "MESSAGE_UPDATE",
channel_id,
data: message,
- } as MessageUpdateEvent),
+ } satisfies MessageUpdateEvent),
emitEvent({
event: "CHANNEL_PINS_UPDATE",
channel_id,
@@ -102,7 +102,7 @@ router.put(
event: "MESSAGE_CREATE",
channel_id: message.channel_id,
data: systemPinMessage,
- } as MessageCreateEvent),
+ } satisfies MessageCreateEvent),
]);
res.sendStatus(204);
@@ -140,7 +140,7 @@ router.delete(
event: "MESSAGE_UPDATE",
channel_id,
data: message,
- } as MessageUpdateEvent),
+ } satisfies MessageUpdateEvent),
emitEvent({
event: "CHANNEL_PINS_UPDATE",
channel_id,
diff --git a/src/api/routes/channels/#channel_id/threads.ts b/src/api/routes/channels/#channel_id/threads.ts
index 8b8d9bc7..26a19030 100644
--- a/src/api/routes/channels/#channel_id/threads.ts
+++ b/src/api/routes/channels/#channel_id/threads.ts
@@ -190,7 +190,7 @@ router.post(
event: "MESSAGE_CREATE",
channel_id: channel_id,
data: message,
- } as MessageCreateEvent),
+ } satisfies MessageCreateEvent),
message.guild_id ? Member.update({ id: req.user_id, guild_id: message.guild_id }, { last_message_id: message.id }) : null,
]);
postHandleMessage(message).catch((e) => console.error("[Message] post-message handler failed", e));
diff --git a/src/api/util/handlers/Message.ts b/src/api/util/handlers/Message.ts
index 391abc25..a21149ca 100644
--- a/src/api/util/handlers/Message.ts
+++ b/src/api/util/handlers/Message.ts
@@ -833,8 +833,11 @@ export async function postHandleMessage(message: Message) {
const event = {
event: "MESSAGE_UPDATE",
channel_id: message.channel_id,
- data,
- } as MessageUpdateEvent;
+ data: {
+ ...data,
+ author,
+ },
+ } satisfies MessageUpdateEvent;
const embeds = data.embeds == undefined ? [] : data.embeds;
await Promise.all([emitEvent(event), Message.update({ id: message.id, channel_id: message.channel_id }, { embeds: embeds })]);
return;
@@ -898,7 +901,7 @@ export async function postHandleMessage(message: Message) {
event: "MESSAGE_UPDATE",
channel_id: message.channel_id,
data,
- } as MessageUpdateEvent),
+ } satisfies MessageUpdateEvent),
Message.update({ id: message.id, channel_id: message.channel_id }, { embeds: embeds }),
...cachePromises,
]);
@@ -915,7 +918,7 @@ export async function sendMessage(opts: MessageOptions) {
event: "MESSAGE_CREATE",
...(ephemeral ? { user_id: message.interaction_metadata?.user_id } : { channel_id: message.channel_id }),
data: message.toJSON(),
- } as MessageCreateEvent),
+ } satisfies MessageCreateEvent),
]);
// no await as it should catch error non-blockingly
diff --git a/src/api/util/handlers/Webhook.ts b/src/api/util/handlers/Webhook.ts
index 439edbb2..b6a390a5 100644
--- a/src/api/util/handlers/Webhook.ts
+++ b/src/api/util/handlers/Webhook.ts
@@ -124,7 +124,7 @@ export const executeWebhook = async (req: Request, res: Response) => {
event: "MESSAGE_CREATE",
channel_id: sendChannel.id,
data: message,
- } as MessageCreateEvent),
+ } satisfies MessageCreateEvent),
]);
// no await as it shouldnt block the message send function and silently catch error
|