Update typebot.service.ts

This commit is contained in:
Luis-Fernando 2024-03-28 14:32:14 -03:00 committed by GitHub
parent 6798bd861e
commit 0b4ecc12e4
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -171,6 +171,7 @@ export class TypebotService {
const prefilledVariables = {
remoteJid: remoteJid,
instanceName: instance.instanceName,
messageType: messageType,
};
if (variables?.length) {
@ -280,16 +281,48 @@ export class TypebotService {
documentMessage: msg.documentMessage?.fileName,
contactMessage: msg.contactMessage?.displayName,
locationMessage: msg.locationMessage?.degreesLatitude,
viewOnceMessageV2: msg.viewOnceMessageV2?.message?.imageMessage?.url,
viewOnceMessageV2: msg.viewOnceMessageV2?.message?.videoMessage?.url,
listResponseMessage: msg.listResponseMessage?.singleSelectReply?.selectedRowId,
responseRowId: msg.listResponseMessage?.singleSelectReply?.selectedRowId,
// Adiciona uma nova propriedade messageType para identificar o tipo da mensagem
messageType: Object.keys(types).find(key => types[key] !== undefined) || 'unknown'
};
this.logger.verbose('type message: ' + JSON.stringify(types));
return types;
}
// Obtém os tipos de mensagem e o tipo identificado
const messageType = this.getTypeMessage(msg.message);
// Condiciona a lógica com switch-case
switch (messageType) {
case 'audioMessage':
return 'audio';
case 'imageMessage':
return 'image';
case 'videoMessage':
return 'video';
case 'documentMessage':
return 'document';
case 'contactMessage':
return 'contact';
case 'locationMessage':
return 'location';
case 'viewOnceMessageV2':
return 'oneView';
case 'listResponseMessage':
case 'responseRowId':
return 'option';
case 'conversation':
return 'text';
case 'extendedTextMessage':
return 'textWeb';
default:
return 'unknown';
}
private getMessageContent(types: any) {
this.logger.verbose('get message content');
const typeKey = Object.keys(types).find((key) => types[key] !== undefined);