import fs from "fs"; import { MessageMedia, Message as WbotMessage } from "whatsapp-web.js"; import AppError from "../../errors/AppError"; import GetTicketWbot from "../../helpers/GetTicketWbot"; import Ticket from "../../models/Ticket"; import { updateTicketCacheByTicketId } from '../../helpers/TicketCache' import { date } from "faker"; interface Request { media: Express.Multer.File; ticket: Ticket; } const SendWhatsAppMedia = async ({ media, ticket }: Request): Promise => { try { const wbot = await GetTicketWbot(ticket); const newMedia = MessageMedia.fromFilePath(media.path); const sentMessage = await wbot.sendMessage(`${ticket.contact.number}@${ticket.isGroup ? "g" : "c"}.us`, newMedia, { sendAudioAsVoice: true }); await ticket.update({ lastMessage: media.filename }); // TEST DEL await updateTicketCacheByTicketId(ticket.id, { lastMessage: media.filename, updatedAt: new Date(ticket.updatedAt).toISOString() }) // fs.unlinkSync(media.path); return sentMessage; } catch (err) { throw new AppError("ERR_SENDING_WAPP_MSG"); } }; export default SendWhatsAppMedia;