git commit -m "fix: Correct marking of bot messages from Omnihit application to be ignored upon return. Updated the frontend to chaining the notify data "
parent
52e63706c1
commit
84896ec09c
|
@ -80,7 +80,7 @@ const UpdateTicketService = async ({
|
||||||
|
|
||||||
if (msg?.trim().length > 0) {
|
if (msg?.trim().length > 0) {
|
||||||
setTimeout(async () => {
|
setTimeout(async () => {
|
||||||
sendWhatsAppMessageSocket(ticket, msg);
|
sendWhatsAppMessageSocket(ticket, `\u200e${msg}`);
|
||||||
}, 2000);
|
}, 2000);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -392,7 +392,7 @@ const verifyQueue = async (
|
||||||
if (outService.length > 0) {
|
if (outService.length > 0) {
|
||||||
const { type, msg: msgOutService } = outService[0];
|
const { type, msg: msgOutService } = outService[0];
|
||||||
console.log(`${type} message ignored on queue`);
|
console.log(`${type} message ignored on queue`);
|
||||||
botSendMessage(ticket, msgOutService);
|
botSendMessage(ticket, `\u200e${msgOutService}`);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -583,7 +583,7 @@ const botTransferTicketToUser = async (
|
||||||
};
|
};
|
||||||
|
|
||||||
const botSendMessage = (ticket: Ticket, msg: string) => {
|
const botSendMessage = (ticket: Ticket, msg: string) => {
|
||||||
const { phoneNumberId } = ticket;
|
const { phoneNumberId } = ticket;
|
||||||
|
|
||||||
const debouncedSentMessage = debounce(
|
const debouncedSentMessage = debounce(
|
||||||
async () => {
|
async () => {
|
||||||
|
@ -641,27 +641,10 @@ const handleMessage = async (
|
||||||
let msgContact: any = wbot.msgContact;
|
let msgContact: any = wbot.msgContact;
|
||||||
// let groupContact: Contact | undefined;
|
// let groupContact: Contact | undefined;
|
||||||
|
|
||||||
if (msg.fromMe) {
|
if (msg.fromMe) {
|
||||||
const whatsapp = await whatsappInfo(wbot.id);
|
|
||||||
|
|
||||||
if (whatsapp?.number) {
|
|
||||||
const ticketExpiration = await SettingTicket.findOne({
|
|
||||||
where: { key: "ticketExpiration", number: whatsapp.number }
|
|
||||||
});
|
|
||||||
|
|
||||||
if (
|
|
||||||
ticketExpiration &&
|
|
||||||
ticketExpiration.value == "enabled" &&
|
|
||||||
ticketExpiration?.message.trim() == msg.body.trim()
|
|
||||||
) {
|
|
||||||
console.log("*********** TICKET EXPIRATION");
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// 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
|
||||||
// if so, this message was already been stored in database;
|
// if so, this message was already been stored in database;
|
||||||
// if (/\u200e/.test(msg.body[0])) return;
|
if (/\u200e/.test(msg.body[0])) return;
|
||||||
|
|
||||||
// media messages sent from me from cell phone, first comes with "hasMedia = false" and type = "image/ptt/etc"
|
// media messages sent from me from cell phone, first comes with "hasMedia = false" and type = "image/ptt/etc"
|
||||||
// in this case, return and let this message be handled by "media_uploaded" event, when it will have "hasMedia = true"
|
// in this case, return and let this message be handled by "media_uploaded" event, when it will have "hasMedia = true"
|
||||||
|
@ -933,25 +916,28 @@ const handleMessage = async (
|
||||||
ticket.status == "pending" &&
|
ticket.status == "pending" &&
|
||||||
ticket.queueId
|
ticket.queueId
|
||||||
) {
|
) {
|
||||||
let choosenQueue = await ShowQueueService(botInfo.botQueueId);
|
if (botInfo.isOnQueue) {
|
||||||
|
let choosenQueue = await ShowQueueService(botInfo.botQueueId);
|
||||||
|
|
||||||
await UpdateTicketService({
|
await UpdateTicketService({
|
||||||
ticketData: {
|
ticketData: {
|
||||||
status: "open",
|
status: "open",
|
||||||
userId: botInfo.userIdBot,
|
userId: botInfo.userIdBot,
|
||||||
queueId: choosenQueue.id
|
queueId: choosenQueue.id
|
||||||
},
|
},
|
||||||
ticketId: ticket.id
|
ticketId: ticket.id
|
||||||
});
|
});
|
||||||
const menuMsg: any = await menu(msg.body, wbot.id, contact.id);
|
const menuMsg: any = await menu(msg.body, wbot.id, contact.id);
|
||||||
await botSendMessage(ticket, menuMsg.value);
|
await botSendMessage(ticket, menuMsg.value);
|
||||||
|
}
|
||||||
|
|
||||||
return;
|
return;
|
||||||
} else if (
|
} else if (
|
||||||
!msg.fromMe &&
|
!msg.fromMe &&
|
||||||
msg.body == "#" &&
|
msg.body == "#" &&
|
||||||
ticket.status == "pending" &&
|
ticket.status == "pending" &&
|
||||||
ticket.queueId
|
ticket.queueId &&
|
||||||
|
botInfo.isOnQueue
|
||||||
) {
|
) {
|
||||||
let choosenQueue = await ShowQueueService(botInfo.botQueueId);
|
let choosenQueue = await ShowQueueService(botInfo.botQueueId);
|
||||||
|
|
||||||
|
@ -988,7 +974,7 @@ const handleMessage = async (
|
||||||
if (ticket?.queueId) {
|
if (ticket?.queueId) {
|
||||||
ticketHasQueue = true;
|
ticketHasQueue = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (ticketHasQueue && ticket.status != "open") {
|
if (ticketHasQueue && ticket.status != "open") {
|
||||||
let whatsapp: any = await whatsappInfo(ticket?.whatsappId);
|
let whatsapp: any = await whatsappInfo(ticket?.whatsappId);
|
||||||
|
|
||||||
|
@ -1002,7 +988,7 @@ const handleMessage = async (
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
botSendMessage(ticket, msgOutService);
|
botSendMessage(ticket, `\u200e${msgOutService}`);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -9,12 +9,12 @@ const ListWhatsAppsNumber = async (
|
||||||
let whatsapps: any = [];
|
let whatsapps: any = [];
|
||||||
|
|
||||||
if (whatsapp) {
|
if (whatsapp) {
|
||||||
if (status) {
|
if (status) {
|
||||||
whatsapps = await Whatsapp.findAll({
|
whatsapps = await Whatsapp.findAll({
|
||||||
raw: true,
|
raw: true,
|
||||||
where: { number: whatsapp.number, status: status, },
|
where: { number: whatsapp.number, status: status, },
|
||||||
attributes: ["id", "number", "status", "isDefault", "url", 'isOfficial']
|
attributes: ["id", "number", "status", "isDefault", "url", 'isOfficial']
|
||||||
});
|
});
|
||||||
} else {
|
} else {
|
||||||
whatsapps = await Whatsapp.findAll({
|
whatsapps = await Whatsapp.findAll({
|
||||||
raw: true,
|
raw: true,
|
||||||
|
|
|
@ -269,7 +269,7 @@ const NotificationsPopOver = () => {
|
||||||
if(!isQueue && notify){
|
if(!isQueue && notify){
|
||||||
return;
|
return;
|
||||||
}else{
|
}else{
|
||||||
const notification = new Notification(`${i18n.t("tickets.notification.messagePeding")} ${notify.data.queue?.name}`);
|
const notification = new Notification(`${i18n.t("tickets.notification.messagePeding")} ${notify?.data?.queue?.name}`);
|
||||||
notification.onclick = e => {
|
notification.onclick = e => {
|
||||||
e.preventDefault()
|
e.preventDefault()
|
||||||
window.focus()
|
window.focus()
|
||||||
|
|
Loading…
Reference in New Issue