mirror of
https://github.com/FranP-code/Baileys.git
synced 2025-10-13 00:32:22 +00:00
.
This commit is contained in:
@@ -9,7 +9,7 @@ import {
|
|||||||
WALocationMessage,
|
WALocationMessage,
|
||||||
WAContactMessage,
|
WAContactMessage,
|
||||||
WATextMessage,
|
WATextMessage,
|
||||||
WAMessageContent, WAMetric, WAFlag, WAMessage, BaileysError, MessageLogLevel, WA_MESSAGE_STATUS_TYPE, WAMessageProto, MediaConnInfo
|
WAMessageContent, WAMetric, WAFlag, WAMessage, BaileysError, MessageLogLevel, WA_MESSAGE_STATUS_TYPE, WAMessageProto, MediaConnInfo, MessageTypeProto
|
||||||
} from './Constants'
|
} from './Constants'
|
||||||
import { generateMessageID, sha256, hmacSign, aesEncrypWithIV, randomBytes, generateThumbnail, getMediaKeys, decodeMediaMessageBuffer, extensionForMediaMessage, whatsappID, unixTimestampSeconds } from './Utils'
|
import { generateMessageID, sha256, hmacSign, aesEncrypWithIV, randomBytes, generateThumbnail, getMediaKeys, decodeMediaMessageBuffer, extensionForMediaMessage, whatsappID, unixTimestampSeconds } from './Utils'
|
||||||
import { Mutex } from './Mutex'
|
import { Mutex } from './Mutex'
|
||||||
@@ -70,6 +70,7 @@ export class WAConnection extends Base {
|
|||||||
break
|
break
|
||||||
default:
|
default:
|
||||||
m = await this.prepareMessageMedia(message as Buffer, type, options)
|
m = await this.prepareMessageMedia(message as Buffer, type, options)
|
||||||
|
console.log (m)
|
||||||
break
|
break
|
||||||
}
|
}
|
||||||
return WAMessageProto.Message.create (m)
|
return WAMessageProto.Message.create (m)
|
||||||
@@ -126,18 +127,22 @@ export class WAConnection extends Base {
|
|||||||
}
|
}
|
||||||
if (!mediaUrl) throw new Error('Media upload failed on all hosts')
|
if (!mediaUrl) throw new Error('Media upload failed on all hosts')
|
||||||
|
|
||||||
const message = {}
|
const message = {
|
||||||
message[mediaType] = {
|
[mediaType]: MessageTypeProto[mediaType].create (
|
||||||
url: mediaUrl,
|
{
|
||||||
mediaKey: mediaKey,
|
url: mediaUrl,
|
||||||
mimetype: options.mimetype,
|
mediaKey: mediaKey,
|
||||||
fileEncSha256: sha256(body),//fileEncSha256B64,
|
mimetype: options.mimetype,
|
||||||
fileSha256: fileSha256,
|
fileEncSha256: sha256(body),//fileEncSha256B64,
|
||||||
fileLength: buffer.length,
|
fileSha256: fileSha256,
|
||||||
fileName: options.filename || 'file',
|
fileLength: buffer.length,
|
||||||
gifPlayback: isGIF || null,
|
fileName: options.filename || 'file',
|
||||||
caption: options.caption
|
gifPlayback: isGIF || null,
|
||||||
}
|
caption: options.caption,
|
||||||
|
}
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
return WAMessageProto.Message.create(message)// as WAMessageContent
|
return WAMessageProto.Message.create(message)// as WAMessageContent
|
||||||
}
|
}
|
||||||
/** prepares a WAMessage for sending from the given content & options */
|
/** prepares a WAMessage for sending from the given content & options */
|
||||||
@@ -147,8 +152,6 @@ export class WAConnection extends Base {
|
|||||||
// prevent an annoying bug (WA doesn't accept sending messages with '@c.us')
|
// prevent an annoying bug (WA doesn't accept sending messages with '@c.us')
|
||||||
id = whatsappID (id)
|
id = whatsappID (id)
|
||||||
|
|
||||||
message = WAMessageProto.Message.create (message)
|
|
||||||
|
|
||||||
const key = Object.keys(message)[0]
|
const key = Object.keys(message)[0]
|
||||||
const timestamp = unixTimestampSeconds(options.timestamp)
|
const timestamp = unixTimestampSeconds(options.timestamp)
|
||||||
const quoted = options.quoted
|
const quoted = options.quoted
|
||||||
@@ -169,7 +172,10 @@ export class WAConnection extends Base {
|
|||||||
message[key].contextInfo.remoteJid = quoted.key.remoteJid
|
message[key].contextInfo.remoteJid = quoted.key.remoteJid
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (!message[key].jpegThumbnail) message[key].jpegThumbnail = options?.thumbnail
|
if (options?.thumbnail) {
|
||||||
|
message[key].jpegThumbnail = Buffer.from(options.thumbnail, 'base64')
|
||||||
|
}
|
||||||
|
message = WAMessageProto.Message.create (message)
|
||||||
|
|
||||||
const messageJSON = {
|
const messageJSON = {
|
||||||
key: {
|
key: {
|
||||||
|
|||||||
@@ -260,6 +260,14 @@ export enum MessageType {
|
|||||||
audio = 'audioMessage',
|
audio = 'audioMessage',
|
||||||
product = 'productMessage'
|
product = 'productMessage'
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export const MessageTypeProto = {
|
||||||
|
[MessageType.image]: proto.ImageMessage,
|
||||||
|
[MessageType.video]: proto.VideoMessage,
|
||||||
|
[MessageType.audio]: proto.AudioMessage,
|
||||||
|
[MessageType.sticker]: proto.StickerMessage,
|
||||||
|
[MessageType.document]: proto.DocumentMessage,
|
||||||
|
}
|
||||||
export enum ChatModification {
|
export enum ChatModification {
|
||||||
archive='archive',
|
archive='archive',
|
||||||
unarchive='unarchive',
|
unarchive='unarchive',
|
||||||
|
|||||||
Reference in New Issue
Block a user