diff --git a/src/api/util/handlers/Message.ts b/src/api/util/handlers/Message.ts
index 90d8153e..70bbc479 100644
--- a/src/api/util/handlers/Message.ts
+++ b/src/api/util/handlers/Message.ts
@@ -51,6 +51,7 @@ import { ReadState } from "../../../util/entities/ReadState";
import { Member } from "../../../util/entities/Member";
import { ChannelType } from "@spacebar/schemas";
import { Embed, MessageCreateAttachment, MessageCreateCloudAttachment, MessageCreateSchema, MessageType, Reaction } from "@spacebar/schemas";
+import { EmbedType } from "../../../schemas/api/messages/Embeds";
const allow_empty = false;
// TODO: check webhook, application, system author, stickers
// TODO: embed gifs/videos/images
@@ -377,6 +378,11 @@ export async function postHandleMessage(message: Message) {
}
}
+ data.embeds.forEach((embed) => {
+ if (!embed.type) {
+ embed.type = EmbedType.rich;
+ }
+ });
// Filter out embeds that could be links, start from scratch
data.embeds = data.embeds.filter((embed) => embed.type === "rich");
@@ -403,10 +409,7 @@ export async function postHandleMessage(message: Message) {
if (uniqueLinks.length === 0) {
// No valid unique links found, update message to remove old embeds
- data.embeds = data.embeds.filter((embed) => {
- const hasUrl = !!embed.url;
- return !hasUrl;
- });
+ data.embeds = data.embeds.filter((embed) => embed.type === "rich");
const author = data.author?.toPublicUser();
const event = {
event: "MESSAGE_UPDATE",
|