Deploy: 2026-05-22 01:13:50
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
const baileys = require('@whiskeysockets/baileys');
|
||||
const makeWASocket = baileys.default || baileys.makeWASocket || baileys;
|
||||
const { useMultiFileAuthState, DisconnectReason, fetchLatestBaileysVersion } = baileys;
|
||||
const { useMultiFileAuthState, DisconnectReason, fetchLatestBaileysVersion, downloadMediaMessage } = baileys;
|
||||
const pino = require('pino');
|
||||
const axios = require('axios');
|
||||
const fs = require('fs');
|
||||
@@ -103,8 +103,33 @@ async function startSession(session_key, webhook_url) {
|
||||
msg.message?.imageMessage?.caption ||
|
||||
msg.message?.videoMessage?.caption || '';
|
||||
|
||||
// For now, only process messages that have text content
|
||||
if (!body) continue;
|
||||
const isAudio = !!msg.message?.audioMessage;
|
||||
|
||||
// Only process messages that have text content OR are audio messages
|
||||
if (!body && !isAudio) continue;
|
||||
|
||||
let audioBase64 = null;
|
||||
let audioMimeType = null;
|
||||
|
||||
if (isAudio) {
|
||||
try {
|
||||
console.log(`[Baileys] Downloading audio message for ${remoteJid}`);
|
||||
const buffer = await downloadMediaMessage(
|
||||
msg,
|
||||
'buffer',
|
||||
{},
|
||||
{
|
||||
logger: pino({ level: 'silent' }),
|
||||
rekey: true
|
||||
}
|
||||
);
|
||||
audioBase64 = buffer.toString('base64');
|
||||
audioMimeType = msg.message.audioMessage.mimetype || 'audio/ogg';
|
||||
} catch (e) {
|
||||
console.error('[Baileys] Failed to download audio message:', e.message);
|
||||
continue; // Skip if audio download fails to prevent empty processing
|
||||
}
|
||||
}
|
||||
|
||||
// Extract sender phone number (handle LID privacy scheme)
|
||||
let senderPhone = '';
|
||||
@@ -120,7 +145,11 @@ async function startSession(session_key, webhook_url) {
|
||||
|
||||
const senderName = msg.pushName || '';
|
||||
|
||||
console.log(`[Message] Received from ${senderPhone} (JID: ${remoteJid}): ${body}`);
|
||||
if (isAudio) {
|
||||
console.log(`[Message] Received audio voice note from ${senderPhone} (JID: ${remoteJid})`);
|
||||
} else {
|
||||
console.log(`[Message] Received from ${senderPhone} (JID: ${remoteJid}): ${body}`);
|
||||
}
|
||||
|
||||
await sendWebhook(webhook_url, {
|
||||
session_key,
|
||||
@@ -130,6 +159,8 @@ async function startSession(session_key, webhook_url) {
|
||||
phone: senderPhone,
|
||||
name: senderName,
|
||||
body: body,
|
||||
audio: audioBase64,
|
||||
mimeType: audioMimeType,
|
||||
timestamp: msg.messageTimestamp
|
||||
}
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user