mirror of
https://github.com/FranP-code/Baileys.git
synced 2025-10-13 00:32:22 +00:00
add viewOnce + buttons
This commit is contained in:
@@ -50,19 +50,26 @@ type Mentionable = {
|
||||
/** list of jids that are mentioned in the accompanying text */
|
||||
mentions?: string[]
|
||||
}
|
||||
type ViewOnce = {
|
||||
viewOnce?: boolean
|
||||
}
|
||||
type Buttonable = {
|
||||
/** add buttons to the message */
|
||||
buttons?: proto.IButton[]
|
||||
}
|
||||
export type MediaType = 'image' | 'video' | 'sticker' | 'audio' | 'document'
|
||||
export type AnyMediaMessageContent = (
|
||||
({
|
||||
image: WAMediaUpload
|
||||
caption?: string
|
||||
jpegThumbnail?: string
|
||||
} & Mentionable) |
|
||||
} & Mentionable & Buttonable) |
|
||||
({
|
||||
video: WAMediaUpload
|
||||
caption?: string
|
||||
gifPlayback?: boolean
|
||||
jpegThumbnail?: string
|
||||
} & Mentionable) | {
|
||||
} & Mentionable & Buttonable) | {
|
||||
audio: WAMediaUpload
|
||||
/** if set to true, will send as a `voice note` */
|
||||
pttAudio?: boolean
|
||||
@@ -70,18 +77,18 @@ export type AnyMediaMessageContent = (
|
||||
seconds?: number
|
||||
} | {
|
||||
sticker: WAMediaUpload
|
||||
} | {
|
||||
} | ({
|
||||
document: WAMediaUpload
|
||||
mimetype: string
|
||||
fileName?: string
|
||||
}) &
|
||||
} & Buttonable)) &
|
||||
{ mimetype?: string }
|
||||
|
||||
export type AnyRegularMessageContent =
|
||||
export type AnyRegularMessageContent = (
|
||||
({
|
||||
text: string
|
||||
}
|
||||
& Mentionable) |
|
||||
& Mentionable & Buttonable) |
|
||||
AnyMediaMessageContent |
|
||||
{
|
||||
contacts: {
|
||||
@@ -92,6 +99,7 @@ export type AnyRegularMessageContent =
|
||||
{
|
||||
location: WALocationMessage
|
||||
}
|
||||
) & ViewOnce
|
||||
|
||||
export type AnyMessageContent = AnyRegularMessageContent | {
|
||||
forward: WAMessage
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
import { Boom } from '@hapi/boom'
|
||||
import { createReadStream, promises as fs } from "fs"
|
||||
import got from "got"
|
||||
import { proto } from '../../WAMessage'
|
||||
import { DEFAULT_ORIGIN, URL_REGEX, WA_DEFAULT_EPHEMERAL } from "../Defaults"
|
||||
import {
|
||||
AnyMediaMessageContent,
|
||||
@@ -235,7 +236,7 @@ export const generateWAMessageContent = async(
|
||||
|
||||
}
|
||||
}
|
||||
m.extendedTextMessage = WAMessageProto.ExtendedTextMessage.fromObject(extContent)
|
||||
m.extendedTextMessage = extContent
|
||||
} else if('contacts' in message) {
|
||||
const contactLen = message.contacts.contacts.length
|
||||
if(!contactLen) {
|
||||
@@ -267,6 +268,21 @@ export const generateWAMessageContent = async(
|
||||
options
|
||||
)
|
||||
}
|
||||
if('buttons' in message && !!message.buttons) {
|
||||
const buttonsMessage: proto.IButtonsMessage = {
|
||||
buttons: message.buttons!,
|
||||
text: ''
|
||||
}
|
||||
if('text' in message) {
|
||||
buttonsMessage.contentText = message.text
|
||||
} else {
|
||||
Object.assign(buttonsMessage, m)
|
||||
}
|
||||
m = { buttonsMessage }
|
||||
}
|
||||
if('viewOnce' in message && !!message.viewOnce) {
|
||||
m = { viewOnceMessage: { message: m } }
|
||||
}
|
||||
if('mentions' in message && message.mentions?.length) {
|
||||
const [messageType] = Object.keys(m)
|
||||
m[messageType].contextInfo = m[messageType] || { }
|
||||
|
||||
Reference in New Issue
Block a user