oex2003/evolution-api
0
1import { configService, S3 } from '@config/env.config';2 3const getTypeMessage = (msg: any) => {4 let mediaId: string;5 6 if (configService.get<S3>('S3').ENABLE) mediaId = msg.message?.mediaUrl;7 else mediaId = msg.key?.id;8 9 const types = {10 conversation: msg?.message?.conversation,11 extendedTextMessage: msg?.message?.extendedTextMessage?.text,12 contactMessage: msg?.message?.contactMessage?.displayName,13 locationMessage: msg?.message?.locationMessage?.degreesLatitude.toString(),14 viewOnceMessageV2:15 msg?.message?.viewOnceMessageV2?.message?.imageMessage?.url ||16 msg?.message?.viewOnceMessageV2?.message?.videoMessage?.url ||17 msg?.message?.viewOnceMessageV2?.message?.audioMessage?.url,18 listResponseMessage: msg?.message?.listResponseMessage?.title || msg?.listResponseMessage?.title,19 responseRowId: msg?.message?.listResponseMessage?.singleSelectReply?.selectedRowId,20 templateButtonReplyMessage:21 msg?.message?.templateButtonReplyMessage?.selectedId || msg?.message?.buttonsResponseMessage?.selectedButtonId,22 // Medias23 audioMessage: msg?.message?.speechToText24 ? msg?.message?.speechToText25 : msg?.message?.audioMessage26 ? `audioMessage|${mediaId}`27 : undefined,28 imageMessage: msg?.message?.imageMessage29 ? `imageMessage|${mediaId}${msg?.message?.imageMessage?.caption ? `|${msg?.message?.imageMessage?.caption}` : ''}`30 : undefined,31 videoMessage: msg?.message?.videoMessage32 ? `videoMessage|${mediaId}${msg?.message?.videoMessage?.caption ? `|${msg?.message?.videoMessage?.caption}` : ''}`33 : undefined,34 documentMessage: msg?.message?.documentMessage35 ? `documentMessage|${mediaId}${36 msg?.message?.documentMessage?.caption ? `|${msg?.message?.documentMessage?.caption}` : ''37 }`38 : undefined,39 documentWithCaptionMessage: msg?.message?.documentWithCaptionMessage?.message?.documentMessage40 ? `documentWithCaptionMessage|${mediaId}${41 msg?.message?.documentWithCaptionMessage?.message?.documentMessage?.caption42 ? `|${msg?.message?.documentWithCaptionMessage?.message?.documentMessage?.caption}`43 : ''44 }`45 : undefined,46 externalAdReplyBody: msg?.contextInfo?.externalAdReply?.body47 ? `externalAdReplyBody|${msg.contextInfo.externalAdReply.body}`48 : undefined,49 };50 51 const messageType = Object.keys(types).find((key) => types[key] !== undefined) || 'unknown';52 53 return { ...types, messageType };54};55 56const getMessageContent = (types: any) => {57 const typeKey = Object.keys(types).find((key) => key !== 'externalAdReplyBody' && types[key] !== undefined);58 59 let result = typeKey ? types[typeKey] : undefined;60 61 if (types.externalAdReplyBody) {62 result = result ? `${result}\n${types.externalAdReplyBody}` : types.externalAdReplyBody;63 }64 65 return result;66};67 68export const getConversationMessage = (msg: any) => {69 const types = getTypeMessage(msg);70 71 const messageContent = getMessageContent(types);72 73 return messageContent;74};75 