50 lines
1.4 KiB
TypeScript
50 lines
1.4 KiB
TypeScript
|
|
||
|
import Ticket from "../models/Ticket";
|
||
|
import ListWhatsAppsNumber from "../services/WhatsappService/ListWhatsAppsNumber";
|
||
|
import GetTicketWbot from "./GetTicketWbot";
|
||
|
|
||
|
const sendMessageMultiSession = async (ticket: Ticket, body?: any, quotedMsgSerializedId?: any, sendSeen?: boolean) => {
|
||
|
|
||
|
let sentMessage: any = ''
|
||
|
|
||
|
const listWhatsapp: any = await ListWhatsAppsNumber(ticket.whatsappId, 'CONNECTED')
|
||
|
|
||
|
if (listWhatsapp.length > 1) {
|
||
|
|
||
|
for (let w = 0; w < listWhatsapp.length; w++) {
|
||
|
|
||
|
if(listWhatsapp[w].id == ticket.whatsappId) continue
|
||
|
|
||
|
try {
|
||
|
|
||
|
console.log('CHANGE THE WHATSAPP SESSION ID: ', listWhatsapp[w].id)
|
||
|
|
||
|
await ticket.update({ whatsappId: listWhatsapp[w].id })
|
||
|
|
||
|
const wbot = await GetTicketWbot(ticket);
|
||
|
|
||
|
if (sendSeen) {
|
||
|
|
||
|
await wbot.sendSeen(`${ticket.contact.number}@${ticket.isGroup ? "g" : "c"}.us`);
|
||
|
|
||
|
}
|
||
|
else if (body) {
|
||
|
|
||
|
sentMessage = await wbot.sendMessage(`${ticket.contact.number}@${ticket.isGroup ? "g" : "c"}.us`, body, { quotedMessageId: quotedMsgSerializedId, linkPreview: false });
|
||
|
|
||
|
}
|
||
|
|
||
|
break
|
||
|
|
||
|
} catch (error) {
|
||
|
console.log('Cannot send send the message using the whatsapp id: ', listWhatsapp[w].id, ' | error: ', error)
|
||
|
}
|
||
|
|
||
|
}
|
||
|
}
|
||
|
|
||
|
return sentMessage
|
||
|
};
|
||
|
|
||
|
export default sendMessageMultiSession;
|