This commit is contained in:
Marcelo Assis 2025-03-26 10:45:09 -03:00
parent 027401b839
commit 658dae0b59

View File

@ -2704,11 +2704,9 @@ export class BaileysStartupService extends ChannelStartupService {
} }
const isAnimated = this.isAnimated(image, imageBuffer); const isAnimated = this.isAnimated(image, imageBuffer);
if (isAnimated) { if (isAnimated) {
return await sharp(imageBuffer, { animated: true }) return await sharp(imageBuffer, { animated: true }).webp({ quality: 80, animated: true }).toBuffer();
.webp({ quality: 80, animated: true })
.toBuffer();
} else { } else {
return await sharp(imageBuffer).webp().toBuffer(); return await sharp(imageBuffer).webp().toBuffer();
} }
@ -2720,17 +2718,17 @@ export class BaileysStartupService extends ChannelStartupService {
private isAnimatedWebp(buffer: Buffer): boolean { private isAnimatedWebp(buffer: Buffer): boolean {
if (buffer.length < 12) return false; if (buffer.length < 12) return false;
return buffer.indexOf(Buffer.from('ANIM')) !== -1; return buffer.indexOf(Buffer.from('ANIM')) !== -1;
} }
private isAnimated(image: string, buffer: Buffer): boolean { private isAnimated(image: string, buffer: Buffer): boolean {
const lowerCaseImage = image.toLowerCase(); const lowerCaseImage = image.toLowerCase();
if (lowerCaseImage.includes('.gif')) return true; if (lowerCaseImage.includes('.gif')) return true;
if (lowerCaseImage.includes('.webp')) return this.isAnimatedWebp(buffer); if (lowerCaseImage.includes('.webp')) return this.isAnimatedWebp(buffer);
return false; return false;
} }