mirror of
https://github.com/FranP-code/Baileys.git
synced 2025-10-13 00:32:22 +00:00
Added List message support and removed "saving auth state" (#1048)
* Added template support and footers for buttons & templates * Template message readme * got rid of "saving auth state" and added lists * added body * Update README.md
This commit is contained in:
38
README.md
38
README.md
@@ -264,7 +264,7 @@ const buttons = [
|
|||||||
|
|
||||||
const buttonMessage = {
|
const buttonMessage = {
|
||||||
text: "Hi it's button message",
|
text: "Hi it's button message",
|
||||||
footerText: 'Hello World',
|
footer: 'Hello World',
|
||||||
buttons: buttons,
|
buttons: buttons,
|
||||||
headerType: 1
|
headerType: 1
|
||||||
}
|
}
|
||||||
@@ -273,18 +273,46 @@ const sendMsg = await sock.sendMessage(id, buttonMessage)
|
|||||||
|
|
||||||
//send a template message!
|
//send a template message!
|
||||||
const templateButtons = [
|
const templateButtons = [
|
||||||
{index: 1, urlButton: {displayText: '⭐ Star Baileys on GitHub!', url: 'https://github.com/adiwajshing/Baileys'}},
|
{index: 1, urlButton: {displayText: '⭐ Star Baileys on GitHub!', url: 'https://github.com/adiwajshing/Baileys'}},
|
||||||
{index: 2, callButton: {displayText: 'Call me!', phoneNumber: '+1 (234) 5678-901'}},
|
{index: 2, callButton: {displayText: 'Call me!', phoneNumber: '+1 (234) 5678-901'}},
|
||||||
{index: 3, quickReplyButton: {displayText: 'This is a reply, just like normal buttons!', id: 'id-like-buttons-message'}},
|
{index: 3, quickReplyButton: {displayText: 'This is a reply, just like normal buttons!', id: 'id-like-buttons-message'}},
|
||||||
]
|
]
|
||||||
|
|
||||||
const buttonMessage = {
|
const templateMessage = {
|
||||||
text: "Hi it's a template message",
|
text: "Hi it's a template message",
|
||||||
footer: 'Hello World',
|
footer: 'Hello World',
|
||||||
templateButtons: templateButttons
|
templateButtons: templateButttons
|
||||||
}
|
}
|
||||||
|
|
||||||
const sendMsg = await sock.sendMessage(id, templateMessage)
|
const sendMsg = await sock.sendMessage(id, templateMessage)
|
||||||
|
|
||||||
|
// send a list message!
|
||||||
|
const sections = [
|
||||||
|
{
|
||||||
|
title: "Section 1",
|
||||||
|
rows: [
|
||||||
|
{title: "Option 1", rowId: "option1"},
|
||||||
|
{title: "Option 2", rowId: "option2", description: "This is a description"}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: "Section 2",
|
||||||
|
rows: [
|
||||||
|
{title: "Option 3", rowId: "option3"},
|
||||||
|
{title: "Option 4", rowId: "option4", description: "This is a description V2"}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
]
|
||||||
|
|
||||||
|
const listMessage = {
|
||||||
|
text: "This is a list",
|
||||||
|
footer: "nice footer, link: https://google.com",
|
||||||
|
title: "Amazing boldfaced list title",
|
||||||
|
buttonText: "Required, text on the button to vie the list",
|
||||||
|
sections
|
||||||
|
}
|
||||||
|
|
||||||
|
const sendMsg = await sock.sendMessage(id, listMessage)
|
||||||
```
|
```
|
||||||
|
|
||||||
### Media Messages
|
### Media Messages
|
||||||
|
|||||||
@@ -58,6 +58,16 @@ type Templatable = {
|
|||||||
|
|
||||||
footer?: string
|
footer?: string
|
||||||
}
|
}
|
||||||
|
type Listable = {
|
||||||
|
/** Sections of the List */
|
||||||
|
sections?: proto.ISection[]
|
||||||
|
|
||||||
|
/** Title of a List Message only */
|
||||||
|
title?: string
|
||||||
|
|
||||||
|
/** Text of the bnutton on the list (required) */
|
||||||
|
buttonText: string
|
||||||
|
}
|
||||||
type WithDimensions = {
|
type WithDimensions = {
|
||||||
width?: number
|
width?: number
|
||||||
height?: number
|
height?: number
|
||||||
@@ -93,7 +103,7 @@ export type AnyRegularMessageContent = (
|
|||||||
({
|
({
|
||||||
text: string
|
text: string
|
||||||
}
|
}
|
||||||
& Mentionable & Buttonable & Templatable) |
|
& Mentionable & Buttonable & Templatable & Listable) |
|
||||||
AnyMediaMessageContent |
|
AnyMediaMessageContent |
|
||||||
{
|
{
|
||||||
contacts: {
|
contacts: {
|
||||||
|
|||||||
@@ -112,7 +112,7 @@ export const initAuthCreds = (): AuthenticationCreds => {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/** stores the full authentication state in a single JSON file */
|
/** stores the full authentication state in a single JSON file */
|
||||||
export const useSingleFileAuthState = (filename: string): { state: AuthenticationState, saveState: () => void } => {
|
export const useSingleFileAuthState = (filename: string, logger?: Logger): { state: AuthenticationState, saveState: () => void } => {
|
||||||
// require fs here so that in case "fs" is not available -- the app does not crash
|
// require fs here so that in case "fs" is not available -- the app does not crash
|
||||||
const { readFileSync, writeFileSync, existsSync } = require('fs')
|
const { readFileSync, writeFileSync, existsSync } = require('fs')
|
||||||
let creds: AuthenticationCreds
|
let creds: AuthenticationCreds
|
||||||
@@ -120,7 +120,7 @@ export const useSingleFileAuthState = (filename: string): { state: Authenticatio
|
|||||||
|
|
||||||
// save the authentication state to a file
|
// save the authentication state to a file
|
||||||
const saveState = () => {
|
const saveState = () => {
|
||||||
console.log('saving auth state')
|
logger && logger.trace('saving auth state')
|
||||||
writeFileSync(
|
writeFileSync(
|
||||||
filename,
|
filename,
|
||||||
// BufferJSON replacer utility saves buffers nicely
|
// BufferJSON replacer utility saves buffers nicely
|
||||||
|
|||||||
@@ -314,6 +314,18 @@ export const generateWAMessageContent = async(
|
|||||||
|
|
||||||
m = { templateMessage }
|
m = { templateMessage }
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if ('sections' in message && !!message.sections) {
|
||||||
|
const listMessage: proto.IListMessage = {
|
||||||
|
sections: message.sections,
|
||||||
|
buttonText: message.buttonText,
|
||||||
|
title: message.title,
|
||||||
|
footerText: message.footer,
|
||||||
|
description: message.text
|
||||||
|
}
|
||||||
|
|
||||||
|
m = { listMessage }
|
||||||
|
}
|
||||||
|
|
||||||
if('viewOnce' in message && !!message.viewOnce) {
|
if('viewOnce' in message && !!message.viewOnce) {
|
||||||
m = { viewOnceMessage: { message: m } }
|
m = { viewOnceMessage: { message: m } }
|
||||||
|
|||||||
Reference in New Issue
Block a user