Deploy: 2026-05-22 01:25:54

This commit is contained in:
Hamza-Ayed
2026-05-22 01:25:54 +03:00
parent da7d3571e0
commit e5c6c54ca0
5 changed files with 240 additions and 8 deletions

View File

@@ -104,12 +104,15 @@ async function startSession(session_key, webhook_url) {
msg.message?.videoMessage?.caption || '';
const isAudio = !!msg.message?.audioMessage;
const isImage = !!msg.message?.imageMessage;
// Only process messages that have text content OR are audio messages
if (!body && !isAudio) continue;
// Only process messages that have text content OR are audio/image messages
if (!body && !isAudio && !isImage) continue;
let audioBase64 = null;
let audioMimeType = null;
let imageBase64 = null;
let imageMimeType = null;
if (isAudio) {
try {
@@ -129,6 +132,24 @@ async function startSession(session_key, webhook_url) {
console.error('[Baileys] Failed to download audio message:', e.message);
continue; // Skip if audio download fails to prevent empty processing
}
} else if (isImage) {
try {
console.log(`[Baileys] Downloading image message for ${remoteJid}`);
const buffer = await downloadMediaMessage(
msg,
'buffer',
{},
{
logger: pino({ level: 'silent' }),
rekey: true
}
);
imageBase64 = buffer.toString('base64');
imageMimeType = msg.message.imageMessage.mimetype || 'image/jpeg';
} catch (e) {
console.error('[Baileys] Failed to download image message:', e.message);
continue; // Skip if image download fails
}
}
// Extract sender phone number (handle LID privacy scheme)
@@ -147,6 +168,8 @@ async function startSession(session_key, webhook_url) {
if (isAudio) {
console.log(`[Message] Received audio voice note from ${senderPhone} (JID: ${remoteJid})`);
} else if (isImage) {
console.log(`[Message] Received image from ${senderPhone} (JID: ${remoteJid})`);
} else {
console.log(`[Message] Received from ${senderPhone} (JID: ${remoteJid}): ${body}`);
}
@@ -161,6 +184,8 @@ async function startSession(session_key, webhook_url) {
body: body,
audio: audioBase64,
mimeType: audioMimeType,
image: imageBase64,
imageMimeType: imageMimeType,
timestamp: msg.messageTimestamp
}
});
@@ -285,9 +310,14 @@ async function sendMessage(session_key, phone, message, mediaUrl = null) {
return await sock.sendMessage(jid, { text: message });
}
function getActiveSessions() {
return Array.from(sessions.keys());
}
module.exports = {
startSession,
disconnectSession,
sendMessage
sendMessage,
getActiveSessions
};