ATENÇÃO! Essa alteração é uma adaptação para que possa ser enviado a ura padrão sem a alternativa do usuário escolher opções. Ex 1-.. 2-.. etc. Caso queira voltar para o comportamento padrão que é utilizar as opções definidas nas filas para que o usuário possa escolher, você precisa alterar o arquivo wbotMessageListener.ts e habilitar o seguintes trechos de código: const selectedOption = msg.body; const choosenQueue = queues[+selectedOption - 1];
							parent
							
								
									9e02795e0f
								
							
						
					
					
						commit
						1d75ec1514
					
				|  | @ -1,9 +1,11 @@ | |||
| import { subHours } from "date-fns"; | ||||
| import { subHours, subMinutes } from "date-fns"; | ||||
| import { Op } from "sequelize"; | ||||
| import Contact from "../../models/Contact"; | ||||
| import Ticket from "../../models/Ticket"; | ||||
| import ShowTicketService from "./ShowTicketService"; | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| const FindOrCreateTicketService = async ( | ||||
|   contact: Contact, | ||||
|   whatsappId: number, | ||||
|  | @ -40,11 +42,15 @@ const FindOrCreateTicketService = async ( | |||
|     } | ||||
|   } | ||||
| 
 | ||||
|   if (!ticket && !groupContact) { | ||||
|   if (!ticket && !groupContact) {  | ||||
|      | ||||
|     ticket = await Ticket.findOne({ | ||||
|       where: { | ||||
|         updatedAt: { | ||||
|           [Op.between]: [+subHours(new Date(), 2), +new Date()] | ||||
|           //[Op.between]: [+subHours(new Date(), 2), +new Date()]
 | ||||
| 
 | ||||
|           // Tempo osioso para a ura responder  thuanny
 | ||||
|           [Op.between]: [+subMinutes(new Date(), 4), +new Date()] | ||||
|         }, | ||||
|         contactId: contact.id | ||||
|       }, | ||||
|  | @ -61,6 +67,7 @@ const FindOrCreateTicketService = async ( | |||
|   } | ||||
| 
 | ||||
|   if (!ticket) { | ||||
|      | ||||
|     ticket = await Ticket.create({ | ||||
|       contactId: groupContact ? groupContact.id : contact.id, | ||||
|       status: "pending", | ||||
|  |  | |||
|  | @ -22,6 +22,8 @@ import FindOrCreateTicketService from "../TicketServices/FindOrCreateTicketServi | |||
| import ShowWhatsAppService from "../WhatsappService/ShowWhatsAppService"; | ||||
| import { debounce } from "../../helpers/Debounce"; | ||||
| import UpdateTicketService from "../TicketServices/UpdateTicketService"; | ||||
| import { date } from "faker"; | ||||
|   | ||||
| 
 | ||||
| interface Session extends Client { | ||||
|   id?: number; | ||||
|  | @ -99,7 +101,7 @@ const verifyMediaMessage = async ( | |||
|     mediaUrl: media.filename, | ||||
|     mediaType: media.mimetype.split("/")[0], | ||||
|     quotedMsgId: quotedMsg?.id | ||||
|   }; | ||||
|   };  | ||||
| 
 | ||||
|   await ticket.update({ lastMessage: msg.body || media.filename }); | ||||
|   const newMessage = await CreateMessageService({ messageData }); | ||||
|  | @ -112,6 +114,8 @@ const verifyMessage = async ( | |||
|   ticket: Ticket, | ||||
|   contact: Contact | ||||
| ) => { | ||||
| 
 | ||||
|    | ||||
|   const quotedMsg = await verifyQuotedMessage(msg); | ||||
|   const messageData = { | ||||
|     id: msg.id.id, | ||||
|  | @ -123,6 +127,7 @@ const verifyMessage = async ( | |||
|     read: msg.fromMe, | ||||
|     quotedMsgId: quotedMsg?.id | ||||
|   }; | ||||
|   | ||||
| 
 | ||||
|   await ticket.update({ lastMessage: msg.body }); | ||||
| 
 | ||||
|  | @ -136,22 +141,23 @@ const verifyQueue = async ( | |||
|   contact: Contact | ||||
| ) => { | ||||
| 
 | ||||
|   const { queues, greetingMessage } = await ShowWhatsAppService(wbot.id!); | ||||
| 
 | ||||
|   console.log('---greetingMessage: ',greetingMessage) | ||||
| 
 | ||||
|   const { queues, greetingMessage } = await ShowWhatsAppService(wbot.id!);   | ||||
|    | ||||
|   if (queues.length === 1) { | ||||
|     await UpdateTicketService({ | ||||
|       ticketData: { queueId: queues[0].id }, | ||||
|       ticketId: ticket.id | ||||
|     }); | ||||
| 
 | ||||
|     });   | ||||
|     return; | ||||
|   } | ||||
|   | ||||
|   //const selectedOption = msg.body; 
 | ||||
|   //const choosenQueue =  queues[+selectedOption - 1];   
 | ||||
| 
 | ||||
|   const selectedOption = msg.body; | ||||
|    //apagar essa gambiarra e ativar as 2 linhas acima 
 | ||||
|   const selectedOption = 1;  | ||||
|   const choosenQueue =  queues[+selectedOption - 1];    | ||||
| 
 | ||||
|   const choosenQueue = queues[+selectedOption - 1];   | ||||
| 
 | ||||
|   if (choosenQueue) { | ||||
|     await UpdateTicketService({ | ||||
|  | @ -173,8 +179,6 @@ const verifyQueue = async ( | |||
| 
 | ||||
|     const body = `\u200e${greetingMessage}\n${options}`; | ||||
| 
 | ||||
|     console.log('BACKEND BODY TEST: ', body) | ||||
| 
 | ||||
|     const debouncedSentMessage = debounce( | ||||
|       async () => { | ||||
|         const sentMessage = await wbot.sendMessage( | ||||
|  | @ -211,7 +215,7 @@ const handleMessage = async ( | |||
|   msg: WbotMessage, | ||||
|   wbot: Session | ||||
| ): Promise<void> => { | ||||
|   if (!isValidMsg(msg)) { | ||||
|   if (!isValidMsg(msg)) {  | ||||
|     return; | ||||
|   } | ||||
| 
 | ||||
|  | @ -228,14 +232,13 @@ const handleMessage = async ( | |||
|       // in this case, return and let this message be handled by "media_uploaded" event, when it will have "hasMedia = true"
 | ||||
| 
 | ||||
|       if (!msg.hasMedia && msg.type !== "chat" && msg.type !== "vcard") return; | ||||
| 
 | ||||
|       msgContact = await wbot.getContactById(msg.to); | ||||
|         msgContact = await wbot.getContactById(msg.to); | ||||
|     } else { | ||||
| 
 | ||||
|       msgContact = await msg.getContact(); | ||||
|   | ||||
|       console.log('---msgContact: ', msgContact, '  |  msg.body: ', msg.body)    | ||||
|   | ||||
|       console.log('-----msgContact TESTE MSG: ', msgContact, '  |  msg.body: ', msg.body) | ||||
|    | ||||
|     } | ||||
| 
 | ||||
|     const chat = await msg.getChat(); | ||||
|  | @ -268,31 +271,24 @@ const handleMessage = async ( | |||
|         groupContact | ||||
|       ); | ||||
| 
 | ||||
|       console.log('---passou 1') | ||||
|        | ||||
| 
 | ||||
|       if (msg.hasMedia) { | ||||
|         await verifyMediaMessage(msg, ticket, contact); | ||||
|       } else { | ||||
|         await verifyMessage(msg, ticket, contact); | ||||
|       } | ||||
| 
 | ||||
|       console.log('---passou 2 ')  | ||||
|       //await verifyQueue(wbot, msg, ticket, contact);
 | ||||
|        | ||||
| 
 | ||||
|      //setTimeout(()=>verifyQueue(wbot, msg, ticket, contact), 3000);   
 | ||||
|         | ||||
|       if ( | ||||
|         !ticket.queue && | ||||
|         !chat.isGroup && | ||||
|         !msg.fromMe && | ||||
|         !ticket.userId && | ||||
|         whatsapp.queues.length >= 1 | ||||
|       ) {  | ||||
|       ) {   | ||||
|         await verifyQueue(wbot, msg, ticket, contact); | ||||
|       } | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
|       }  | ||||
| 
 | ||||
| 
 | ||||
|   } catch (err) { | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue