From e670ff003e7abf255ff9a289da8cc03402b1dabf Mon Sep 17 00:00:00 2001 From: Omri Dagan Date: Sat, 6 Mar 2021 22:33:47 +0200 Subject: [PATCH] Add support for contacts array (#384) * Add support for contacts array * Remove contactsArray logs from Example.ts * Undid prettier formatting of example.js --- Example/example.ts | 2 +- src/WAConnection/6.MessagesSend.ts | 10 +++++++--- src/WAConnection/Constants.ts | 2 ++ 3 files changed, 10 insertions(+), 4 deletions(-) diff --git a/Example/example.ts b/Example/example.ts index 80cd713..5d51e09 100644 --- a/Example/example.ts +++ b/Example/example.ts @@ -150,4 +150,4 @@ async function example() { )) } -example().catch((err) => console.log(`encountered error: ${err}`)) +example().catch((err) => console.log(`encountered error: ${err}`)) \ No newline at end of file diff --git a/src/WAConnection/6.MessagesSend.ts b/src/WAConnection/6.MessagesSend.ts index f75b483..0782846 100644 --- a/src/WAConnection/6.MessagesSend.ts +++ b/src/WAConnection/6.MessagesSend.ts @@ -8,6 +8,7 @@ import { MediaPathMap, WALocationMessage, WAContactMessage, + WAContactsArrayMessage, WATextMessage, WAMessageContent, WAMetric, WAFlag, WAMessage, BaileysError, WA_MESSAGE_STATUS_TYPE, WAMessageProto, MediaConnInfo, MessageTypeProto, URL_REGEX, WAUrlInfo, WA_DEFAULT_EPHEMERAL, WAMediaUpload } from './Constants' @@ -25,7 +26,7 @@ export class WAConnection extends Base { */ async sendMessage( id: string, - message: string | WATextMessage | WALocationMessage | WAContactMessage | WAMediaUpload, + message: string | WATextMessage | WALocationMessage | WAContactMessage | WAContactsArrayMessage | WAMediaUpload, type: MessageType, options: MessageOptions = {}, ) { @@ -36,7 +37,7 @@ export class WAConnection extends Base { /** Prepares a message for sending via sendWAMessage () */ async prepareMessage( id: string, - message: string | WATextMessage | WALocationMessage | WAContactMessage | WAMediaUpload, + message: string | WATextMessage | WALocationMessage | WAContactMessage | WAContactsArrayMessage | WAMediaUpload, type: MessageType, options: MessageOptions = {}, ) { @@ -65,7 +66,7 @@ export class WAConnection extends Base { return message } /** Prepares the message content */ - async prepareMessageContent (message: string | WATextMessage | WALocationMessage | WAContactMessage | WAMediaUpload, type: MessageType, options: MessageOptions) { + async prepareMessageContent (message: string | WATextMessage | WALocationMessage | WAContactMessage | WAContactsArrayMessage | WAMediaUpload, type: MessageType, options: MessageOptions) { let m: WAMessageContent = {} switch (type) { case MessageType.text: @@ -92,6 +93,9 @@ export class WAConnection extends Base { case MessageType.contact: m.contactMessage = WAMessageProto.ContactMessage.fromObject(message as any) break + case MessageType.contactsArray: + m.contactsArrayMessage = WAMessageProto.ContactsArrayMessage.fromObject(message as any) + break case MessageType.image: case MessageType.sticker: case MessageType.document: diff --git a/src/WAConnection/Constants.ts b/src/WAConnection/Constants.ts index c7801ef..eec4fc8 100644 --- a/src/WAConnection/Constants.ts +++ b/src/WAConnection/Constants.ts @@ -16,6 +16,7 @@ export type WANode = WA.Node export type WAMessage = proto.WebMessageInfo export type WAMessageContent = proto.IMessage export type WAContactMessage = proto.ContactMessage +export type WAContactsArrayMessage = proto.ContactsArrayMessage export type WAMessageKey = proto.IMessageKey export type WATextMessage = proto.ExtendedTextMessage export type WAContextInfo = proto.IContextInfo @@ -295,6 +296,7 @@ export enum MessageType { text = 'conversation', extendedText = 'extendedTextMessage', contact = 'contactMessage', + contactsArray = 'contactsArrayMessage', location = 'locationMessage', liveLocation = 'liveLocationMessage',