From 9c71267e2215eb88e59a6e02984baa9b4b7c4459 Mon Sep 17 00:00:00 2001 From: Alan Mosko Date: Tue, 17 Jan 2023 11:53:13 -0300 Subject: [PATCH] Update messages.ts --- src/Utils/messages.ts | 34 ++++++++++++++++++++++++++-------- 1 file changed, 26 insertions(+), 8 deletions(-) diff --git a/src/Utils/messages.ts b/src/Utils/messages.ts index 0d66384..d20360e 100644 --- a/src/Utils/messages.ts +++ b/src/Utils/messages.ts @@ -602,14 +602,32 @@ export const getContentType = (content: WAProto.IMessage | undefined) => { * @returns */ export const normalizeMessageContent = (content: WAMessageContent | null | undefined): WAMessageContent | undefined => { - content = content?.ephemeralMessage?.message?.viewOnceMessage?.message || - content?.ephemeralMessage?.message || - content?.viewOnceMessage?.message || - content?.documentWithCaptionMessage?.message || - content || - undefined - return content -} + if(!content) { + return undefined + } + + // set max iterations to prevent an infinite loop + for(let i = 0;i < 5;i++) { + const inner = getFutureProofMessage(content) + if(!inner) { + break + } + + content = inner.message + } + + return content! + + function getFutureProofMessage(message: typeof content) { + return ( + message?.ephemeralMessage + || message?.viewOnceMessage + || message?.documentWithCaptionMessage + || message?.viewOnceMessageV2 + || message?.editedMessage + ) + } + } /** * Extract the true message content from a message