Phase 4: Support LID identity scheme and fix incoming message parsing
This commit is contained in:
@@ -229,7 +229,34 @@ async function disconnectSession(session_key) {
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Send a message using an active session
|
||||
*/
|
||||
async function sendMessage(session_key, phone, message, mediaUrl = null) {
|
||||
const sock = sessions.get(session_key);
|
||||
if (!sock) {
|
||||
throw new Error(`Session ${session_key} is not active or connected`);
|
||||
}
|
||||
|
||||
let jid = phone.includes('@') ? phone : `${phone}@s.whatsapp.net`;
|
||||
|
||||
if (mediaUrl) {
|
||||
const ext = mediaUrl.split('.').pop().toLowerCase();
|
||||
if (['jpg', 'jpeg', 'png', 'webp'].includes(ext)) {
|
||||
return await sock.sendMessage(jid, { image: { url: mediaUrl }, caption: message });
|
||||
} else if (['mp4', 'mkv', 'avi'].includes(ext)) {
|
||||
return await sock.sendMessage(jid, { video: { url: mediaUrl }, caption: message });
|
||||
} else {
|
||||
return await sock.sendMessage(jid, { document: { url: mediaUrl }, caption: message, fileName: mediaUrl.split('/').pop() });
|
||||
}
|
||||
}
|
||||
|
||||
return await sock.sendMessage(jid, { text: message });
|
||||
}
|
||||
|
||||
module.exports = {
|
||||
startSession,
|
||||
disconnectSession
|
||||
disconnectSession,
|
||||
sendMessage
|
||||
};
|
||||
|
||||
|
||||
Reference in New Issue
Block a user