Add support for buttons message (#584)

* Add list message example

* New protobuf extracted by @tulir

It now supported sending for buttonsMessage

* New protobuf by @tulir

* Added support for buttons message

* Sorry i am sleepy.....

* Sorry my typo :3

* just tidying up
This commit is contained in:
Ryn's
2021-07-13 20:02:27 +08:00
committed by GitHub
parent e40b2f98a6
commit 3ce4f6cc6e
6 changed files with 42558 additions and 6306 deletions

File diff suppressed because it is too large Load Diff

View File

@@ -11,6 +11,7 @@ import {
WAContactsArrayMessage,
WAGroupInviteMessage,
WAListMessage,
WAButtonsMessage,
WATextMessage,
WAMessageContent, WAMetric, WAFlag, WAMessage, BaileysError, WA_MESSAGE_STATUS_TYPE, WAMessageProto, MediaConnInfo, MessageTypeProto, URL_REGEX, WAUrlInfo, WA_DEFAULT_EPHEMERAL, WAMediaUpload
} from './Constants'
@@ -28,7 +29,7 @@ export class WAConnection extends Base {
*/
async sendMessage(
id: string,
message: string | WATextMessage | WALocationMessage | WAContactMessage | WAContactsArrayMessage | WAGroupInviteMessage | WAMediaUpload | WAListMessage,
message: string | WATextMessage | WALocationMessage | WAContactMessage | WAContactsArrayMessage | WAGroupInviteMessage | WAMediaUpload | WAListMessage | WAButtonsMessage,
type: MessageType,
options: MessageOptions = {},
) {
@@ -67,7 +68,7 @@ export class WAConnection extends Base {
/** Prepares a message for sending via sendWAMessage () */
async prepareMessage(
id: string,
message: string | WATextMessage | WALocationMessage | WAContactMessage | WAContactsArrayMessage | WAGroupInviteMessage | WAMediaUpload | WAListMessage,
message: string | WATextMessage | WALocationMessage | WAContactMessage | WAContactsArrayMessage | WAGroupInviteMessage | WAMediaUpload | WAListMessage | WAButtonsMessage,
type: MessageType,
options: MessageOptions = {},
) {
@@ -106,7 +107,7 @@ export class WAConnection extends Base {
}
}
/** Prepares the message content */
async prepareMessageContent (message: string | WATextMessage | WALocationMessage | WAContactMessage | WAContactsArrayMessage | WAGroupInviteMessage | WAMediaUpload | WAListMessage, type: MessageType, options: MessageOptions) {
async prepareMessageContent (message: string | WATextMessage | WALocationMessage | WAContactMessage | WAContactsArrayMessage | WAGroupInviteMessage | WAMediaUpload | WAListMessage | WAButtonsMessage, type: MessageType, options: MessageOptions) {
let m: WAMessageContent = {}
switch (type) {
case MessageType.text:
@@ -142,6 +143,9 @@ export class WAConnection extends Base {
case MessageType.listMessage:
m.listMessage = WAMessageProto.ListMessage.fromObject(message as any)
break
case MessageType.buttonsMessage:
m.buttonsMessage = WAMessageProto.ButtonsMessage.fromObject(message as any)
break
case MessageType.image:
case MessageType.sticker:
case MessageType.document:

View File

@@ -19,6 +19,7 @@ export type WAContactMessage = proto.ContactMessage
export type WAContactsArrayMessage = proto.ContactsArrayMessage
export type WAGroupInviteMessage = proto.GroupInviteMessage
export type WAListMessage = proto.ListMessage
export type WAButtonsMessage = proto.ButtonsMessage
export type WAMessageKey = proto.IMessageKey
export type WATextMessage = proto.ExtendedTextMessage
export type WAContextInfo = proto.IContextInfo
@@ -333,6 +334,7 @@ export enum MessageType {
contactsArray = 'contactsArrayMessage',
groupInviteMessage = 'groupInviteMessage',
listMessage = 'listMessage',
buttonsMessage = 'buttonsMessage',
location = 'locationMessage',
liveLocation = 'liveLocationMessage',