Versão com ajustes para producao
parent
e6c7a298c4
commit
2c9ae18a36
|
@ -3,9 +3,13 @@ import dir from 'path';
|
||||||
import fs from 'fs';
|
import fs from 'fs';
|
||||||
import os from 'os';
|
import os from 'os';
|
||||||
|
|
||||||
import ListUsersService from "../services/UserServices/ListUsersService"
|
import ListUsersService from "../services/UserServices/ListUsersService"
|
||||||
|
|
||||||
const _botIsOnQueue = async (botName: string) => {
|
const _botIsOnQueue = async (botName: string, accept: boolean = true) => {
|
||||||
|
|
||||||
|
if (!accept) {
|
||||||
|
return { isOnQueue: false }
|
||||||
|
}
|
||||||
|
|
||||||
const botInfoFile = dir.join(os.tmpdir(), `botInfo.json`);
|
const botInfoFile = dir.join(os.tmpdir(), `botInfo.json`);
|
||||||
|
|
||||||
|
@ -17,20 +21,20 @@ const _botIsOnQueue = async (botName: string) => {
|
||||||
if (fs.existsSync(botInfoFile)) {
|
if (fs.existsSync(botInfoFile)) {
|
||||||
|
|
||||||
console.log('botInfo.json file exists');
|
console.log('botInfo.json file exists');
|
||||||
|
|
||||||
const botInfo = fs.readFileSync(botInfoFile, {encoding:'utf8', flag:'r'});
|
const botInfo = fs.readFileSync(botInfoFile, { encoding: 'utf8', flag: 'r' });
|
||||||
|
|
||||||
return JSON.parse(botInfo)
|
return JSON.parse(botInfo)
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
console.log('botInfo.json file not found!');
|
console.log('botInfo.json file not found!');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
console.log('There was an error on try to read the botInfo.json file: ',error)
|
console.log('There was an error on try to read the botInfo.json file: ', error)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
const { users, count, hasMore } = await ListUsersService({ searchParam: `${botName}`, pageNumber: 1 });
|
const { users, count, hasMore } = await ListUsersService({ searchParam: `${botName}`, pageNumber: 1 });
|
||||||
let botIsOnQueue = false
|
let botIsOnQueue = false
|
||||||
|
@ -44,21 +48,21 @@ const _botIsOnQueue = async (botName: string) => {
|
||||||
console.log('----------------- bot queue id: ', Object(users)[0]["queues"][0].id)
|
console.log('----------------- bot queue id: ', Object(users)[0]["queues"][0].id)
|
||||||
queueId = Object(users)[0]["queues"][0].id;
|
queueId = Object(users)[0]["queues"][0].id;
|
||||||
userIdBot = Object(users)[0].id
|
userIdBot = Object(users)[0].id
|
||||||
botIsOnQueue = true
|
botIsOnQueue = true
|
||||||
|
|
||||||
fs.writeFileSync(botInfoFile, JSON.stringify({ userIdBot: userIdBot, botQueueId: queueId, isOnQueue: botIsOnQueue }), "utf8");
|
fs.writeFileSync(botInfoFile, JSON.stringify({ userIdBot: userIdBot, botQueueId: queueId, isOnQueue: botIsOnQueue }), "utf8");
|
||||||
|
|
||||||
} catch (err) {
|
} catch (err) {
|
||||||
|
|
||||||
console.log('O usuário botqueue não está em nenhuma fila err: ', err)
|
console.log('O usuário botqueue não está em nenhuma fila err: ', err)
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
console.log('Usuário botqueue não existe!')
|
console.log('Usuário botqueue não existe!')
|
||||||
|
|
||||||
fs.writeFileSync(botInfoFile, JSON.stringify({ isOnQueue: false, botQueueId: 0, userIdBot: 0 }), "utf8");
|
fs.writeFileSync(botInfoFile, JSON.stringify({ isOnQueue: false, botQueueId: 0, userIdBot: 0 }), "utf8");
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -49,6 +49,10 @@ class Contact extends Model<Contact> {
|
||||||
@Column
|
@Column
|
||||||
useDialogflow: boolean;
|
useDialogflow: boolean;
|
||||||
|
|
||||||
|
@Default(false)
|
||||||
|
@Column
|
||||||
|
accept: boolean;
|
||||||
|
|
||||||
@CreatedAt
|
@CreatedAt
|
||||||
createdAt: Date;
|
createdAt: Date;
|
||||||
|
|
||||||
|
|
|
@ -43,7 +43,7 @@ const CreateContactService = async ({
|
||||||
name,
|
name,
|
||||||
number,
|
number,
|
||||||
email,
|
email,
|
||||||
useDialogflow,
|
useDialogflow,
|
||||||
profilePicUrl,
|
profilePicUrl,
|
||||||
extraInfo
|
extraInfo
|
||||||
},
|
},
|
||||||
|
|
|
@ -8,6 +8,7 @@ import { logger } from "../../utils/logger";
|
||||||
const sessions : Map<number, SessionsClient> = new Map<number, SessionsClient>();
|
const sessions : Map<number, SessionsClient> = new Map<number, SessionsClient>();
|
||||||
|
|
||||||
const createDialogflowSession = async (id:number, projectName:string, jsonContent:string) : Promise<SessionsClient | undefined> => {
|
const createDialogflowSession = async (id:number, projectName:string, jsonContent:string) : Promise<SessionsClient | undefined> => {
|
||||||
|
|
||||||
if(sessions.has(id)) {
|
if(sessions.has(id)) {
|
||||||
return sessions.get(id);
|
return sessions.get(id);
|
||||||
}
|
}
|
||||||
|
@ -25,8 +26,12 @@ const createDialogflowSession = async (id:number, projectName:string, jsonConten
|
||||||
|
|
||||||
return session;
|
return session;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
const createDialogflowSessionWithModel = async (model: Dialogflow) : Promise<SessionsClient | undefined> => {
|
const createDialogflowSessionWithModel = async (model: Dialogflow) : Promise<SessionsClient | undefined> => {
|
||||||
|
|
||||||
|
// console.log('uuuuuuuuuuuuuuuuuuuuuuuuuuu 0004: ',model)
|
||||||
|
|
||||||
return createDialogflowSession(model.id, model.projectName, model.jsonContent);
|
return createDialogflowSession(model.id, model.projectName, model.jsonContent);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -30,7 +30,7 @@ const FindOrCreateTicketService = async (
|
||||||
|
|
||||||
|
|
||||||
//Habilitar esse caso queira usar o bot
|
//Habilitar esse caso queira usar o bot
|
||||||
const botInfo = await BotIsOnQueue('botqueue')
|
const botInfo = await BotIsOnQueue('botqueue', contact.accept)
|
||||||
// const botInfo = { isOnQueue: false }
|
// const botInfo = { isOnQueue: false }
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -96,6 +96,8 @@ const verifyContact = async (msgContact: any): Promise<Contact> => {
|
||||||
|
|
||||||
const contact = CreateOrUpdateContactService(contactData);
|
const contact = CreateOrUpdateContactService(contactData);
|
||||||
|
|
||||||
|
// console.log('----------> contact: ', JSON.parse(JSON.stringify(contact)))
|
||||||
|
|
||||||
return contact;
|
return contact;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -520,17 +522,17 @@ async function sendDelayedMessages(wbot: Session, ticket: Ticket, contact: Conta
|
||||||
|
|
||||||
console.log('>>>>>>>>>>>>>>> msgAction: ', msgAction, ' | msgAction.actions[1]: ', msgAction.actions[1])
|
console.log('>>>>>>>>>>>>>>> msgAction: ', msgAction, ' | msgAction.actions[1]: ', msgAction.actions[1])
|
||||||
|
|
||||||
const contact_custom_field = await ShowContactCustomFieldService(contact.id)
|
// const contact_custom_field = await ShowContactCustomFieldService(contact.id)
|
||||||
|
|
||||||
if (contact_custom_field && contact_custom_field.length > 0) {
|
// if (contact_custom_field && contact_custom_field.length > 0) {
|
||||||
|
|
||||||
const msg_endpoint = await queryEndPointHit(contact_custom_field[0].value)
|
// const msg_endpoint = await queryEndPointHit(contact_custom_field[0].value)
|
||||||
|
|
||||||
await monitoramento_response2(msg_endpoint, wbot, contact, ticket, contact_custom_field[0].value)
|
// await monitoramento_response2(msg_endpoint, wbot, contact, ticket, contact_custom_field[0].value)
|
||||||
|
|
||||||
}
|
// }
|
||||||
|
|
||||||
console.log('************* contact_custom_field: ', contact_custom_field)
|
// console.log('************* contact_custom_field: ', contact_custom_field)
|
||||||
|
|
||||||
// OLD
|
// OLD
|
||||||
// const msg = await wbot.sendMessage(`${contact.number}@c.us`, msgAction.msgBody);
|
// const msg = await wbot.sendMessage(`${contact.number}@c.us`, msgAction.msgBody);
|
||||||
|
@ -551,7 +553,7 @@ async function sendDelayedMessages(wbot: Session, ticket: Ticket, contact: Conta
|
||||||
// await new Promise(f => setTimeout(f, 1000));
|
// await new Promise(f => setTimeout(f, 1000));
|
||||||
|
|
||||||
// // NEW
|
// // NEW
|
||||||
await SendWhatsAppMessage({ body: msgAction.msgBody, ticket, number: `${contact.number}@c.us` })
|
await SendWhatsAppMessage({ body: msgAction.msgBody, ticket, number: `${contact.number}@c.us` })
|
||||||
|
|
||||||
|
|
||||||
await botSendMedia(ticket, contact, wbot, sourcePath, msgAction.actions[1])
|
await botSendMedia(ticket, contact, wbot, sourcePath, msgAction.actions[1])
|
||||||
|
@ -595,33 +597,39 @@ const sendDialogflowAwswer = async (
|
||||||
ticket: Ticket,
|
ticket: Ticket,
|
||||||
msg: any,
|
msg: any,
|
||||||
contact: Contact,
|
contact: Contact,
|
||||||
chat: Chat
|
chat: Chat,
|
||||||
|
startDialog: boolean = false
|
||||||
) => {
|
) => {
|
||||||
|
|
||||||
|
if (startDialog)
|
||||||
|
msg.body = 'menu'
|
||||||
|
|
||||||
|
console.log('uuuuuuuuuuuuuuuuuuuuuuuuuuu 04')
|
||||||
|
|
||||||
const session = await createDialogflowSessionWithModel(ticket.queue.dialogflow);
|
const session = await createDialogflowSessionWithModel(ticket.queue.dialogflow);
|
||||||
if (session === undefined) {
|
if (session === undefined) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Make disponible later from session out
|
// Make disponible later from session out
|
||||||
// wbot.sendPresenceAvailable();
|
// wbot.sendPresenceAvailable();
|
||||||
|
|
||||||
// console.log('typeof(msg.type): ', typeof (msg.type), ' | msg.type: ', msg.type)
|
|
||||||
|
|
||||||
|
|
||||||
// console.log('KKKKKKKKK msg: ', msg)
|
|
||||||
// console.log('KKKKKKKKK msg2: ', msg['body'])
|
|
||||||
|
|
||||||
|
console.log('uuuuuuuuuuuuuuuuuuuuuuuuuuu 4')
|
||||||
|
|
||||||
if (msg.type != 'chat') {
|
if (msg.type != 'chat') {
|
||||||
botSendMessage(ticket, contact, wbot, `Desculpe, nao compreendi!\nEnvie apenas texto quando estiver interagindo com o bot!\n _Digite *0* para voltar ao menu principal._`)
|
botSendMessage(ticket, contact, wbot, `Desculpe, nao compreendi!\nEnvie apenas texto quando estiver interagindo com o bot!\n _Digite *0* para voltar ao menu principal._`)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
|
console.log('uuuuuuuuuuuuuuuuuuuuuuuuuuu 5')
|
||||||
|
|
||||||
if (msg.type == 'chat' && String(msg.body).length > 120) {
|
if (msg.type == 'chat' && String(msg.body).length > 120) {
|
||||||
botSendMessage(ticket, contact, wbot, `Desculpe, nao compreendi!\nTexto acima de 120 caracteres!\n _Digite *0* para voltar ao menu principal._`)
|
botSendMessage(ticket, contact, wbot, `Desculpe, nao compreendi!\nTexto acima de 120 caracteres!\n _Digite *0* para voltar ao menu principal._`)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
|
console.log('uuuuuuuuuuuuuuuuuuuuuuuuuuu 6')
|
||||||
|
|
||||||
let dialogFlowReply = await queryDialogFlow(
|
let dialogFlowReply = await queryDialogFlow(
|
||||||
session,
|
session,
|
||||||
ticket.queue.dialogflow.projectName,
|
ticket.queue.dialogflow.projectName,
|
||||||
|
@ -668,15 +676,16 @@ const verifyQueue = async (
|
||||||
let choosenQueue = null
|
let choosenQueue = null
|
||||||
|
|
||||||
//Habilitar esse caso queira usar o bot
|
//Habilitar esse caso queira usar o bot
|
||||||
const botInfo = await BotIsOnQueue('botqueue')
|
let botInfo = await BotIsOnQueue('botqueue', contact.accept)
|
||||||
// const botInfo = { isOnQueue: false, botQueueId: 0, userIdBot: 0 }
|
// const botInfo = { isOnQueue: false, botQueueId: 0, userIdBot: 0 }
|
||||||
|
|
||||||
|
console.log('::::::::::::> contact.accept: ', contact.accept)
|
||||||
|
|
||||||
if (botInfo.isOnQueue) {
|
if (botInfo.isOnQueue) {
|
||||||
|
|
||||||
choosenQueue = await ShowQueueService(botInfo.botQueueId);
|
choosenQueue = await ShowQueueService(botInfo.botQueueId);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
else if (queues.length === 1) {
|
else if (queues.length === 1) {
|
||||||
selectedOption = 1;
|
selectedOption = 1;
|
||||||
choosenQueue = queues[+selectedOption - 1];
|
choosenQueue = queues[+selectedOption - 1];
|
||||||
|
@ -689,13 +698,40 @@ const verifyQueue = async (
|
||||||
selectedOption = selectedOption.replace(/[^1-9]/g, '')
|
selectedOption = selectedOption.replace(/[^1-9]/g, '')
|
||||||
///////////////////////////////////
|
///////////////////////////////////
|
||||||
|
|
||||||
choosenQueue = queues[+selectedOption - 1];
|
if (+selectedOption == 1 || +selectedOption == 2)
|
||||||
|
choosenQueue = queues[+selectedOption - 1];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
if (choosenQueue) {
|
if (choosenQueue) {
|
||||||
|
|
||||||
|
// console.log('---------------> choosendQueue: ', choosenQueue)
|
||||||
|
|
||||||
|
if (choosenQueue.name == 'sim') {
|
||||||
|
|
||||||
|
await contact.update({ accept: true });
|
||||||
|
|
||||||
|
botInfo = await BotIsOnQueue('botqueue')
|
||||||
|
|
||||||
|
choosenQueue = await ShowQueueService(botInfo.botQueueId);
|
||||||
|
|
||||||
|
}
|
||||||
|
else if (choosenQueue.name == 'nao') {
|
||||||
|
|
||||||
|
await SendWhatsAppMessage({ body: `\u200e${choosenQueue.greetingMessage}`, ticket });
|
||||||
|
|
||||||
|
await UpdateTicketService({
|
||||||
|
ticketData: { status: 'closed' },
|
||||||
|
ticketId: ticket.id
|
||||||
|
});
|
||||||
|
|
||||||
|
console.log('QUEUE NAO')
|
||||||
|
|
||||||
|
return
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
// Atualizando o status do ticket para mostrar notificação para o atendente da fila escolhida pelo usuário. De queueChoice para pending
|
// Atualizando o status do ticket para mostrar notificação para o atendente da fila escolhida pelo usuário. De queueChoice para pending
|
||||||
if (queues.length > 1 && !botInfo.isOnQueue) {
|
if (queues.length > 1 && !botInfo.isOnQueue) {
|
||||||
|
|
||||||
|
@ -715,21 +751,32 @@ const verifyQueue = async (
|
||||||
// O bot abre a mensagem na fila para atender o usuario
|
// O bot abre a mensagem na fila para atender o usuario
|
||||||
if (botInfo.isOnQueue) {
|
if (botInfo.isOnQueue) {
|
||||||
|
|
||||||
|
console.log('uuuuuuuuuuuuuuuuuuuuuuuuuuu 1')
|
||||||
|
|
||||||
await UpdateTicketService({
|
await UpdateTicketService({
|
||||||
ticketData: { status: 'open', userId: botInfo.userIdBot },
|
ticketData: { status: 'open', userId: botInfo.userIdBot },
|
||||||
ticketId: ticket.id
|
ticketId: ticket.id
|
||||||
});
|
});
|
||||||
|
|
||||||
|
console.log('uuuuuuuuuuuuuuuuuuuuuuuuuuu 2')
|
||||||
|
|
||||||
const _ticket = await ShowTicketService(ticket.id);
|
const _ticket = await ShowTicketService(ticket.id);
|
||||||
// const chat = await msg.getChat();
|
// const chat = await msg.getChat();
|
||||||
|
|
||||||
|
console.log('uuuuuuuuuuuuuuuuuuuuuuuuuuu 3')
|
||||||
|
|
||||||
const chat = wbot.chat
|
const chat = wbot.chat
|
||||||
await sendDialogflowAwswer(wbot, _ticket, msg, contact, chat);
|
await sendDialogflowAwswer(wbot, _ticket, msg, contact, chat, true);
|
||||||
|
|
||||||
|
console.log('uuuuuuuuuuuuuuuuuuuuuuuuuuu 03')
|
||||||
return
|
return
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
//
|
//
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
let body = ''
|
let body = ''
|
||||||
|
|
||||||
if (botOptions.length > 0) {
|
if (botOptions.length > 0) {
|
||||||
|
@ -744,13 +791,15 @@ const verifyQueue = async (
|
||||||
|
|
||||||
sendWhatsAppMessageSocket(ticket, body)
|
sendWhatsAppMessageSocket(ticket, body)
|
||||||
|
|
||||||
|
// console.log('uuuuuuuuuuuuuuuuuuuuuuuuuuu 3 body: ',body)
|
||||||
|
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
|
|
||||||
|
|
||||||
//test del transfere o atendimento se entrar na ura infinita
|
//test del transfere o atendimento se entrar na ura infinita
|
||||||
let ticket_message = await ShowTicketMessage(ticket.id, false);
|
let ticket_message = await ShowTicketMessage(ticket.id, false);
|
||||||
if (ticket_message.length > 10) {
|
if (ticket_message.length > 20) {
|
||||||
|
|
||||||
await UpdateTicketService({ ticketData: { status: 'pending', queueId: queues[0].id }, ticketId: ticket.id });
|
await UpdateTicketService({ ticketData: { status: 'pending', queueId: queues[0].id }, ticketId: ticket.id });
|
||||||
|
|
||||||
|
@ -760,7 +809,10 @@ const verifyQueue = async (
|
||||||
let options = "";
|
let options = "";
|
||||||
|
|
||||||
queues.forEach((queue, index) => {
|
queues.forEach((queue, index) => {
|
||||||
options += `*${index + 1}* - ${queue.name}\n`;
|
|
||||||
|
if (queue.name == 'sim' || queue.name == 'nao')
|
||||||
|
options += `*${index + 1}* - ${queue.name}\n`;
|
||||||
|
|
||||||
});
|
});
|
||||||
|
|
||||||
const body = `\u200e${greetingMessage}\n${options}`;
|
const body = `\u200e${greetingMessage}\n${options}`;
|
||||||
|
@ -773,7 +825,6 @@ const verifyQueue = async (
|
||||||
|
|
||||||
sendWhatsAppMessageSocket(ticket, body)
|
sendWhatsAppMessageSocket(ticket, body)
|
||||||
|
|
||||||
|
|
||||||
},
|
},
|
||||||
3000,
|
3000,
|
||||||
ticket.id
|
ticket.id
|
||||||
|
@ -790,7 +841,7 @@ const verifyQueue = async (
|
||||||
|
|
||||||
const transferTicket = async (queueIndex: number, wbot: Session, ticket: Ticket, contact: Contact) => {
|
const transferTicket = async (queueIndex: number, wbot: Session, ticket: Ticket, contact: Contact) => {
|
||||||
|
|
||||||
const botInfo = await BotIsOnQueue('botqueue')
|
const botInfo = await BotIsOnQueue('botqueue', contact.accept)
|
||||||
|
|
||||||
const queuesWhatsGreetingMessage = await queuesOutBot(wbot, botInfo.botQueueId)
|
const queuesWhatsGreetingMessage = await queuesOutBot(wbot, botInfo.botQueueId)
|
||||||
|
|
||||||
|
@ -975,6 +1026,24 @@ const handleMessage = async (
|
||||||
|
|
||||||
if (msg.fromMe) {
|
if (msg.fromMe) {
|
||||||
|
|
||||||
|
if (/\u200e/.test(msg.body[0])) {
|
||||||
|
|
||||||
|
// remove this in the future because impact have process impact
|
||||||
|
const queue = await Queue.findOne(
|
||||||
|
{
|
||||||
|
where: { name: 'nao' },
|
||||||
|
raw: true,
|
||||||
|
attributes: ['name', 'greetingMessage']
|
||||||
|
});
|
||||||
|
|
||||||
|
if (queue && queue.greetingMessage.trim() == msg.body.replace(/\u200e/, '').trim()) {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
console.log('PASSOU -------------')
|
||||||
|
|
||||||
// console.log('FROM ME: ', msg.fromMe, ' | /\u200e/.test(msg.body[0]: ', (/\u200e/.test(msg.body[0])))
|
// console.log('FROM ME: ', msg.fromMe, ' | /\u200e/.test(msg.body[0]: ', (/\u200e/.test(msg.body[0])))
|
||||||
|
|
||||||
// messages sent automatically by wbot have a special character in front of it
|
// messages sent automatically by wbot have a special character in front of it
|
||||||
|
@ -1043,8 +1112,19 @@ const handleMessage = async (
|
||||||
|
|
||||||
const contact = await verifyContact(msgContact);
|
const contact = await verifyContact(msgContact);
|
||||||
|
|
||||||
|
|
||||||
// console.log('----------> contact: ', JSON.parse(JSON.stringify(contact)))
|
// console.log('----------> contact: ', JSON.parse(JSON.stringify(contact)))
|
||||||
|
|
||||||
|
// let contactAux = JSON.parse(JSON.stringify(contact))
|
||||||
|
|
||||||
|
// console.log('contactAux.accept: ',contactAux.accept)
|
||||||
|
|
||||||
|
// if(contactAux && !contactAux.accept){
|
||||||
|
|
||||||
|
// return
|
||||||
|
|
||||||
|
// }
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
if (unreadMessages === 0 && whatsapp.farewellMessage && whatsapp.farewellMessage === msg.body) return;
|
if (unreadMessages === 0 && whatsapp.farewellMessage && whatsapp.farewellMessage === msg.body) return;
|
||||||
|
@ -1056,9 +1136,6 @@ const handleMessage = async (
|
||||||
// groupContact
|
// groupContact
|
||||||
);
|
);
|
||||||
|
|
||||||
console.log('okkkkkkkkkkkkkkkkkk 1')
|
|
||||||
|
|
||||||
|
|
||||||
//
|
//
|
||||||
// await updateTicketCacheByTicketId(ticket.id, {'contact.profilePicUrl': ticket.contact.profilePicUrl})
|
// await updateTicketCacheByTicketId(ticket.id, {'contact.profilePicUrl': ticket.contact.profilePicUrl})
|
||||||
|
|
||||||
|
@ -1075,8 +1152,6 @@ const handleMessage = async (
|
||||||
throw new AppError(error.message);
|
throw new AppError(error.message);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
//
|
//
|
||||||
|
|
||||||
|
@ -1089,10 +1164,6 @@ const handleMessage = async (
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
console.log('okkkkkkkkkkkkkkkkkk 2')
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
if (
|
if (
|
||||||
!ticket.queue &&
|
!ticket.queue &&
|
||||||
!chat.isGroup &&
|
!chat.isGroup &&
|
||||||
|
@ -1100,28 +1171,21 @@ const handleMessage = async (
|
||||||
!ticket.userId &&
|
!ticket.userId &&
|
||||||
whatsapp.queues.length >= 1
|
whatsapp.queues.length >= 1
|
||||||
) {
|
) {
|
||||||
|
|
||||||
await verifyQueue(wbot, msg, ticket, contact);
|
await verifyQueue(wbot, msg, ticket, contact);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
console.log('okkkkkkkkkkkkkkkkkk 3')
|
|
||||||
|
|
||||||
|
|
||||||
// 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
|
// 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
|
//Habilitar esse caso queira usar o bot
|
||||||
const botInfo = await BotIsOnQueue('botqueue')
|
const botInfo = await BotIsOnQueue('botqueue', contact.accept)
|
||||||
// const botInfo = { isOnQueue: false, botQueueId: 0, userIdBot: 0 }
|
// const botInfo = { isOnQueue: false, botQueueId: 0, userIdBot: 0 }
|
||||||
if (botInfo.isOnQueue && !msg.fromMe && ticket.userId == botInfo.userIdBot) {
|
if (botInfo.isOnQueue && !msg.fromMe && ticket.userId == botInfo.userIdBot) {
|
||||||
|
|
||||||
console.log('okkkkkkkkkkkkkkkkkk 4')
|
|
||||||
|
|
||||||
// TEST DEL
|
// TEST DEL
|
||||||
let test: any = await ShowTicketMessage(ticket.id, false, true, 5);
|
let test: any = await ShowTicketMessage(ticket.id, false, true, 5);
|
||||||
|
|
||||||
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') {
|
if (test && test.length > 0 && test[0].body.includes('Se deseja solicitar atendimento de urgência, digite *1*') && msg.body == '1') {
|
||||||
|
|
||||||
console.log('===================================> ENDPOINT REQUEST')
|
console.log('===================================> ENDPOINT REQUEST')
|
||||||
|
@ -1149,9 +1213,7 @@ const handleMessage = async (
|
||||||
|
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
//
|
//
|
||||||
|
|
||||||
console.log('okkkkkkkkkkkkkkkkkk 6')
|
|
||||||
|
|
||||||
await sendDialogflowAwswer(wbot, ticket, msg, contact, chat);
|
await sendDialogflowAwswer(wbot, ticket, msg, contact, chat);
|
||||||
|
|
||||||
|
@ -1166,7 +1228,7 @@ const handleMessage = async (
|
||||||
});
|
});
|
||||||
|
|
||||||
const _ticket = await ShowTicketService(ticket.id);
|
const _ticket = await ShowTicketService(ticket.id);
|
||||||
|
|
||||||
// const chat = await msg.getChat();
|
// const chat = await msg.getChat();
|
||||||
const chat = wbot.chat
|
const chat = wbot.chat
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue