Alteração no auto restore
							parent
							
								
									a2d30f329e
								
							
						
					
					
						commit
						7c7627873c
					
				|  | @ -16,6 +16,8 @@ const autoRestore = async (whatsappId: string | number, started_action_by: strin | |||
| 
 | ||||
|     const whatsapp = await ShowWhatsAppService(whatsappId); | ||||
|      | ||||
|     // console.log('>>>>>>>>>>> Whatsapp.id: ', whatsappId)
 | ||||
| 
 | ||||
|     restartWhatsSession(whatsapp, true) | ||||
| 
 | ||||
| 
 | ||||
|  |  | |||
|  | @ -2,6 +2,11 @@ | |||
| import os from 'os'; | ||||
| import dir from 'path'; | ||||
| import fs from 'fs'; | ||||
| import ShowWhatsAppService from '../services/WhatsappService/ShowWhatsAppService'; | ||||
| import { insertOrUpeateWhatsCache } from './WhatsCache'; | ||||
| import autoRestore from './AutoRestore'; | ||||
| import Whatsapp from '../models/Whatsapp'; | ||||
| import { getIO } from '../libs/socket'; | ||||
| 
 | ||||
| export const setRestoreControll = (obj: object) => { | ||||
| 
 | ||||
|  | @ -133,3 +138,27 @@ export const getRestoreControll = () => { | |||
|     return [] | ||||
| 
 | ||||
| } | ||||
| 
 | ||||
| 
 | ||||
| export const _restore = async (whatsapp: Whatsapp, msg_file_title: string) => { | ||||
| 
 | ||||
|     if (whatsapp.status != 'RESTORING') { | ||||
| 
 | ||||
|         console.log('THE WHATSAAP ID: ', whatsapp.id, ' WILL BE RESTORED SOON!') | ||||
| 
 | ||||
|         await whatsapp.update({ status: "RESTORING", }); | ||||
| 
 | ||||
|         const io = getIO(); | ||||
| 
 | ||||
|         io.emit("whatsappSession", { | ||||
|             action: "update", | ||||
|             session: whatsapp | ||||
|         }); | ||||
| 
 | ||||
|         await insertOrUpeateWhatsCache(`whatsapp:${whatsapp.id}`, { status: "RESTORING", }) | ||||
| 
 | ||||
|         setTimeout(async () => await autoRestore(whatsapp.id, msg_file_title), 95000); | ||||
| 
 | ||||
|     } | ||||
| 
 | ||||
| }  | ||||
|  | @ -23,6 +23,7 @@ import { restartWhatsSession } from "../../helpers/RestartWhatsSession"; | |||
| import { insertOrUpeateWhatsCache, searchWhatsappCache } from "../../helpers/WhatsCache"; | ||||
| import GetDefaultWhatsApp from "../../helpers/GetDefaultWhatsApp"; | ||||
| import autoRestore from "../../helpers/AutoRestore"; | ||||
| import { _restore } from "../../helpers/RestoreControll"; | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
|  | @ -54,11 +55,6 @@ const SendWhatsAppMessage = async ({ | |||
| 
 | ||||
|   let whatsapps: any | ||||
| 
 | ||||
|   //TEST DEL     
 | ||||
| 
 | ||||
|   // const defaultWhatsapp = await GetDefaultWhatsApp(); 
 | ||||
|   // console.log('DEFAULT WHATSAPP: ', JSON.parse(JSON.stringify(defaultWhatsapp)))
 | ||||
| 
 | ||||
|   let listWhatsapp = null | ||||
| 
 | ||||
|   listWhatsapp = await searchWhatsappCache(`${ticket.whatsappId}`, 'CONNECTED') | ||||
|  | @ -67,9 +63,6 @@ const SendWhatsAppMessage = async ({ | |||
|     listWhatsapp = await ListWhatsAppsNumber(ticket.whatsappId, 'CONNECTED') | ||||
|   } | ||||
| 
 | ||||
|   // console.log('---')
 | ||||
|   // console.log('listWhatsapp search:  ', listWhatsapp)
 | ||||
|   // console.log('---')
 | ||||
| 
 | ||||
|   if (listWhatsapp.length > 1) { | ||||
| 
 | ||||
|  | @ -104,64 +97,12 @@ const SendWhatsAppMessage = async ({ | |||
| 
 | ||||
|   } | ||||
| 
 | ||||
| 
 | ||||
|   //
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
|   // const listWhatsapp = await ListWhatsAppsNumber(ticket.whatsappId, 'CONNECTED')
 | ||||
| 
 | ||||
|   // if (listWhatsapp.length > 1) {
 | ||||
| 
 | ||||
|   //   const _whatsapp = listWhatsapp[Math.floor(Math.random() * listWhatsapp.length)];
 | ||||
| 
 | ||||
|   //   await ticket.update({ whatsappId: _whatsapp.id });
 | ||||
| 
 | ||||
|   // }
 | ||||
|   // else {
 | ||||
| 
 | ||||
|   //   whatsapps = await Whatsapp.findOne({
 | ||||
|   //     where: { id: ticket.whatsappId },
 | ||||
|   //     attributes: ['status']
 | ||||
|   //   })
 | ||||
| 
 | ||||
|   // } 
 | ||||
| 
 | ||||
| 
 | ||||
|   // console.log('1 --------> ticket.whatsappId: ', ticket.whatsappId)
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
|   // if (listWhatsapp.length == 0 || (whatsapps && whatsapps.status != 'CONNECTED')) {
 | ||||
| 
 | ||||
|   //   whatsapps = await wbotByUserQueue(ticket.userId)
 | ||||
| 
 | ||||
|   //   if (whatsapps.length > 0) {
 | ||||
| 
 | ||||
|   //     if (whatsapps.length > 1) {
 | ||||
| 
 | ||||
|   //       await ticket.update({ whatsappId: whatsapps[+WhatsIndex(whatsapps)].id });
 | ||||
| 
 | ||||
|   //     }
 | ||||
|   //     else {
 | ||||
| 
 | ||||
|   //       await ticket.update({ whatsappId: whatsapps[0].id });
 | ||||
| 
 | ||||
|   //     }
 | ||||
| 
 | ||||
|   //   }
 | ||||
| 
 | ||||
|   // }
 | ||||
| 
 | ||||
|   const wbot = await GetTicketWbot(ticket); | ||||
| 
 | ||||
|   console.log('2 --------> send from whatsapp ticket.whatsappId: ', ticket.whatsappId) | ||||
| 
 | ||||
| 
 | ||||
|   try { | ||||
|     console.time | ||||
| 
 | ||||
|     const sentMessage = await wbot.sendMessage(`${ticket.contact.number}@${ticket.isGroup ? "g" : "c"}.us`, body, { quotedMessageId: quotedMsgSerializedId, linkPreview: false }); | ||||
| 
 | ||||
|  | @ -176,21 +117,7 @@ const SendWhatsAppMessage = async ({ | |||
| 
 | ||||
|     const whatsapp = await ShowWhatsAppService(ticket.whatsappId);   | ||||
| 
 | ||||
|     if (whatsapp.status != 'RESTORING') { | ||||
| 
 | ||||
|       console.log('THE WHATSAAP ID: ', whatsapp.id, ' WILL BE RESTORED SOON!') | ||||
| 
 | ||||
|       await whatsapp.update({ | ||||
|         status: "RESTORING", | ||||
|       }); | ||||
| 
 | ||||
|       await insertOrUpeateWhatsCache(`whatsapp:${whatsapp.id}`, { | ||||
|         status: "RESTORING", | ||||
|       }) | ||||
| 
 | ||||
|       // setTimeout(() => restartWhatsSession(whatsapp, true), 90000);
 | ||||
|       setTimeout(async () => await autoRestore(whatsapp.id, 'auto_send_message'), 95000); | ||||
|     } | ||||
|     await _restore(whatsapp, 'auto_send_message')  | ||||
| 
 | ||||
|     const sentMessage = await sendMessageMultiSession(ticket, body, quotedMsgSerializedId) | ||||
| 
 | ||||
|  |  | |||
|  | @ -55,6 +55,8 @@ import { splitDateTime } from "../../helpers/SplitDateTime"; | |||
| 
 | ||||
| import { updateTicketCacheByTicketId } from '../../helpers/TicketCache' | ||||
| import { insertMessageContactCache, getLastId } from '../../helpers/LastMessageIdByContactCache' | ||||
| import autoRestore from "../../helpers/AutoRestore"; | ||||
| import { _restore } from "../../helpers/RestoreControll"; | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
|  | @ -371,7 +373,7 @@ const botSendMessage = (ticket: Ticket, contact: Contact, wbot: Session, msg: st | |||
| 
 | ||||
| const _clear_lst = () => { | ||||
| 
 | ||||
|   if (lst.length <= 200 ) return  | ||||
|   if (lst.length <= 200) return | ||||
| 
 | ||||
|   const chunk: any = Math.floor((lst.length / 2)) | ||||
| 
 | ||||
|  | @ -843,6 +845,8 @@ const handleMessage = async ( | |||
|     Sentry.captureException(err); | ||||
|     logger.error(`Error handling whatsapp message: Err: ${err}`); | ||||
| 
 | ||||
|     const whatsapp = await ShowWhatsAppService(wbot.id!); | ||||
| 
 | ||||
|     //Solução para contornar erro de sessão
 | ||||
|     if ((`${err}`).includes("Evaluation failed: r")) { | ||||
| 
 | ||||
|  | @ -851,8 +855,6 @@ const handleMessage = async ( | |||
|       let log = new Date(new Date() + 'UTC'); | ||||
|       const dateToday = splitDateTime(new Date(format(new Date(), 'yyyy-MM-dd HH:mm:ss', { locale: ptBR }))) | ||||
| 
 | ||||
|       const whatsapp = await ShowWhatsAppService(wbot.id!); | ||||
| 
 | ||||
|       if (whatsapp.status == 'CONNECTED') { | ||||
| 
 | ||||
|         let timestamp = Math.floor(Date.now() / 1000) | ||||
|  | @ -864,6 +866,11 @@ const handleMessage = async ( | |||
|       } | ||||
| 
 | ||||
|     } | ||||
|     else if (`${err}`.includes('[object Object]')) { | ||||
| 
 | ||||
|       await _restore(whatsapp, 'auto_object_error')  | ||||
| 
 | ||||
|     } | ||||
| 
 | ||||
|   } | ||||
| }; | ||||
|  |  | |||
|  | @ -27,6 +27,7 @@ import { | |||
| 	SignalCellular4Bar, | ||||
| 	CropFree, | ||||
| 	DeleteOutline, | ||||
| 	// Restore
 | ||||
| } from "@material-ui/icons"; | ||||
| 
 | ||||
| import MainContainer from "../../components/MainContainer"; | ||||
|  | @ -326,6 +327,15 @@ const Connections = () => { | |||
| 						<SignalCellularConnectedNoInternet2Bar color="secondary" /> | ||||
| 					</CustomToolTip> | ||||
| 				)} | ||||
| 
 | ||||
| 				{/* {whatsApp.status === "RESTORING" && ( | ||||
| 					<CustomToolTip | ||||
| 						title={i18n.t("connections.toolTips.disconnected.title")} | ||||
| 						content={i18n.t("connections.toolTips.disconnected.content")} | ||||
| 					> | ||||
| 						<Restore color="secondary" /> | ||||
| 					</CustomToolTip> | ||||
| 				)} */} | ||||
| 			</div> | ||||
| 		); | ||||
| 	}; | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue