feat: mark chat as unread (#475)

Co-authored-by: Pedro S. Lopez <pedroslopez@me.com>
This commit is contained in:
Raphael R
2020-12-28 21:03:01 -03:00
committed by Pedro S. Lopez
parent 5c6195738f
commit 3e32fe27ea
3 changed files with 23 additions and 0 deletions

5
index.d.ts vendored
View File

@@ -99,6 +99,9 @@ declare namespace WAWebJS {
/** Mark as seen for the Chat */
sendSeen(chatId: string): Promise<boolean>
/** Mark the Chat as unread */
markChatUnread(chatId: string): Promise<void>
/**
* Sets the current user's status message
* @param status New status message
@@ -777,6 +780,8 @@ declare namespace WAWebJS {
unmute: () => Promise<void>,
/** Returns the Contact that corresponds to this Chat. */
getContact: () => Promise<Contact>,
/** Marks this Chat as unread */
markUnread: () => Promise<void>
/** Returns array of all Labels assigned to this Chat */
getLabels: () => Promise<Label[]>
}

View File

@@ -689,6 +689,17 @@ class Client extends EventEmitter {
}, chatId);
}
/**
* Mark the Chat as unread
* @param {string} chatId ID of the chat that will be marked as unread
*/
async markChatUnread(chatId) {
await this.pupPage.evaluate(async chatId => {
let chat = await window.Store.Chat.get(chatId);
await window.Store.Cmd.markChatUnread(chat, true);
}, chatId);
}
/**
* Returns the contact ID's profile picture URL, if privacy settings allow it
* @param {string} contactId the whatsapp user's ID

View File

@@ -161,6 +161,13 @@ class Chat extends Base {
return this.client.unmuteChat(this.id._serialized);
}
/**
* Mark this chat as unread
*/
async markUnread(){
return this.client.markChatUnread(this.id._serialized);
}
/**
* Loads chat messages, sorted from earliest to latest.
* @param {Object} searchOptions Options for searching messages. Right now only limit is supported.