Correção para exibir mensagens de configuração de ticket apos transferir o atendimento para fila

pull/20/head
adriano 2023-08-09 18:03:38 -03:00
parent d670d879e5
commit cf67523bab
2 changed files with 56 additions and 45 deletions

View File

@ -7,16 +7,16 @@ import ListUsersService from "../services/UserServices/ListUsersService";
import { isHoliday, isOutBusinessTime, isWeekend } from "./TicketConfig"; import { isHoliday, isOutBusinessTime, isWeekend } from "./TicketConfig";
const _botIsOnQueue = async (botName: string) => { const _botIsOnQueue = async (botName: string) => {
// MESSAGE TO HOLIDAY // // MESSAGE TO HOLIDAY
const holiday: any = await isHoliday(); // const holiday: any = await isHoliday();
// MESSAGES TO SATURDAY OR SUNDAY // // MESSAGES TO SATURDAY OR SUNDAY
const weekend: any = await isWeekend(); // const weekend: any = await isWeekend();
// MESSAGE TO BUSINESS TIME // // MESSAGE TO BUSINESS TIME
const businessTime: any = await isOutBusinessTime(); // const businessTime: any = await isOutBusinessTime();
if (holiday?.set || weekend?.set || businessTime?.set) { // if (holiday?.set || weekend?.set || businessTime?.set) {
return { isOnQueue: false }; // return { isOnQueue: false };
} // }
const botInfoFile = dir.join(os.tmpdir(), `botInfo.json`); const botInfoFile = dir.join(os.tmpdir(), `botInfo.json`);

View File

@ -99,8 +99,6 @@ import ShowQueryItemService from "../SLM/ShowQueryItemService";
import QueryItem from "../../models/QueryItem"; import QueryItem from "../../models/QueryItem";
import SettingTicket from "../../models/SettingTicket"; import SettingTicket from "../../models/SettingTicket";
var lst: any[] = getWhatsappIds(); var lst: any[] = getWhatsappIds();
interface Session extends Client { interface Session extends Client {
@ -435,7 +433,7 @@ async function sendDelayedMessages(
} else { } else {
botSendMessage( botSendMessage(
ticket, ticket,
`Ops! Não foi possível validar seu protocolo devido a um erro na comunicação com o servidor.Tente novamente mais tarde.\n_Digite *0* para falar com a HIT._` `Ops! Não foi possível validar seu protocolo devido a um erro na comunicação com o servidor.Tente novamente mais tarde.\n_Digite *0* para voltar ao menu anterior._`
); );
} }
} }
@ -476,7 +474,7 @@ async function sendDelayedMessages(
if (response.trim().length == 0) { if (response.trim().length == 0) {
botSendMessage( botSendMessage(
ticket, ticket,
`Não existe nenhum chamado para essa operação!\n _Digite *0* para falar com a HIT._` `Não existe nenhum chamado para essa operação!\n _Digite *0* para voltar ao menu anterior._`
); );
} else if (response.trim().length > 0) { } else if (response.trim().length > 0) {
let valid = await chamadoStatus(params[1]); let valid = await chamadoStatus(params[1]);
@ -508,7 +506,7 @@ async function sendDelayedMessages(
} catch (error) { } catch (error) {
botSendMessage( botSendMessage(
ticket, ticket,
`Houve um erro ao realizar a consulta!\n _Digite *0* para falar com a HIT._` `Houve um erro ao realizar a consulta!\n _Digite *0* para voltar ao menu anterior._`
); );
} }
} else if (msgAction.actions[0] == "queue_transfer") { } else if (msgAction.actions[0] == "queue_transfer") {
@ -609,7 +607,7 @@ const sendDialogflowAwswer = async (
if (msg.type != "chat") { if (msg.type != "chat") {
botSendMessage( botSendMessage(
ticket, ticket,
`Desculpe, nao compreendi!\nEnvie apenas texto quando estiver interagindo com o bot!\n _Digite *0* para falar com a HIT._` `Desculpe, nao compreendi!\nEnvie apenas texto quando estiver interagindo com o bot!\n _Digite *0* para voltar ao menu anterior._`
); );
return; return;
} }
@ -617,7 +615,7 @@ const sendDialogflowAwswer = async (
if (msg.type == "chat" && String(msg.body).length > 120) { if (msg.type == "chat" && String(msg.body).length > 120) {
botSendMessage( botSendMessage(
ticket, ticket,
`Desculpe, nao compreendi!\nTexto acima de 120 caracteres!\n _Digite *0* para falar com a HIT._` `Desculpe, nao compreendi!\nTexto acima de 120 caracteres!\n _Digite *0* para voltar ao menu anterior._`
); );
return; return;
} }
@ -1239,52 +1237,65 @@ const handleMessage = async (msg: any, wbot: any): Promise<void> => {
await setMessageAsRead(ticket); await setMessageAsRead(ticket);
} }
// MESSAGE TO HOLIDAY let ticketHasQueue = false;
const holiday: any = await isHoliday();
if (holiday.set) { if (
if (msg.fromMe && holiday.msg == msg.body) { botInfo.isOnQueue &&
console.log("HOLIDAY MESSAGE IGNORED"); ticket?.queueId &&
botInfo.botQueueId != ticket?.queueId
) {
console.log("BOT SECTION");
ticketHasQueue = true;
} else if (!botInfo.isOnQueue && ticket?.queueId) {
console.log("NO BOT SECTION");
ticketHasQueue = true;
}
if (ticketHasQueue) {
// MESSAGE TO HOLIDAY
const holiday: any = await isHoliday();
if (holiday.set) {
if (msg.fromMe && holiday.msg == msg.body) {
console.log("HOLIDAY MESSAGE IGNORED");
return;
}
botSendMessage(ticket, holiday.msg);
return; return;
} }
botSendMessage(ticket, holiday.msg); // MESSAGES TO SATURDAY OR SUNDAY
return; const weekend: any = await isWeekend();
}
// MESSAGES TO SATURDAY OR SUNDAY if (weekend.set) {
const weekend: any = await isWeekend(); if (msg.fromMe && weekend.msg == msg.body) {
console.log("WEEKEND MESSAGE IGNORED");
return;
}
if (weekend.set) { botSendMessage(ticket, weekend.msg);
if (msg.fromMe && weekend.msg == msg.body) {
console.log("WEEKEND MESSAGE IGNORED");
return; return;
} }
botSendMessage(ticket, weekend.msg); // MESSAGE TO BUSINESS TIME
return; const businessTime = await isOutBusinessTime();
}
// MESSAGE TO BUSINESS TIME if (businessTime.set) {
const businessTime = await isOutBusinessTime(); if (msg.fromMe && businessTime.msg == msg.body) {
console.log("BUSINESS TIME MESSAGE IGNORED");
return;
}
if (businessTime.set) { botSendMessage(ticket, businessTime.msg);
if (msg.fromMe && businessTime.msg == msg.body) {
console.log("BUSINESS TIME MESSAGE IGNORED");
return; return;
} }
botSendMessage(ticket, businessTime.msg);
return;
} }
} catch (err) { } catch (err) {
Sentry.captureException(err); Sentry.captureException(err);
console.log("xxxxxxxxxxxxx err: ", err); console.log("xxxxxxxxxxxxx err: ", err);
logger.error(`Error handling whatsapp message: Err: ${err}`); logger.error(`Error handling whatsapp message: Err: ${err}`);
} }
}; };
const handleMsgAck = async (msg_id: any, ack: any) => { const handleMsgAck = async (msg_id: any, ack: any) => {