Deploy: 2026-05-23 02:09:23

This commit is contained in:
Hamza-Ayed
2026-05-23 02:09:23 +03:00
parent 7ae5964ce1
commit b5e4f48be5
4 changed files with 27 additions and 26 deletions

View File

@@ -360,7 +360,7 @@ function convertToOggOpus(base64Audio) {
/**
* Send a message using an active session
*/
async function sendMessage(session_key, phone, message, mediaUrl = null, audioBase64 = null, mimetype = null) {
async function sendMessage(session_key, phone, message, mediaUrl = null, audioBase64 = null, mimetype = null, imageBase64 = null) {
const sock = sessions.get(session_key);
if (!sock) {
throw new Error(`Session ${session_key} is not active or connected`);
@@ -381,7 +381,13 @@ async function sendMessage(session_key, phone, message, mediaUrl = null, audioBa
}
let sentMsg;
if (audioBase64) {
if (imageBase64) {
const buffer = Buffer.from(imageBase64, 'base64');
sentMsg = await sock.sendMessage(jid, {
image: buffer,
caption: message || ''
});
} else if (audioBase64) {
let finalAudioBase64 = audioBase64;
let finalMime = mimetype || 'audio/mp4';

View File

@@ -84,18 +84,18 @@ app.get('/api/sessions/active', (req, res) => {
// Send outbound message
app.post('/api/messages/send', async (req, res) => {
const { session_key, phone, message, media_url, audio, mimetype } = req.body;
const { session_key, phone, message, media_url, audio, mimetype, image } = req.body;
if (!session_key || !phone) {
return res.status(400).json({ error: 'Missing session_key or phone' });
}
if (!message && !audio && !media_url) {
return res.status(400).json({ error: 'Missing message, audio or media_url' });
if (!message && !audio && !media_url && !image) {
return res.status(400).json({ error: 'Missing message, audio, media_url, or image' });
}
try {
const result = await sendMessage(session_key, phone, message, media_url, audio, mimetype);
const result = await sendMessage(session_key, phone, message, media_url, audio, mimetype, image);
res.json({ status: 'success', data: result });
} catch (err) {
console.error(`Error sending message via ${session_key} to ${phone}:`, err);