Implement media resizing using Discord media cache (#470)

* Implement media resizing using Discord media cache
Improve performance by offloading image scaling to Discord
Only apply the resizing to images stored in the Discord CDN
Set the format of the resized images to WebP for improved performance

* Implemented suggestion for improved regex
This commit is contained in:
pulchra mentis 2022-08-17 15:50:36 -04:00 committed by GitHub
parent 7aa4d49a97
commit adaddb579e
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
5 changed files with 29 additions and 6 deletions

View file

@ -0,0 +1,18 @@
const discordCDNAttachmentRegex =
/^https:\/\/cdn\.discordapp\.com\/attachments\/([^?]+)/i
const resizeMedia = (
mediaURL: string,
dimensions?: number[],
format?: string,
) =>
mediaURL.replace(
discordCDNAttachmentRegex,
`https://media.discordapp.net/attachments/$1?width=${
dimensions?.[0] ?? 256
}&height=${dimensions?.[1] ?? dimensions?.[0] ?? 256}&format=${
format ?? 'webp'
}`,
)
export default resizeMedia