Skip to content

Commit b8d6c87

Browse files
committed
fix(whatsapp): correct remoteJid handling and optimize chat creation logic
1 parent d131e83 commit b8d6c87

File tree

1 file changed

+12
-5
lines changed

1 file changed

+12
-5
lines changed

src/api/integrations/channel/whatsapp/whatsapp.baileys.service.ts

Lines changed: 12 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1028,21 +1028,21 @@ export class BaileysStartupService extends ChannelStartupService {
10281028

10291029
if (!remoteJid) {
10301030
remoteJid = chat.id;
1031-
}
1031+
}
10321032

10331033
chatsRaw.push({ remoteJid, remoteLid, instanceId: this.instanceId, name: chat.name });
10341034
}
10351035

10361036
this.sendDataWebhook(Events.CHATS_SET, chatsRaw);
10371037

10381038
if (this.configService.get<Database>('DATABASE').SAVE_DATA.HISTORIC) {
1039-
chatsRaw = chatsRaw.map((chat) => {
1040-
delete chat.remoteLid;
10411039

1040+
const chatsToCreateMany = JSON.parse(JSON.stringify(chatsRaw)).map((chat) => {
1041+
delete chat.remoteLid;
10421042
return chat;
1043-
});
1043+
})
10441044

1045-
await this.prismaRepository.chat.createMany({ data: chatsRaw, skipDuplicates: true });
1045+
await this.prismaRepository.chat.createMany({ data: chatsToCreateMany, skipDuplicates: true });
10461046
}
10471047

10481048
const messagesRaw: any[] = [];
@@ -1525,8 +1525,15 @@ export class BaileysStartupService extends ChannelStartupService {
15251525
this.logger.verbose(messageRaw);
15261526

15271527
sendTelemetry(`received.message.${messageRaw.messageType ?? 'unknown'}`);
1528+
15281529
if (messageRaw.key.remoteJid?.includes('@lid') && messageRaw.key.remoteJidAlt) {
1530+
1531+
const lid = messageRaw.key.remoteJid
1532+
15291533
messageRaw.key.remoteJid = messageRaw.key.remoteJidAlt;
1534+
messageRaw.key.remoteJidAlt = lid
1535+
1536+
messageRaw.key.addressingMode = 'pn'
15301537
}
15311538
console.log(messageRaw);
15321539

0 commit comments

Comments
 (0)