From 5ec33848b451f81818c27ad3992694a27307d202 Mon Sep 17 00:00:00 2001 From: Dragory <2606411+Dragory@users.noreply.github.com> Date: Wed, 23 Dec 2020 02:57:06 +0200 Subject: [PATCH] starboard: note if the message contains audio or video attachments --- .../Starboard/util/saveMessageToStarboard.ts | 25 ++++++++++++++++--- 1 file changed, 21 insertions(+), 4 deletions(-) diff --git a/backend/src/plugins/Starboard/util/saveMessageToStarboard.ts b/backend/src/plugins/Starboard/util/saveMessageToStarboard.ts index 3d1fdf19..bf161366 100644 --- a/backend/src/plugins/Starboard/util/saveMessageToStarboard.ts +++ b/backend/src/plugins/Starboard/util/saveMessageToStarboard.ts @@ -5,6 +5,10 @@ import moment from "moment-timezone"; import { EmbedWith, EMPTY_CHAR, messageLink } from "../../../utils"; import path from "path"; +const imageAttachmentExtensions = ["jpeg", "jpg", "png", "gif", "webp"]; +const audioAttachmentExtensions = ["wav", "mp3", "m4a"]; +const videoAttachmentExtensions = ["mp4", "mkv", "mov"]; + export async function saveMessageToStarboard( pluginData: GuildPluginData, msg: Message, @@ -48,7 +52,9 @@ export async function saveMessageToStarboard( embed.fields.push({ name: EMPTY_CHAR, value: titleText }); } - if (msg.embeds[0].fields) embed.fields.push(...msg.embeds[0].fields); + if (msg.embeds[0].fields) { + embed.fields.push(...msg.embeds[0].fields); + } } } @@ -59,10 +65,21 @@ export async function saveMessageToStarboard( .extname(attachment.filename) .slice(1) .toLowerCase(); - if (!["jpeg", "jpg", "png", "gif", "webp"].includes(ext)) continue; - embed.image = { url: attachment.url }; - break; + if (imageAttachmentExtensions.includes(ext)) { + embed.image = { url: attachment.url }; + break; + } + + if (audioAttachmentExtensions.includes(ext)) { + embed.fields.push({ name: EMPTY_CHAR, value: `*Message contains an audio clip*` }); + break; + } + + if (videoAttachmentExtensions.includes(ext)) { + embed.fields.push({ name: EMPTY_CHAR, value: `*Message contains a video*` }); + break; + } } }