summary refs log tree commit diff
diff options
context:
space:
mode:
authorRory& <root@rory.gay>2026-03-11 00:54:09 +0100
committerRory& <root@rory.gay>2026-03-21 08:19:54 +0100
commitf333e8dadc52f93845c4eff9351e8f5573f58d41 (patch)
treec865089ab6470ffd8833be9a7d27502ed5363bf6
parentMessageCreate/UpdateEvent: use PublicMessage (diff)
downloadserver-ts-f333e8dadc52f93845c4eff9351e8f5573f58d41.tar.xz
Message*Event: as->satisfies (WIP)
-rw-r--r--src/api/routes/channels/#channel_id/greet.ts2
-rw-r--r--src/api/routes/channels/#channel_id/messages/#message_id/index.ts4
-rw-r--r--src/api/routes/channels/#channel_id/messages/#message_id/threads.ts2
-rw-r--r--src/api/routes/channels/#channel_id/messages/index.ts2
-rw-r--r--src/api/routes/channels/#channel_id/messages/pins/index.ts6
-rw-r--r--src/api/routes/channels/#channel_id/pins.ts6
-rw-r--r--src/api/routes/channels/#channel_id/threads.ts2
-rw-r--r--src/api/util/handlers/Message.ts11
-rw-r--r--src/api/util/handlers/Webhook.ts2
-rw-r--r--src/util/entities/Member.ts2
10 files changed, 21 insertions, 18 deletions
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 diff --git a/src/util/entities/Member.ts b/src/util/entities/Member.ts
index 2b690ea3..f372277e 100644 --- a/src/util/entities/Member.ts +++ b/src/util/entities/Member.ts
@@ -448,7 +448,7 @@ export class Member extends BaseClassWithoutId { event: "MESSAGE_CREATE", channel_id: message.channel_id, data: message, - } as MessageCreateEvent), + } satisfies MessageCreateEvent), channel.save(), ]); }