mirror of
https://github.com/EvolutionAPI/evolution-api.git
synced 2025-07-24 09:28:39 -06:00
Update whatsapp.service.ts
This commit is contained in:
parent
52533d4b38
commit
3ae6944307
@ -72,9 +72,9 @@ import {
|
|||||||
ArchiveChatDto,
|
ArchiveChatDto,
|
||||||
DeleteMessage,
|
DeleteMessage,
|
||||||
getBase64FromMediaMessageDto,
|
getBase64FromMediaMessageDto,
|
||||||
|
LastMessage,
|
||||||
NumberBusiness,
|
NumberBusiness,
|
||||||
OnWhatsAppDto,
|
OnWhatsAppDto,
|
||||||
LastMessage,
|
|
||||||
PrivacySettingDto,
|
PrivacySettingDto,
|
||||||
ReadMessageDto,
|
ReadMessageDto,
|
||||||
WhatsAppNumberDto,
|
WhatsAppNumberDto,
|
||||||
@ -2346,28 +2346,28 @@ export class WAStartupService {
|
|||||||
throw new InternalServerErrorException('Read messages fail', error.toString());
|
throw new InternalServerErrorException('Read messages fail', error.toString());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public async getLastMessage(number: string) {
|
public async getLastMessage(number: string) {
|
||||||
const messages = await this.fetchMessages({
|
const messages = await this.fetchMessages({
|
||||||
where: {
|
where: {
|
||||||
key: {
|
key: {
|
||||||
remoteJid: number
|
remoteJid: number,
|
||||||
},
|
},
|
||||||
owner: this.instance.name
|
owner: this.instance.name,
|
||||||
}
|
},
|
||||||
});
|
});
|
||||||
|
|
||||||
let lastMessage = messages.pop();
|
let lastMessage = messages.pop();
|
||||||
|
|
||||||
for (const message of messages) {
|
for (const message of messages) {
|
||||||
if (
|
if (
|
||||||
message.messageTimestamp?.low >= lastMessage.messageTimestamp?.low
|
message.messageTimestamp?.low >= lastMessage.messageTimestamp?.low ||
|
||||||
|| message.messageTimestamp >= lastMessage.messageTimestamp
|
message.messageTimestamp >= lastMessage.messageTimestamp
|
||||||
) {
|
) {
|
||||||
lastMessage = message;
|
lastMessage = message;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return lastMessage as unknown as LastMessage;
|
return lastMessage as unknown as LastMessage;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -2376,32 +2376,32 @@ export class WAStartupService {
|
|||||||
try {
|
try {
|
||||||
let last_message = data.lastMessage;
|
let last_message = data.lastMessage;
|
||||||
let number = data.chat;
|
let number = data.chat;
|
||||||
|
|
||||||
if(!last_message && number) {
|
if (!last_message && number) {
|
||||||
last_message = await this.getLastMessage(number);
|
last_message = await this.getLastMessage(number);
|
||||||
} else {
|
} else {
|
||||||
last_message = data.lastMessage;
|
last_message = data.lastMessage;
|
||||||
last_message.messageTimestamp = last_message?.messageTimestamp ?? Date.now();
|
last_message.messageTimestamp = last_message?.messageTimestamp ?? Date.now();
|
||||||
number = last_message?.key?.remoteJid;
|
number = last_message?.key?.remoteJid;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!last_message || Object.keys(last_message).length === 0) {
|
if (!last_message || Object.keys(last_message).length === 0) {
|
||||||
throw new NotFoundException("Last message not found");
|
throw new NotFoundException('Last message not found');
|
||||||
}
|
}
|
||||||
console.log(last_message);
|
console.log(last_message);
|
||||||
|
|
||||||
await this.client.chatModify(
|
await this.client.chatModify(
|
||||||
{
|
{
|
||||||
archive: data.archive,
|
archive: data.archive,
|
||||||
lastMessages: [last_message]
|
lastMessages: [last_message],
|
||||||
},
|
},
|
||||||
this.createJid(number)
|
this.createJid(number),
|
||||||
);
|
);
|
||||||
|
|
||||||
return {
|
return {
|
||||||
chatId: number,
|
chatId: number,
|
||||||
archived: true,
|
archived: true,
|
||||||
};
|
};
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
throw new InternalServerErrorException({
|
throw new InternalServerErrorException({
|
||||||
archived: false,
|
archived: false,
|
||||||
|
Loading…
Reference in New Issue
Block a user