Refactor message formatting in ChatwootService (Bold, italic, etc)

This commit is contained in:
Gabriel Pastori 2023-12-16 15:58:01 -03:00
parent 42ae7d1568
commit 1be1326b52

View File

@ -1019,7 +1019,13 @@ export class ChatwootService {
this.logger.verbose('check if is group'); this.logger.verbose('check if is group');
const chatId = const chatId =
body.conversation.meta.sender?.phone_number?.replace('+', '') || body.conversation.meta.sender?.identifier; body.conversation.meta.sender?.phone_number?.replace('+', '') || body.conversation.meta.sender?.identifier;
const messageReceived = body.content; // Alterado por Edison Martins em 16/12/2023
// const messageReceived = body.content;
const messageReceived = body.content
.replaceAll(/\*((?!\s)([^\n*]+?)(?<!\s))\*/g, '_$1_') // Substitui * por _
.replaceAll(/\*{2}((?!\s)([^\n*]+?)(?<!\s))\*{2}/g, '*$1*') // Substitui ** por *
.replace(/~{2}((?!\s)([^\n*]+?)(?<!\s))~{2}/g, '~$1~'); // Substitui ~~ por ~
const senderName = body?.sender?.name; const senderName = body?.sender?.name;
const waInstance = this.waMonitor.waInstances[instance.instanceName]; const waInstance = this.waMonitor.waInstances[instance.instanceName];
@ -1470,7 +1476,15 @@ export class ChatwootService {
} }
this.logger.verbose('get conversation message'); this.logger.verbose('get conversation message');
const bodyMessage = await this.getConversationMessage(body.message);
// Alterado por Edison Martins em 15/12/2023
// const bodyMessage = await this.getConversationMessage(body.message);
const bodyMessage = await this.getConversationMessage(body.message)
.replaceAll(/\*((?!\s)([^\n*]+?)(?<!\s))\*/g, '**$1**')
.replaceAll(/_((?!\s)([^\n_]+?)(?<!\s))_/g, '*$1*')
.replaceAll(/~((?!\s)([^\n~]+?)(?<!\s))~/g, '~~$1~~');
this.logger.verbose('body message: ' + bodyMessage);
if (bodyMessage && bodyMessage.includes('Por favor, classifique esta conversa, http')) { if (bodyMessage && bodyMessage.includes('Por favor, classifique esta conversa, http')) {
this.logger.verbose('conversation is closed'); this.logger.verbose('conversation is closed');