Atualização para transferir fila quando entrar em loop infinito de ura

pull/20/head
adriano 2023-06-20 14:29:54 -03:00
parent 5f385ab33c
commit 47cb2904af
1 changed files with 17 additions and 32 deletions

View File

@ -353,7 +353,7 @@ async function sendDelayedMessages(wbot: Session, ticket: Ticket, contact: Conta
// let url = msgAction.actions[1].replace(/\.php.*/, '.php')
let msg_endpoint2 = await queryEndPointHit(String(cod_web))
let msg_endpoint2 = await queryEndPointHit(String(cod_web))
if (msg_endpoint2 && msg_endpoint2.length == 0) {
@ -601,6 +601,9 @@ const verifyQueue = async (
//test del transfere o atendimento se entrar na ura infinita
let ticket_message = await ShowTicketMessage(ticket.id, false);
console.log('ticket_message.length ', ticket_message.length)
if (ticket_message.length > 10) {
await UpdateTicketService({ ticketData: { status: 'pending', queueId: queues[0].id }, ticketId: ticket.id });
@ -974,44 +977,26 @@ const handleMessage = async (
console.log('okkkkkkkkkkkkkkkkkk 4')
// TEST DEL
let test: any = await ShowTicketMessage(ticket.id, false, true, 5);
// // TEST DEL
// let test: any = await ShowTicketMessage(ticket.id, false, true, 5);
console.log('okkkkkkkkkkkkkkkkkk 5 test: ', test)
// console.log('okkkkkkkkkkkkkkkkkk 5 test: ', test)
if (test && test.length > 0 && test[0].body.includes('Se deseja solicitar atendimento de urgência, digite *1*') && msg.body == '1') {
//test del transfere o atendimento se entrar na ura infinita
let ticket_message = await ShowTicketMessage(ticket.id, false);
console.log('===================================> ENDPOINT REQUEST')
console.log('ticket_message.length ', ticket_message.length)
for (let i = 0; i < test.length; i++) {
if (ticket_message.length > 10) {
if (test[i].body.includes('*categoria*: INFRAESTRUTURA')) {
const { queues, } = await ShowWhatsAppService(wbot.id!);
botSendMessage(ticket, contact, wbot, `Estamos direcionando seu atendimento para o Suporte. Em breve você será atendido por um de nossos atendentes!\n\nPara voltar ao atendimento *automatizado* e sair da fila de atendimento *humano* digite *0*`)
await transferTicket(0, wbot, ticket, contact)
break
}
else if (test[i].body.includes('*categoria*: ELOS')) {
botSendMessage(ticket, contact, wbot, `Estamos direcionando seu atendimento para o Suporte. Em breve você será atendido por um de nossos atendentes!\n\nPara voltar ao atendimento *automatizado* e sair da fila de atendimento *humano* digite *0*`)
await transferTicket(1, wbot, ticket, contact)
break
}
}
return
await UpdateTicketService({ ticketData: { status: 'pending', queueId: queues[0].id }, ticketId: ticket.id });
}
else {
await sendDialogflowAwswer(wbot, ticket, msg, contact, chat);
}
//
console.log('okkkkkkkkkkkkkkkkkk 6')
await sendDialogflowAwswer(wbot, ticket, msg, contact, chat);
}
else if (botInfo.isOnQueue && !msg.fromMe && msg.body == '0' && ticket.status == 'pending' && ticket.queueId) {