Include bot messages from webhook

This commit is contained in:
josedario87
2025-06-05 18:29:57 -06:00
parent c7dbaf9add
commit cced5b37d9
2 changed files with 9 additions and 4 deletions

View File

@@ -131,8 +131,11 @@ export async function addMessageToConversation(
console.log(`[conversationStore] Adding message to ${chatId}`);
const conv = await getConversation(chatId, openWaUrl);
const mapped = mapMessage(msg);
conv.messages.push(mapped);
if (conv.messages.length > 20) conv.messages.shift();
// avoid duplicates if multiple webhook events deliver the same message
if (!conv.messages.some((m) => m.id === mapped.id)) {
conv.messages.push(mapped);
if (conv.messages.length > 20) conv.messages.shift();
}
const s = msg.sender;
if (s && !conv.participants.some((p) => p.id === s.id)) {
conv.participants.push({

View File

@@ -120,7 +120,8 @@ export async function registerWebhook(config: WebhookConfig, port: number) {
const eventConfig = {
onAck: false,
onAddedToGroup: true,
onAnyMessage: false,
// use onAnyMessage to also receive messages sent by nucleo-whatsapp itself
onAnyMessage: true,
onBattery: true,
onBroadcast: true,
onButton: true,
@@ -135,7 +136,8 @@ export async function registerWebhook(config: WebhookConfig, port: number) {
onIncomingCall: false,
onLabel: true,
onLogout: true,
onMessage: true,
// disable onMessage to avoid duplicates with onAnyMessage
onMessage: false,
onMessageDeleted: true,
onNewProduct: true,
onOrder: true,