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
|
+ 'TEL;type=CELL;type=VOICE;waid=911234567890:+91 12345 67890\n' // WhatsApp ID + phone number
|
||||||
+ 'END:VCARD'
|
+ 'END:VCARD'
|
||||||
const sentMsg = await conn.sendMessage(id, {displayname: "Jeff", vcard: vcard}, MessageType.contact)
|
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
|
### Media Messages
|
||||||
|
|||||||
11489
WAMessage/WAMessage.d.ts
vendored
11489
WAMessage/WAMessage.d.ts
vendored
File diff suppressed because it is too large
Load Diff
35197
WAMessage/WAMessage.js
35197
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,
|
WAContactsArrayMessage,
|
||||||
WAGroupInviteMessage,
|
WAGroupInviteMessage,
|
||||||
WAListMessage,
|
WAListMessage,
|
||||||
|
WAButtonsMessage,
|
||||||
WATextMessage,
|
WATextMessage,
|
||||||
WAMessageContent, WAMetric, WAFlag, WAMessage, BaileysError, WA_MESSAGE_STATUS_TYPE, WAMessageProto, MediaConnInfo, MessageTypeProto, URL_REGEX, WAUrlInfo, WA_DEFAULT_EPHEMERAL, WAMediaUpload
|
WAMessageContent, WAMetric, WAFlag, WAMessage, BaileysError, WA_MESSAGE_STATUS_TYPE, WAMessageProto, MediaConnInfo, MessageTypeProto, URL_REGEX, WAUrlInfo, WA_DEFAULT_EPHEMERAL, WAMediaUpload
|
||||||
} from './Constants'
|
} from './Constants'
|
||||||
@@ -28,7 +29,7 @@ export class WAConnection extends Base {
|
|||||||
*/
|
*/
|
||||||
async sendMessage(
|
async sendMessage(
|
||||||
id: string,
|
id: string,
|
||||||
message: string | WATextMessage | WALocationMessage | WAContactMessage | WAContactsArrayMessage | WAGroupInviteMessage | WAMediaUpload | WAListMessage,
|
message: string | WATextMessage | WALocationMessage | WAContactMessage | WAContactsArrayMessage | WAGroupInviteMessage | WAMediaUpload | WAListMessage | WAButtonsMessage,
|
||||||
type: MessageType,
|
type: MessageType,
|
||||||
options: MessageOptions = {},
|
options: MessageOptions = {},
|
||||||
) {
|
) {
|
||||||
@@ -67,7 +68,7 @@ export class WAConnection extends Base {
|
|||||||
/** Prepares a message for sending via sendWAMessage () */
|
/** Prepares a message for sending via sendWAMessage () */
|
||||||
async prepareMessage(
|
async prepareMessage(
|
||||||
id: string,
|
id: string,
|
||||||
message: string | WATextMessage | WALocationMessage | WAContactMessage | WAContactsArrayMessage | WAGroupInviteMessage | WAMediaUpload | WAListMessage,
|
message: string | WATextMessage | WALocationMessage | WAContactMessage | WAContactsArrayMessage | WAGroupInviteMessage | WAMediaUpload | WAListMessage | WAButtonsMessage,
|
||||||
type: MessageType,
|
type: MessageType,
|
||||||
options: MessageOptions = {},
|
options: MessageOptions = {},
|
||||||
) {
|
) {
|
||||||
@@ -106,7 +107,7 @@ export class WAConnection extends Base {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
/** Prepares the message content */
|
/** 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 = {}
|
let m: WAMessageContent = {}
|
||||||
switch (type) {
|
switch (type) {
|
||||||
case MessageType.text:
|
case MessageType.text:
|
||||||
@@ -142,6 +143,9 @@ export class WAConnection extends Base {
|
|||||||
case MessageType.listMessage:
|
case MessageType.listMessage:
|
||||||
m.listMessage = WAMessageProto.ListMessage.fromObject(message as any)
|
m.listMessage = WAMessageProto.ListMessage.fromObject(message as any)
|
||||||
break
|
break
|
||||||
|
case MessageType.buttonsMessage:
|
||||||
|
m.buttonsMessage = WAMessageProto.ButtonsMessage.fromObject(message as any)
|
||||||
|
break
|
||||||
case MessageType.image:
|
case MessageType.image:
|
||||||
case MessageType.sticker:
|
case MessageType.sticker:
|
||||||
case MessageType.document:
|
case MessageType.document:
|
||||||
|
|||||||
@@ -19,6 +19,7 @@ export type WAContactMessage = proto.ContactMessage
|
|||||||
export type WAContactsArrayMessage = proto.ContactsArrayMessage
|
export type WAContactsArrayMessage = proto.ContactsArrayMessage
|
||||||
export type WAGroupInviteMessage = proto.GroupInviteMessage
|
export type WAGroupInviteMessage = proto.GroupInviteMessage
|
||||||
export type WAListMessage = proto.ListMessage
|
export type WAListMessage = proto.ListMessage
|
||||||
|
export type WAButtonsMessage = proto.ButtonsMessage
|
||||||
export type WAMessageKey = proto.IMessageKey
|
export type WAMessageKey = proto.IMessageKey
|
||||||
export type WATextMessage = proto.ExtendedTextMessage
|
export type WATextMessage = proto.ExtendedTextMessage
|
||||||
export type WAContextInfo = proto.IContextInfo
|
export type WAContextInfo = proto.IContextInfo
|
||||||
@@ -333,6 +334,7 @@ export enum MessageType {
|
|||||||
contactsArray = 'contactsArrayMessage',
|
contactsArray = 'contactsArrayMessage',
|
||||||
groupInviteMessage = 'groupInviteMessage',
|
groupInviteMessage = 'groupInviteMessage',
|
||||||
listMessage = 'listMessage',
|
listMessage = 'listMessage',
|
||||||
|
buttonsMessage = 'buttonsMessage',
|
||||||
location = 'locationMessage',
|
location = 'locationMessage',
|
||||||
liveLocation = 'liveLocationMessage',
|
liveLocation = 'liveLocationMessage',
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user