From 6afde71691c2d0fd0c8f5ae4fffa58368ad0fad5 Mon Sep 17 00:00:00 2001 From: Matheus Filype <67132916+Santosl2@users.noreply.github.com> Date: Fri, 13 Mar 2026 14:49:16 -0300 Subject: [PATCH] feat: groups mention all (#2396) * fix: improve message resend logic by adding checks for message IDs * Revert "fix: improve message resend logic by adding checks for message IDs" This reverts commit c03f9d8e6fc6cbfbb9d1f8f67c169700e704213d. * feat: add mentionAll support to message context for group mentions * fix: improve readability of condition for mentions and mentionAll in generateWAMessageContent * Apply suggestions from code review Co-authored-by: Rajeh Taher --------- Co-authored-by: Rajeh Taher --- src/Types/Message.ts | 2 ++ src/Utils/messages.ts | 18 ++++++++++++------ 2 files changed, 14 insertions(+), 6 deletions(-) diff --git a/src/Types/Message.ts b/src/Types/Message.ts index 32e279e6..696a0cce 100644 --- a/src/Types/Message.ts +++ b/src/Types/Message.ts @@ -113,6 +113,8 @@ export interface WAUrlInfo { type Mentionable = { /** list of jids that are mentioned in the accompanying text */ mentions?: string[] + /** mention all */ + mentionAll?: boolean } type Contextable = { /** add contextInfo to the message */ diff --git a/src/Utils/messages.ts b/src/Utils/messages.ts index c310e834..fefb7efb 100644 --- a/src/Utils/messages.ts +++ b/src/Utils/messages.ts @@ -609,14 +609,20 @@ export const generateWAMessageContent = async ( m = { viewOnceMessage: { message: m } } } - if (hasOptionalProperty(message, 'mentions') && message.mentions?.length) { + if ( + (hasOptionalProperty(message, 'mentions') && message.mentions?.length) || + (hasOptionalProperty(message, 'mentionAll') && message.mentionAll) + ) { const messageType = Object.keys(m)[0]! as Extract const key = m[messageType] - if ('contextInfo' in key! && !!key.contextInfo) { - key.contextInfo.mentionedJid = message.mentions - } else if (key!) { - key.contextInfo = { - mentionedJid: message.mentions + if (key && 'contextInfo' in key) { + key.contextInfo = key.contextInfo || {} + if (message.mentions?.length) { + key.contextInfo.mentionedJid = message.mentions + } + + if (message.mentionAll) { + key.contextInfo.nonJidMentions = 1 } } }