Team Ai
Apppublic

oex2003/evolution-api

sourceHugging Faceupdated 1y agoView on Hugging Face
0likes
getConversationMessage.ts75 linesDownload Raw Back to utils
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