|
|
|
@ -135,6 +135,13 @@ const createWhatsApp = async phone => {
|
|
|
|
}
|
|
|
|
}
|
|
|
|
};
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
const saveMediaFile = async (original, fileName) => {
|
|
|
|
|
|
|
|
const mediaBuffer = await downloadMediaMessage(
|
|
|
|
|
|
|
|
original, 'buffer', {}, { logger, reuploadRequest: waSocket.updateMediaMessage, },
|
|
|
|
|
|
|
|
);
|
|
|
|
|
|
|
|
await writeFile(fileName, mediaBuffer);
|
|
|
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
const parseTextMessage = original => {
|
|
|
|
const parseTextMessage = original => {
|
|
|
|
const text = original.message?.conversation;
|
|
|
|
const text = original.message?.conversation;
|
|
|
|
return {
|
|
|
|
return {
|
|
|
|
@ -184,11 +191,8 @@ const createWhatsApp = async phone => {
|
|
|
|
const parseImageMessage = async original => {
|
|
|
|
const parseImageMessage = async original => {
|
|
|
|
const imageMessage = original.message.imageMessage;
|
|
|
|
const imageMessage = original.message.imageMessage;
|
|
|
|
const fileExtension = getFileExtension(imageMessage.mimetype);
|
|
|
|
const fileExtension = getFileExtension(imageMessage.mimetype);
|
|
|
|
const imageBuffer = await downloadMediaMessage(
|
|
|
|
|
|
|
|
original, 'buffer', {}, { logger, reuploadRequest: waSocket.updateMediaMessage, },
|
|
|
|
|
|
|
|
);
|
|
|
|
|
|
|
|
const imageFilename = './temp/image_' + whatsAppNo + '_' + original.key.id + fileExtension;
|
|
|
|
const imageFilename = './temp/image_' + whatsAppNo + '_' + original.key.id + fileExtension;
|
|
|
|
await writeFile(imageFilename, imageBuffer);
|
|
|
|
await saveMediaFile(original, imageFilename);
|
|
|
|
|
|
|
|
|
|
|
|
return {
|
|
|
|
return {
|
|
|
|
type: 'image',
|
|
|
|
type: 'image',
|
|
|
|
@ -202,14 +206,27 @@ const createWhatsApp = async phone => {
|
|
|
|
};
|
|
|
|
};
|
|
|
|
};
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
const parseAudioMessage = async original => {
|
|
|
|
|
|
|
|
const audioMessage = original.message.audioMessage;
|
|
|
|
|
|
|
|
const fileExtension = getFileExtension(audioMessage.mimetype);
|
|
|
|
|
|
|
|
const audioFilename = './temp/audio_' + whatsAppNo + '_' + original.key.id + fileExtension;
|
|
|
|
|
|
|
|
await saveMediaFile(original, audioFilename);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
return {
|
|
|
|
|
|
|
|
type: 'audio',
|
|
|
|
|
|
|
|
audio: {
|
|
|
|
|
|
|
|
mimetype: audioMessage.mimetype,
|
|
|
|
|
|
|
|
sha256: uint8ArrayToBase64(audioMessage.fileSha256),
|
|
|
|
|
|
|
|
filePath: audioFilename,
|
|
|
|
|
|
|
|
link_original: audioMessage.url,
|
|
|
|
|
|
|
|
},
|
|
|
|
|
|
|
|
};
|
|
|
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
const parseDocumentMessage = async original => {
|
|
|
|
const parseDocumentMessage = async original => {
|
|
|
|
const documentMessage = original.message.documentMessage || original.message.documentWithCaptionMessage.message.documentMessage;
|
|
|
|
const documentMessage = original.message.documentMessage || original.message.documentWithCaptionMessage.message.documentMessage;
|
|
|
|
// Extract to inner function
|
|
|
|
const documentFilename = './temp/file_' + whatsAppNo + '_' + original.key.id + '_' + documentMessage.fileName;
|
|
|
|
const mediaBuffer = await downloadMediaMessage(
|
|
|
|
await saveMediaFile(original, documentFilename);
|
|
|
|
original, 'buffer', {}, { logger, reuploadRequest: waSocket.updateMediaMessage, },
|
|
|
|
|
|
|
|
);
|
|
|
|
|
|
|
|
const documentFilename = './temp/doc_' + whatsAppNo + '_' + original.key.id + '_' + documentMessage.fileName;
|
|
|
|
|
|
|
|
await writeFile(documentFilename, mediaBuffer);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
return {
|
|
|
|
return {
|
|
|
|
type: 'document',
|
|
|
|
type: 'document',
|
|
|
|
@ -257,6 +274,8 @@ const createWhatsApp = async phone => {
|
|
|
|
|
|
|
|
|
|
|
|
if (original.message?.documentMessage || original.message?.documentWithCaptionMessage) return parseDocumentMessage;
|
|
|
|
if (original.message?.documentMessage || original.message?.documentWithCaptionMessage) return parseDocumentMessage;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if (original.message?.audioMessage) return parseAudioMessage;
|
|
|
|
|
|
|
|
|
|
|
|
if (original.message?.templateMessage) return parseTemplateMessage;
|
|
|
|
if (original.message?.templateMessage) return parseTemplateMessage;
|
|
|
|
|
|
|
|
|
|
|
|
return null;
|
|
|
|
return null;
|
|
|
|
|