mirror of
https://github.com/FranP-code/Baileys.git
synced 2025-10-13 00:32:22 +00:00
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:
30
README.md
30
README.md
@@ -231,6 +231,36 @@ const vcard = 'BEGIN:VCARD\n' // metadata of the contact card
|
||||
+ 'TEL;type=CELL;type=VOICE;waid=911234567890:+91 12345 67890\n' // WhatsApp ID + phone number
|
||||
+ 'END:VCARD'
|
||||
const sentMsg = await conn.sendMessage(id, {displayname: "Jeff", vcard: vcard}, MessageType.contact)
|
||||
// send a list message!
|
||||
const rows = [
|
||||
{title: 'Row 1', description: "Hello it's description 1", rowId:"rowid1"},
|
||||
{title: 'Row 2', description: "Hello it's description 2", rowId:"rowid2"}
|
||||
]
|
||||
|
||||
const sections = [{title: "Section 1", rows: rows}]
|
||||
|
||||
const button = {
|
||||
buttonText: 'Click Me!',
|
||||
description: "Hello it's list message",
|
||||
sections: sections
|
||||
}
|
||||
|
||||
const sendMsg = await conn.sendMessage(id, button, MessageType.listMessage)
|
||||
|
||||
// send a buttons message!
|
||||
const buttons = [
|
||||
{buttonId: 'id1', buttonText: {displayText: 'Button 1'}, type: 1},
|
||||
{buttonId: 'id2', buttonText: {displayText: 'Button 2'}, type: 1}
|
||||
]
|
||||
|
||||
const buttonMessage = {
|
||||
contentText: "Hi it's button message",
|
||||
footerText: 'Hello World',
|
||||
buttons: buttons,
|
||||
headerType: 1
|
||||
}
|
||||
|
||||
const sendMsg = await conn.sendMessage(id, buttonMessage, MessageType.buttonsMessage)
|
||||
```
|
||||
|
||||
### Media Messages
|
||||
|
||||
11489
WAMessage/WAMessage.d.ts
vendored
11489
WAMessage/WAMessage.d.ts
vendored
File diff suppressed because it is too large
Load Diff
35199
WAMessage/WAMessage.js
35199
WAMessage/WAMessage.js
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -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:
|
||||
|
||||
@@ -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',
|
||||
|
||||
|
||||
Reference in New Issue
Block a user