fix(NOWEB): template message with image header — hasMedia:true but download fails - fix #2275
Release / WEBJS - chrome - amd64 - chrome (push) Waiting to run
Release / WEBJS - chromium - amd64 - latest (push) Waiting to run
Release / WEBJS - chromium - linux/arm64 - arm (push) Waiting to run
Release / GOWS - none - amd64 - gows (push) Waiting to run
Release / GOWS - none - linux/arm64 - gows-arm (push) Waiting to run
Release / NOWEB - none - amd64 - noweb (push) Waiting to run
Release / NOWEB - none - linux/arm64 - noweb-arm (push) Waiting to run
Release / WEBJS - chrome - amd64 - chrome (push) Waiting to run
Release / WEBJS - chromium - amd64 - latest (push) Waiting to run
Release / WEBJS - chromium - linux/arm64 - arm (push) Waiting to run
Release / GOWS - none - amd64 - gows (push) Waiting to run
Release / GOWS - none - linux/arm64 - gows-arm (push) Waiting to run
Release / NOWEB - none - amd64 - noweb (push) Waiting to run
Release / NOWEB - none - linux/arm64 - noweb-arm (push) Waiting to run
This commit is contained in:
1 parent
377a2d55c9
commit
55a7d78e3f
2 files changed
+20
-3
No files matched your search
@@ -3794,6 +3794,20 @@ export class NOWEBEngineMediaProcessor implements IMediaEngineProcessor<any> {
|
||||
content.url = null;
|
||||
}
|
||||
|
||||
// Baileys unwraps hydratedTemplate only, so download the interactive template header as a plain media message
|
||||
const header = extractMessageContent(message.message)?.templateMessage
|
||||
?.interactiveMessageTemplate?.header;
|
||||
if (header) {
|
||||
message = {
|
||||
key: message.key,
|
||||
message: lodash.pick(header, [
|
||||
'imageMessage',
|
||||
'videoMessage',
|
||||
'documentMessage',
|
||||
]),
|
||||
};
|
||||
}
|
||||
|
||||
// Use 'stream' mode instead of 'buffer' to fix 0-byte audio files
|
||||
// 'buffer' mode silently returns empty buffer for audio/voice messages
|
||||
// See: https://github.com/devlikeapro/waha/issues/1996
|
||||
@@ -3826,8 +3840,8 @@ export class NOWEBEngineMediaProcessor implements IMediaEngineProcessor<any> {
|
||||
}
|
||||
|
||||
getFilename(message: any): string | null {
|
||||
const content = extractMessageContent(message.message);
|
||||
return content?.documentMessage?.fileName || null;
|
||||
const content = extractMediaContent(message.message);
|
||||
return content?.fileName || null;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -36,7 +36,10 @@ export function extractMediaContent(
|
||||
content?.templateMessage?.hydratedTemplate?.videoMessage ||
|
||||
content?.templateMessage?.interactiveMessageTemplate?.header
|
||||
?.imageMessage ||
|
||||
content?.templateMessage?.interactiveMessageTemplate?.header?.videoMessage;
|
||||
content?.templateMessage?.interactiveMessageTemplate?.header
|
||||
?.videoMessage ||
|
||||
content?.templateMessage?.interactiveMessageTemplate?.header
|
||||
?.documentMessage;
|
||||
if (mediaContent) {
|
||||
return mediaContent;
|
||||
}
|
||||
|
||||
Reference in new issue
Block a user