Skip to content

Commit 2fb3eac

Browse files
Merge pull request #1715 from AlexisJusviack/fix/getBase64-template-support
Fix: Support media extraction from templateMessage in getBase64FromMediaMessage
2 parents 4a5696e + bd35d79 commit 2fb3eac

File tree

1 file changed

+26
-8
lines changed

1 file changed

+26
-8
lines changed

src/api/integrations/channel/whatsapp/whatsapp.baileys.service.ts

Lines changed: 26 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -3492,16 +3492,34 @@ export class BaileysStartupService extends ChannelStartupService {
34923492
let mediaMessage: any;
34933493
let mediaType: string;
34943494

3495-
for (const type of TypeMediaMessage) {
3496-
mediaMessage = msg.message[type];
3497-
if (mediaMessage) {
3498-
mediaType = type;
3499-
break;
3495+
if (msg.message?.templateMessage) {
3496+
const template =
3497+
msg.message.templateMessage.hydratedTemplate || msg.message.templateMessage.hydratedFourRowTemplate;
3498+
3499+
for (const type of TypeMediaMessage) {
3500+
if (template[type]) {
3501+
mediaMessage = template[type];
3502+
mediaType = type;
3503+
msg.message = { [type]: { ...template[type], url: template[type].staticUrl } };
3504+
break;
3505+
}
3506+
}
3507+
3508+
if (!mediaMessage) {
3509+
throw 'Template message does not contain a supported media type';
3510+
}
3511+
} else {
3512+
for (const type of TypeMediaMessage) {
3513+
mediaMessage = msg.message[type];
3514+
if (mediaMessage) {
3515+
mediaType = type;
3516+
break;
3517+
}
35003518
}
3501-
}
35023519

3503-
if (!mediaMessage) {
3504-
throw 'The message is not of the media type';
3520+
if (!mediaMessage) {
3521+
throw 'The message is not of the media type';
3522+
}
35053523
}
35063524

35073525
if (typeof mediaMessage['mediaKey'] === 'object') {

0 commit comments

Comments
 (0)