diff --git a/src/Types/Message.ts b/src/Types/Message.ts index 34853ed..a7a1a04 100644 --- a/src/Types/Message.ts +++ b/src/Types/Message.ts @@ -55,6 +55,7 @@ type Mentionable = { type ViewOnce = { viewOnce?: boolean } + type Buttonable = { /** add buttons to the message */ buttons?: proto.Message.ButtonsMessage.IButton[] @@ -65,6 +66,9 @@ type Templatable = { footer?: string } +type Editable = { + edit?: WAMessageKey +} type Listable = { /** Sections of the List */ sections?: proto.Message.ListMessage.ISection[] @@ -117,7 +121,7 @@ export type AnyMediaMessageContent = ( fileName?: string caption?: string } & Buttonable & Templatable)) - & { mimetype?: string } + & { mimetype?: string } & Editable export type ButtonReplyInfo = { displayText: string @@ -134,11 +138,11 @@ export type AnyRegularMessageContent = ( text: string linkPreview?: WAUrlInfo | null } - & Mentionable & Buttonable & Templatable & Listable) + & Mentionable & Buttonable & Templatable & Listable & Editable) | AnyMediaMessageContent | ({ poll: PollMessageOptions - } & Mentionable & Buttonable & Templatable) + } & Mentionable & Buttonable & Templatable & Editable) | { contacts: { displayName?: string diff --git a/src/Utils/messages.ts b/src/Utils/messages.ts index 7a4ef9a..3de8edc 100644 --- a/src/Utils/messages.ts +++ b/src/Utils/messages.ts @@ -488,6 +488,16 @@ export const generateWAMessageContent = async( m[messageType].contextInfo.mentionedJid = message.mentions } + if('edit' in message) { + m = { + protocolMessage: { + key: message.edit, + editedMessage: m, + type: WAProto.Message.ProtocolMessage.Type.MESSAGE_EDIT + } + } + } + return WAProto.Message.fromObject(m) } @@ -886,4 +896,4 @@ export const assertMediaContent = (content: proto.IMessage | null | undefined) = } return mediaContent -} \ No newline at end of file +} diff --git a/typedoc.json b/typedoc.json index 5c7b1d1..b19ab35 100644 --- a/typedoc.json +++ b/typedoc.json @@ -4,5 +4,6 @@ "excludeProtected": true, "excludeExternals": true, "includeVersion": false, + "declaration": false, "out": "docs" }