From 13c3b9185254a53dda2ad31bda3d73424781fa0c Mon Sep 17 00:00:00 2001 From: Hisoka775 Date: Fri, 9 Jun 2023 06:04:55 +0800 Subject: [PATCH] feat: add contextInfo support --- src/Types/Message.ts | 14 +++++++++----- src/Utils/messages.ts | 6 ++++++ 2 files changed, 15 insertions(+), 5 deletions(-) diff --git a/src/Types/Message.ts b/src/Types/Message.ts index a7a1a04..28d2cfd 100644 --- a/src/Types/Message.ts +++ b/src/Types/Message.ts @@ -52,6 +52,10 @@ type Mentionable = { /** list of jids that are mentioned in the accompanying text */ mentions?: string[] } +type Contextable = { + /** add contextInfo to the message */ + contextInfo?: proto.IContextInfo +} type ViewOnce = { viewOnce?: boolean } @@ -98,13 +102,13 @@ export type AnyMediaMessageContent = ( image: WAMediaUpload caption?: string jpegThumbnail?: string - } & Mentionable & Buttonable & Templatable & WithDimensions) + } & Mentionable & Contextable & Buttonable & Templatable & WithDimensions) | ({ video: WAMediaUpload caption?: string gifPlayback?: boolean jpegThumbnail?: string - } & Mentionable & Buttonable & Templatable & WithDimensions) + } & Mentionable & Contextable & Buttonable & Templatable & WithDimensions) | { audio: WAMediaUpload /** if set to true, will send as a `voice note` */ @@ -120,7 +124,7 @@ export type AnyMediaMessageContent = ( mimetype: string fileName?: string caption?: string - } & Buttonable & Templatable)) + } & Contextable & Buttonable & Templatable)) & { mimetype?: string } & Editable export type ButtonReplyInfo = { @@ -138,11 +142,11 @@ export type AnyRegularMessageContent = ( text: string linkPreview?: WAUrlInfo | null } - & Mentionable & Buttonable & Templatable & Listable & Editable) + & Mentionable & Contextable & Buttonable & Templatable & Listable & Editable) | AnyMediaMessageContent | ({ poll: PollMessageOptions - } & Mentionable & Buttonable & Templatable & Editable) + } & Mentionable & Contextable & Buttonable & Templatable & Editable) | { contacts: { displayName?: string diff --git a/src/Utils/messages.ts b/src/Utils/messages.ts index 49e1835..16061b8 100644 --- a/src/Utils/messages.ts +++ b/src/Utils/messages.ts @@ -498,6 +498,12 @@ export const generateWAMessageContent = async( } } + if('contextInfo' in message && !!message.contextInfo) { + const [messageType] = Object.keys(m) + m[messageType] = m[messageType] || {} + m[messageType].contextInfo = message.contextInfo + } + return WAProto.Message.fromObject(m) }