adaddb579e
* 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
19 lines
454 B
TypeScript
19 lines
454 B
TypeScript
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
|