diff options
author | Madeline <46743919+MaddyUnderStars@users.noreply.github.com> | 2022-07-30 00:32:12 +1000 |
---|---|---|
committer | Madeline <46743919+MaddyUnderStars@users.noreply.github.com> | 2022-07-30 00:32:12 +1000 |
commit | e5e02fa759b3a8813f57d8c4cc727440b6db4c31 (patch) | |
tree | 8d72c8a077633185e898117456380011ff023b7a /api/src | |
parent | Test embeding image/png etc responses (diff) | |
download | server-e5e02fa759b3a8813f57d8c4cc727440b6db4c31.tar.xz |
if tenor or giphy is sent, embed image rather than thumbnail
Diffstat (limited to 'api/src')
-rw-r--r-- | api/src/util/handlers/Message.ts | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/api/src/util/handlers/Message.ts b/api/src/util/handlers/Message.ts index a74e57dd..a6754bd1 100644 --- a/api/src/util/handlers/Message.ts +++ b/api/src/util/handlers/Message.ts @@ -215,6 +215,29 @@ export async function postHandleMessage(message: Message) { if (url) embed.url = url; if (description) embed.description = description; + const approvedProviders = [ + "media4.giphy.com", + "c.tenor.com", + // todo: make configurable? don't really care tho + ]; + + // very bad code below + // don't care lol + if (embed?.thumbnail?.url && approvedProviders.indexOf(new URL(embed.thumbnail.url).hostname) !== -1) { + embed = { + provider: { + url: link, + name: new URL(link).hostname, + }, + image: { + proxy_url: `${endpointPublic}/external/resize/${encodeURIComponent(image!)}?width=${resizeWidth}&height=${resizeHeight}`, + url: image, + width: width, + height: height + } + }; + } + if (title || description) { data.embeds.push(embed); } |