fix: infinite transfer message send to client

feat-scaling-ticket-remote-creation
adriano 2024-02-21 09:17:12 -03:00
parent db140a328c
commit 9370931737
1 changed files with 35 additions and 33 deletions

View File

@ -759,6 +759,41 @@ const handleMessage = async (
await verifyQueue(wbot, msg, ticket, contact);
}
// Transfer to agent
if (!msg.fromMe) {
const listUser = await findByContain();
let filteredUsers = listUser.filter(user =>
msg?.body?.trim()?.toLowerCase().includes(user.name)
);
if (filteredUsers && filteredUsers.length > 0) {
const whatsappQueues = await ListWhatsappQueuesByUserQueue(
+filteredUsers[0].id
);
const obj: any = whatsappQueues.find(
(ob: any) => ob.whatsappId == wbot.id
);
if (obj) {
await botTransferTicketToUser(
+filteredUsers[0].id,
ticket,
+obj.queueId
);
await botSendMessage(
ticket,
`Você foi transferido para falar com o agente ${filteredUsers[0].name}`
);
}
return;
}
}
//
// O bot interage com o cliente e encaminha o atendimento para fila de atendende quando o usuário escolhe a opção falar com atendente
//Habilitar esse caso queira usar o bot
@ -802,39 +837,6 @@ const handleMessage = async (
return;
}
// Transfer to agent
const listUser = await findByContain();
let filteredUsers = listUser.filter(user =>
msg?.body?.trim()?.toLowerCase().includes(user.name)
);
if (filteredUsers && filteredUsers.length > 0) {
const whatsappQueues = await ListWhatsappQueuesByUserQueue(
+filteredUsers[0].id
);
const obj: any = whatsappQueues.find(
(ob: any) => ob.whatsappId == wbot.id
);
if (obj) {
await botTransferTicketToUser(
+filteredUsers[0].id,
ticket,
+obj.queueId
);
botSendMessage(
ticket,
`Você foi transferido para falar com o agente ${filteredUsers[0].name}`
);
}
return;
}
//
const menuMsg: any = await menu(msg.body, wbot.id, contact.id);
console.log("menuMsg: ", menuMsg);