From d60dfba90a99ef4a7e2b34247cee6d95192037a2 Mon Sep 17 00:00:00 2001 From: devlikepro Date: Mon, 3 Nov 2025 12:53:27 +0700 Subject: [PATCH] [core] ChatWoot - no from me tag for history (from whatsapp or API) --- .../chatwoot/consumers/task/messages.pull.ts | 5 +++++ src/apps/chatwoot/consumers/waha/base.ts | 19 +++++++++---------- 2 files changed, 14 insertions(+), 10 deletions(-) diff --git a/src/apps/chatwoot/consumers/task/messages.pull.ts b/src/apps/chatwoot/consumers/task/messages.pull.ts index c80a879e..55a773ff 100644 --- a/src/apps/chatwoot/consumers/task/messages.pull.ts +++ b/src/apps/chatwoot/consumers/task/messages.pull.ts @@ -332,6 +332,7 @@ export class TaskActivity { private l: Locale, private conversation: Conversation, ) {} + public async queue(paused: boolean) { let msg: string; if (paused) { @@ -391,6 +392,10 @@ class MessageAnyHistoryHandler extends MessageAnyHandler { public force: boolean = false; public shouldLogUnsupported = true; + protected get shouldAddFromTag() { + return false; + } + protected get delayFromMeAPI() { return 0; } diff --git a/src/apps/chatwoot/consumers/waha/base.ts b/src/apps/chatwoot/consumers/waha/base.ts index 86faba8f..1d70809d 100644 --- a/src/apps/chatwoot/consumers/waha/base.ts +++ b/src/apps/chatwoot/consumers/waha/base.ts @@ -219,6 +219,13 @@ export abstract class MessageBaseHandler { return 3_000; } + /** + * Weather to add a tag to messages sent from me like via API or WhatsApp + */ + protected get shouldAddFromTag() { + return true; + } + async ShouldProcessMessage(payload: Payload): Promise { const key = parseMessageIdSerialized(payload.id); const chatwoot = await this.mappingService.getChatWootMessage({ @@ -293,16 +300,8 @@ export abstract class MessageBaseHandler { let content = message.content; // Format the content if the message from me - if (payload.fromMe) { - const key = parseMessageIdSerialized(payload.id); - const chatwoot = await this.mappingService.getChatWootMessage({ - chat_id: toCusFormat(key.remoteJid), - message_id: key.id, - }); - const exists = !!chatwoot; - if (exists) { - // No additional content required - } else if (payload.source === MessageSource.APP) { + if (payload.fromMe && this.shouldAddFromTag) { + if (payload.source === MessageSource.APP) { const key = TKey.MESSAGE_FROM_WHATSAPP; content = this.l.key(key).render({ text: content }); } else if (payload.source === MessageSource.API) {