UNPKG

bot_genshin

Version:
1,152 lines (1,150 loc) 94.8 kB
<!doctype html> <html> <head> <meta name="generator" content="JSDoc 3.6.7"> <meta charset="utf-8"> <title>whatsapp-web.js 1.14.0 &raquo; Class: Client</title> <link rel="stylesheet" href="https://brick.a.ssl.fastly.net/Karla:400,400i,700,700i" type="text/css"> <link rel="stylesheet" href="https://brick.a.ssl.fastly.net/Noto+Serif:400,400i,700,700i" type="text/css"> <link rel="stylesheet" href="https://brick.a.ssl.fastly.net/Inconsolata:500" type="text/css"> <link href="css/baseline.css" rel="stylesheet"> </head> <body onload="prettyPrint()"> <nav id="jsdoc-navbar" role="navigation" class="jsdoc-navbar"> <div id="jsdoc-navbar-container"> <div id="jsdoc-navbar-content"> <a href="index.html" class="jsdoc-navbar-package-name">whatsapp-web.<wbr>js 1.<wbr>14.<wbr>0</a> </div> </div> </nav> <div id="jsdoc-body-container"> <div id="jsdoc-content"> <div id="jsdoc-content-container"> <div id="jsdoc-main" role="main"> <header class="page-header"> <div class="symbol-detail-labels"><span class="label label-kind">class</span></div> <h1><small></small><span class="symbol-name">Client</span></h1> <p class="source-link">Source: <a href="Client.js.html#source-line-52">Client.<wbr>js:52</a></p> <div class="symbol-classdesc"> <p>Starting point for interacting with the WhatsApp Web API</p> </div> <dl class="dl-compact"> </dl> </header> <section id="summary"> <div class="summary-callout"> <h2 class="summary-callout-heading">Property</h2> <div class="summary-content"> <div class="summary-column"> <dl class="dl-summary-callout"> <dt><a href="Client.html#info">info</a></dt> <dd> </dd> </dl> </div> <div class="summary-column"> </div> <div class="summary-column"> </div> </div> </div> <div class="summary-callout"> <h2 class="summary-callout-heading">Methods</h2> <div class="summary-content"> <div class="summary-column"> <dl class="dl-summary-callout"> <dt><a href="Client.html#acceptGroupV4Invite">acceptGroupV4Invite(inviteV4)</a></dt> <dd> </dd> <dt><a href="Client.html#acceptInvite">acceptInvite(inviteCode)</a></dt> <dd> </dd> <dt><a href="Client.html#archiveChat">archiveChat()</a></dt> <dd> </dd> <dt><a href="Client.html#createGroup">createGroup(name, participants)</a></dt> <dd> </dd> <dt><a href="Client.html#destroy">destroy()</a></dt> <dd> </dd> <dt><a href="Client.html#getChatById">getChatById(chatId)</a></dt> <dd> </dd> <dt><a href="Client.html#getChatLabels">getChatLabels(chatId)</a></dt> <dd> </dd> <dt><a href="Client.html#getChats">getChats()</a></dt> <dd> </dd> <dt><a href="Client.html#getChatsByLabelId">getChatsByLabelId(labelId)</a></dt> <dd> </dd> <dt><a href="Client.html#getContactById">getContactById(contactId)</a></dt> <dd> </dd> <dt><a href="Client.html#getContacts">getContacts()</a></dt> <dd> </dd> <dt><a href="Client.html#getInviteInfo">getInviteInfo(inviteCode)</a></dt> <dd> </dd> </dl> </div> <div class="summary-column"> <dl class="dl-summary-callout"> <dt><a href="Client.html#getLabelById">getLabelById(labelId)</a></dt> <dd> </dd> <dt><a href="Client.html#getLabels">getLabels()</a></dt> <dd> </dd> <dt><a href="Client.html#getNumberId">getNumberId(number)</a></dt> <dd> </dd> <dt><a href="Client.html#getProfilePicUrl">getProfilePicUrl(contactId)</a></dt> <dd> </dd> <dt><a href="Client.html#getState">getState()</a></dt> <dd> </dd> <dt><a href="Client.html#getWWebVersion">getWWebVersion()</a></dt> <dd> </dd> <dt><a href="Client.html#initialize">initialize()</a></dt> <dd> </dd> <dt><a href="Client.html#isRegisteredUser">isRegisteredUser(id)</a></dt> <dd> </dd> <dt><a href="Client.html#logout">logout()</a></dt> <dd> </dd> <dt><a href="Client.html#markChatUnread">markChatUnread(chatId)</a></dt> <dd> </dd> <dt><a href="Client.html#muteChat">muteChat(chatId, unmuteDate)</a></dt> <dd> </dd> <dt><a href="Client.html#pinChat">pinChat()</a></dt> <dd> </dd> </dl> </div> <div class="summary-column"> <dl class="dl-summary-callout"> <dt><a href="Client.html#resetState">resetState()</a></dt> <dd> </dd> <dt><a href="Client.html#searchMessages">searchMessages(query[, options])</a></dt> <dd> </dd> <dt><a href="Client.html#sendMessage">sendMessage(chatId, content[, options])</a></dt> <dd> </dd> <dt><a href="Client.html#sendPresenceAvailable">sendPresenceAvailable()</a></dt> <dd> </dd> <dt><a href="Client.html#sendSeen">sendSeen(chatId)</a></dt> <dd> </dd> <dt><a href="Client.html#setDisplayName">setDisplayName(displayName)</a></dt> <dd> </dd> <dt><a href="Client.html#setStatus">setStatus(status)</a></dt> <dd> </dd> <dt><a href="Client.html#unarchiveChat">unarchiveChat()</a></dt> <dd> </dd> <dt><a href="Client.html#unmuteChat">unmuteChat(chatId)</a></dt> <dd> </dd> <dt><a href="Client.html#unpinChat">unpinChat()</a></dt> <dd> </dd> </dl> </div> </div> </div> <div class="summary-callout"> <h2 class="summary-callout-heading">Events</h2> <div class="summary-content"> <div class="summary-column"> <dl class="dl-summary-callout"> <dt><a href="Client.html#event:auth_failure">auth_failure</a></dt> <dd> </dd> <dt><a href="Client.html#event:authenticated">authenticated</a></dt> <dd> </dd> <dt><a href="Client.html#event:change_battery">change_battery</a></dt> <dd> </dd> <dt><a href="Client.html#event:change_state">change_state</a></dt> <dd> </dd> <dt><a href="Client.html#event:disconnected">disconnected</a></dt> <dd> </dd> <dt><a href="Client.html#event:group_join">group_join</a></dt> <dd> </dd> </dl> </div> <div class="summary-column"> <dl class="dl-summary-callout"> <dt><a href="Client.html#event:group_leave">group_leave</a></dt> <dd> </dd> <dt><a href="Client.html#event:group_update">group_update</a></dt> <dd> </dd> <dt><a href="Client.html#event:incoming_call">incoming_call</a></dt> <dd> </dd> <dt><a href="Client.html#event:media_uploaded">media_uploaded</a></dt> <dd> </dd> <dt><a href="Client.html#event:message">message</a></dt> <dd> </dd> <dt><a href="Client.html#event:message_ack">message_ack</a></dt> <dd> </dd> </dl> </div> <div class="summary-column"> <dl class="dl-summary-callout"> <dt><a href="Client.html#event:message_create">message_create</a></dt> <dd> </dd> <dt><a href="Client.html#event:message_revoke_everyone">message_revoke_everyone</a></dt> <dd> </dd> <dt><a href="Client.html#event:message_revoke_me">message_revoke_me</a></dt> <dd> </dd> <dt><a href="Client.html#event:qr">qr</a></dt> <dd> </dd> <dt><a href="Client.html#event:ready">ready</a></dt> <dd> </dd> </dl> </div> </div> </div> </section> <section> <h2 id="Client">new&nbsp;<span class="symbol-name">Client</span><span class="signature"><span class="signature-params">(options)</span></span></h2> <section> <h3>Parameters</h3> <table class="jsdoc-details-table"> <thead> <tr> <th>Name</th> <th>Type</th> <th>Optional</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td> <p>options</p> </td> <td> <p>&nbsp;</p> </td> <td> <p>&nbsp;</p> </td> <td> <p>Client options</p> <p>Values in <code>options</code> have the following properties:</p> <table class="jsdoc-details-table"> <thead> <tr> <th>Name</th> <th>Type</th> <th>Optional</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td> <p>authTimeoutMs</p> </td> <td> <p>&nbsp;</p> </td> <td> <p>&nbsp;</p> </td> <td> <p>Timeout for authentication selector in puppeteer</p> </td> </tr> <tr> <td> <p>puppeteer</p> </td> <td> <p>&nbsp;</p> </td> <td> <p>&nbsp;</p> </td> <td> <p>Puppeteer launch options. View docs here: https://github.com/puppeteer/puppeteer/</p> </td> </tr> <tr> <td> <p>qrRefreshIntervalMs</p> </td> <td> <p>&nbsp;</p> </td> <td> <p>&nbsp;</p> </td> <td> <p>Refresh interval for qr code (how much time to wait before checking if the qr code has changed)</p> </td> </tr> <tr> <td> <p>qrTimeoutMs</p> </td> <td> <p>&nbsp;</p> </td> <td> <p>&nbsp;</p> </td> <td> <p>Timeout for qr code selector in puppeteer</p> </td> </tr> <tr> <td> <p>restartOnAuthFail</p> </td> <td> <p>&nbsp;</p> </td> <td> <p>&nbsp;</p> </td> <td> <p>Restart client with a new session (i.e. use null 'session' var) if authentication fails</p> </td> </tr> <tr> <td> <p>session</p> </td> <td> <p>&nbsp;</p> </td> <td> <p>&nbsp;</p> </td> <td> <p>Whatsapp session to restore. If not set, will start a new session</p> </td> </tr> <tr> <td> <p>session.WABrowserId</p> </td> <td> <p>&nbsp;</p> </td> <td> <p>&nbsp;</p> </td> <td> </td> </tr> <tr> <td> <p>session.WASecretBundle</p> </td> <td> <p>&nbsp;</p> </td> <td> <p>&nbsp;</p> </td> <td> </td> </tr> <tr> <td> <p>session.WAToken1</p> </td> <td> <p>&nbsp;</p> </td> <td> <p>&nbsp;</p> </td> <td> </td> </tr> <tr> <td> <p>session.WAToken2</p> </td> <td> <p>&nbsp;</p> </td> <td> <p>&nbsp;</p> </td> <td> </td> </tr> <tr> <td> <p>takeoverOnConflict</p> </td> <td> <p>&nbsp;</p> </td> <td> <p>&nbsp;</p> </td> <td> <p>If another whatsapp web session is detected (another browser), take over the session in the current browser</p> </td> </tr> <tr> <td> <p>takeoverTimeoutMs</p> </td> <td> <p>&nbsp;</p> </td> <td> <p>&nbsp;</p> </td> <td> <p>How much time to wait before taking over the session</p> </td> </tr> <tr> <td> <p>userAgent</p> </td> <td> <p>&nbsp;</p> </td> <td> <p>&nbsp;</p> </td> <td> <p>User agent to use in puppeteer</p> </td> </tr> <tr> <td> <p>ffmpegPath</p> </td> <td> <p>&nbsp;</p> </td> <td> <p>&nbsp;</p> </td> <td> <p>Ffmpeg path to use when formating videos to webp while sending stickers</p> </td> </tr> <tr> <td> <p>bypassCSP</p> </td> <td> <p>&nbsp;</p> </td> <td> <p>&nbsp;</p> </td> <td> <p>Sets bypassing of page's Content-Security-Policy.</p> </td> </tr> </tbody> </table> </td> </tr> </tbody> </table> </section> <dl class="dl-compact"> <dt>Extends</dt> <dd>EventEmitter</dd> <dt>Fires</dt> <dd><a href="Client.html#event:qr">Client#event:qr</a></dd> <dd><a href="Client.html#event:authenticated">Client#event:authenticated</a></dd> <dd><a href="Client.html#event:auth_failure">Client#event:auth_failure</a></dd> <dd><a href="Client.html#event:ready">Client#event:ready</a></dd> <dd><a href="Client.html#event:message">Client#event:message</a></dd> <dd><a href="Client.html#event:message_ack">Client#event:message_ack</a></dd> <dd><a href="Client.html#event:message_create">Client#event:message_create</a></dd> <dd><a href="Client.html#event:message_revoke_me">Client#event:message_revoke_me</a></dd> <dd><a href="Client.html#event:message_revoke_everyone">Client#event:message_revoke_everyone</a></dd> <dd><a href="Client.html#event:media_uploaded">Client#event:media_uploaded</a></dd> <dd><a href="Client.html#event:group_join">Client#event:group_join</a></dd> <dd><a href="Client.html#event:group_leave">Client#event:group_leave</a></dd> <dd><a href="Client.html#event:group_update">Client#event:group_update</a></dd> <dd><a href="Client.html#event:disconnected">Client#event:disconnected</a></dd> <dd><a href="Client.html#event:change_state">Client#event:change_state</a></dd> <dd><a href="Client.html#event:change_battery">Client#event:change_battery</a></dd> </dl> </section> <section> <h2>Property</h2> <section> <h3 id="info"><span class="symbol-name">info</span><small class="property-type"> &nbsp;<a href="ClientInfo.html">ClientInfo</a></small></h3> <p>Current connection information</p> <dl class="dl-compact"> </dl> </section> <h2>Methods</h2> <section> <div class="symbol-detail-labels"><span class="label label-async">async</span></div> <h3 id="acceptGroupV4Invite"><span class="symbol-name">acceptGroupV4Invite</span><span class="signature"><span class="signature-params">(inviteV4)</span>&nbsp;&rarr; <span class="signature-returns"> Promise containing Object</span></span></h3> <p>Accepts a private invitation to join a group</p> <section> <h4>Parameter</h4> <table class="jsdoc-details-table"> <thead> <tr> <th>Name</th> <th>Type</th> <th>Optional</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td> <p>inviteV4</p> </td> <td> <p>object</p> </td> <td> <p>&nbsp;</p> </td> <td> <p>Invite V4 Info</p> </td> </tr> </tbody> </table> </section> <dl class="dl-compact"> <dt>Returns</dt> <dd> <p><code>Promise containing Object</code> </p> </dd> </dl> <div class="symbol-detail-labels"><span class="label label-async">async</span></div> <h3 id="acceptInvite"><span class="symbol-name">acceptInvite</span><span class="signature"><span class="signature-params">(inviteCode)</span>&nbsp;&rarr; <span class="signature-returns"> Promise containing string</span></span></h3> <p>Accepts an invitation to join a group</p> <section> <h4>Parameter</h4> <table class="jsdoc-details-table"> <thead> <tr> <th>Name</th> <th>Type</th> <th>Optional</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td> <p>inviteCode</p> </td> <td> <p>string</p> </td> <td> <p>&nbsp;</p> </td> <td> <p>Invitation code</p> </td> </tr> </tbody> </table> </section> <dl class="dl-compact"> <dt>Returns</dt> <dd> <p><code>Promise containing string</code> <p>Id of the joined Chat</p> </p> </dd> </dl> <div class="symbol-detail-labels"><span class="label label-async">async</span></div> <h3 id="archiveChat"><span class="symbol-name">archiveChat</span><span class="signature"><span class="signature-params">()</span>&nbsp;&rarr; <span class="signature-returns"> boolean</span></span></h3> <p>Enables and returns the archive state of the Chat</p> <dl class="dl-compact"> <dt>Returns</dt> <dd> <p><code>boolean</code> </p> </dd> </dl> <div class="symbol-detail-labels"><span class="label label-async">async</span></div> <h3 id="createGroup"><span class="symbol-name">createGroup</span><span class="signature"><span class="signature-params">(name, participants)</span>&nbsp;&rarr; <span class="signature-returns"> (Object, string, or Object with string properties)</span></span></h3> <p>Create a new group</p> <section> <h4>Parameters</h4> <table class="jsdoc-details-table"> <thead> <tr> <th>Name</th> <th>Type</th> <th>Optional</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td> <p>name</p> </td> <td> <p>string</p> </td> <td> <p>&nbsp;</p> </td> <td> <p>group title</p> </td> </tr> <tr> <td> <p>participants</p> </td> <td> <p>Array of (<a href="Contact.html">Contact</a> or string)</p> </td> <td> <p>&nbsp;</p> </td> <td> <p>an array of Contacts or contact IDs to add to the group</p> </td> </tr> </tbody> </table> </section> <dl class="dl-compact"> <dt>Returns</dt> <dd> <p><code>Object</code> <p>createRes</p> </p> </dd> <dd> <p><code>string</code> <p>createRes.gid - ID for the group that was just created</p> </p> </dd> <dd> <p><code>Object with string properties</code> <p>createRes.missingParticipants - participants that were not added to the group. Keys represent the ID for participant that was not added and its value is a status code that represents the reason why participant could not be added. This is usually 403 if the user's privacy settings don't allow you to add them to groups.</p> </p> </dd> </dl> <div class="symbol-detail-labels"><span class="label label-async">async</span></div> <h3 id="destroy"><span class="symbol-name">destroy</span><span class="signature"><span class="signature-params">()</span></span></h3> <p>Closes the client</p> <dl class="dl-compact"> </dl> <div class="symbol-detail-labels"><span class="label label-async">async</span></div> <h3 id="getChatById"><span class="symbol-name">getChatById</span><span class="signature"><span class="signature-params">(chatId)</span>&nbsp;&rarr; <span class="signature-returns"> Promise containing <a href="Chat.html">Chat</a></span></span></h3> <p>Get chat instance by ID</p> <section> <h4>Parameter</h4> <table class="jsdoc-details-table"> <thead> <tr> <th>Name</th> <th>Type</th> <th>Optional</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td> <p>chatId</p> </td> <td> <p>string</p> </td> <td> <p>&nbsp;</p> </td> <td> </td> </tr> </tbody> </table> </section> <dl class="dl-compact"> <dt>Returns</dt> <dd> <p><code>Promise containing <a href="Chat.html">Chat</a></code> </p> </dd> </dl> <div class="symbol-detail-labels"><span class="label label-async">async</span></div> <h3 id="getChatLabels"><span class="symbol-name">getChatLabels</span><span class="signature"><span class="signature-params">(chatId)</span>&nbsp;&rarr; <span class="signature-returns"> Promise containing Array of <a href="Label.html">Label</a></span></span></h3> <p>Get all Labels assigned to a chat</p> <section> <h4>Parameter</h4> <table class="jsdoc-details-table"> <thead> <tr> <th>Name</th> <th>Type</th> <th>Optional</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td> <p>chatId</p> </td> <td> <p>string</p> </td> <td> <p>&nbsp;</p> </td> <td> </td> </tr> </tbody> </table> </section> <dl class="dl-compact"> <dt>Returns</dt> <dd> <p><code>Promise containing Array of <a href="Label.html">Label</a></code> </p> </dd> </dl> <div class="symbol-detail-labels"><span class="label label-async">async</span></div> <h3 id="getChats"><span class="symbol-name">getChats</span><span class="signature"><span class="signature-params">()</span>&nbsp;&rarr; <span class="signature-returns"> Promise containing Array of <a href="Chat.html">Chat</a></span></span></h3> <p>Get all current chat instances</p> <dl class="dl-compact"> <dt>Returns</dt> <dd> <p><code>Promise containing Array of <a href="Chat.html">Chat</a></code> </p> </dd> </dl> <div class="symbol-detail-labels"><span class="label label-async">async</span></div> <h3 id="getChatsByLabelId"><span class="symbol-name">getChatsByLabelId</span><span class="signature"><span class="signature-params">(labelId)</span>&nbsp;&rarr; <span class="signature-returns"> Promise containing Array of <a href="Chat.html">Chat</a></span></span></h3> <p>Get all Chats for a specific Label</p> <section> <h4>Parameter</h4> <table class="jsdoc-details-table"> <thead> <tr> <th>Name</th> <th>Type</th> <th>Optional</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td> <p>labelId</p> </td> <td> <p>string</p> </td> <td> <p>&nbsp;</p> </td> <td> </td> </tr> </tbody> </table> </section> <dl class="dl-compact"> <dt>Returns</dt> <dd> <p><code>Promise containing Array of <a href="Chat.html">Chat</a></code> </p> </dd> </dl> <div class="symbol-detail-labels"><span class="label label-async">async</span></div> <h3 id="getContactById"><span class="symbol-name">getContactById</span><span class="signature"><span class="signature-params">(contactId)</span>&nbsp;&rarr; <span class="signature-returns"> Promise containing <a href="Contact.html">Contact</a></span></span></h3> <p>Get contact instance by ID</p> <section> <h4>Parameter</h4> <table class="jsdoc-details-table"> <thead> <tr> <th>Name</th> <th>Type</th> <th>Optional</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td> <p>contactId</p> </td> <td> <p>string</p> </td> <td> <p>&nbsp;</p> </td> <td> </td> </tr> </tbody> </table> </section> <dl class="dl-compact"> <dt>Returns</dt> <dd> <p><code>Promise containing <a href="Contact.html">Contact</a></code> </p> </dd> </dl> <div class="symbol-detail-labels"><span class="label label-async">async</span></div> <h3 id="getContacts"><span class="symbol-name">getContacts</span><span class="signature"><span class="signature-params">()</span>&nbsp;&rarr; <span class="signature-returns"> Promise containing Array of <a href="Contact.html">Contact</a></span></span></h3> <p>Get all current contact instances</p> <dl class="dl-compact"> <dt>Returns</dt> <dd> <p><code>Promise containing Array of <a href="Contact.html">Contact</a></code> </p> </dd> </dl> <div class="symbol-detail-labels"><span class="label label-async">async</span></div> <h3 id="getInviteInfo"><span class="symbol-name">getInviteInfo</span><span class="signature"><span class="signature-params">(inviteCode)</span>&nbsp;&rarr; <span class="signature-returns"> Promise containing object</span></span></h3> <p>Returns an object with information about the invite code's group</p> <section> <h4>Parameter</h4> <table class="jsdoc-details-table"> <thead> <tr> <th>Name</th> <th>Type</th> <th>Optional</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td> <p>inviteCode</p> </td> <td> <p>string</p> </td> <td> <p>&nbsp;</p> </td> <td> </td> </tr> </tbody> </table> </section> <dl class="dl-compact"> <dt>Returns</dt> <dd> <p><code>Promise containing object</code> <p>Invite information</p> </p> </dd> </dl> <div class="symbol-detail-labels"><span class="label label-async">async</span></div> <h3 id="getLabelById"><span class="symbol-name">getLabelById</span><span class="signature"><span class="signature-params">(labelId)</span>&nbsp;&rarr; <span class="signature-returns"> Promise containing <a href="Label.html">Label</a></span></span></h3> <p>Get Label instance by ID</p> <section> <h4>Parameter</h4> <table class="jsdoc-details-table"> <thead> <tr> <th>Name</th> <th>Type</th> <th>Optional</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td> <p>labelId</p> </td> <td> <p>string</p> </td> <td> <p>&nbsp;</p> </td> <td> </td> </tr> </tbody> </table> </section> <dl class="dl-compact"> <dt>Returns</dt> <dd> <p><code>Promise containing <a href="Label.html">Label</a></code> </p> </dd> </dl> <div class="symbol-detail-labels"><span class="label label-async">async</span></div> <h3 id="getLabels"><span class="symbol-name">getLabels</span><span class="signature"><span class="signature-params">()</span>&nbsp;&rarr; <span class="signature-returns"> Promise containing Array of <a href="Label.html">Label</a></span></span></h3> <p>Get all current Labels</p> <dl class="dl-compact"> <dt>Returns</dt> <dd> <p><code>Promise containing Array of <a href="Label.html">Label</a></code> </p> </dd> </dl> <div class="symbol-detail-labels"><span class="label label-async">async</span></div> <h3 id="getNumberId"><span class="symbol-name">getNumberId</span><span class="signature"><span class="signature-params">(number)</span>&nbsp;&rarr; <span class="signature-returns"> Promise containing (Object or null)</span></span></h3> <p>Get the registered WhatsApp ID for a number. Will return null if the number is not registered on WhatsApp.</p> <section> <h4>Parameter</h4> <table class="jsdoc-details-table"> <thead> <tr> <th>Name</th> <th>Type</th> <th>Optional</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td> <p>number</p> </td> <td> <p>string</p> </td> <td> <p>&nbsp;</p> </td> <td> <p>Number or ID (&quot;@c.us&quot; will be automatically appended if not specified)</p> </td> </tr> </tbody> </table> </section> <dl class="dl-compact"> <dt>Returns</dt> <dd> <p><code>Promise containing (Object or null)</code> </p> </dd> </dl> <div class="symbol-detail-labels"><span class="label label-async">async</span></div> <h3 id="getProfilePicUrl"><span class="symbol-name">getProfilePicUrl</span><span class="signature"><span class="signature-params">(contactId)</span>&nbsp;&rarr; <span class="signature-returns"> Promise containing string</span></span></h3> <p>Returns the contact ID's profile picture URL, if privacy settings allow it</p> <section> <h4>Parameter</h4> <table class="jsdoc-details-table"> <thead> <tr> <th>Name</th> <th>Type</th> <th>Optional</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td> <p>contactId</p> </td> <td> <p>string</p> </td> <td> <p>&nbsp;</p> </td> <td> <p>the whatsapp user's ID</p> </td> </tr> </tbody> </table> </section> <dl class="dl-compact"> <dt>Returns</dt> <dd> <p><code>Promise containing string</code> </p> </dd> </dl> <div class="symbol-detail-labels"><span class="label label-async">async</span></div> <h3 id="getState"><span class="symbol-name">getState</span><span class="signature"><span class="signature-params">()</span>&nbsp;&rarr; <span class="signature-returns"> <a href="global.html#WAState">WAState</a></span></span></h3> <p>Gets the current connection state for the client</p> <dl class="dl-compact"> <dt>Returns</dt> <dd> <p><code><a href="global.html#WAState">WAState</a></code> </p> </dd> </dl> <div class="symbol-detail-labels"><span class="label label-async">async</span></div> <h3 id="getWWebVersion"><span class="symbol-name">getWWebVersion</span><span class="signature"><span class="signature-params">()</span>&nbsp;&rarr; <span class="signature-returns"> Promise containing string</span></span></h3> <p>Returns the version of WhatsApp Web currently being run</p> <dl class="dl-compact"> <dt>Returns</dt> <dd> <p><code>Promise containing string</code> </p> </dd> </dl> <div class="symbol-detail-labels"><span class="label label-async">async</span></div> <h3 id="initialize"><span class="symbol-name">initialize</span><span class="signature"><span class="signature-params">()</span></span></h3> <p>Sets up events and requirements, kicks off authentication request</p> <dl class="dl-compact"> </dl> <div class="symbol-detail-labels"><span class="label label-async">async</span></div> <h3 id="isRegisteredUser"><span class="symbol-name">isRegisteredUser</span><span class="signature"><span class="signature-params">(id)</span>&nbsp;&rarr; <span class="signature-returns"> Promise containing Boolean</span></span></h3> <p>Check if a given ID is registered in whatsapp</p> <section> <h4>Parameter</h4> <table class="jsdoc-details-table"> <thead> <tr> <th>Name</th> <th>Type</th> <th>Optional</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td> <p>id</p> </td> <td> <p>string</p> </td> <td> <p>&nbsp;</p> </td> <td> <p>the whatsapp user's ID</p> </td> </tr> </tbody> </table> </section> <dl class="dl-compact"> <dt>Returns</dt> <dd> <p><code>Promise containing Boolean</code> </p> </dd> </dl> <div class="symbol-detail-labels"><span class="label label-async">async</span></div> <h3 id="logout"><span class="symbol-name">logout</span><span class="signature"><span class="signature-params">()</span></span></h3> <p>Logs out the client, closing the current session</p> <dl class="dl-compact"> </dl> <div class="symbol-detail-labels"><span class="label label-async">async</span></div> <h3 id="markChatUnread"><span class="symbol-name">markChatUnread</span><span class="signature"><span class="signature-params">(chatId)</span></span></h3> <p>Mark the Chat as unread</p> <section> <h4>Parameter</h4> <table class="jsdoc-details-table"> <thead> <tr> <th>Name</th> <th>Type</th> <th>Optional</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td> <p>chatId</p> </td> <td> <p>string</p> </td> <td> <p>&nbsp;</p> </td> <td> <p>ID of the chat that will be marked as unread</p> </td> </tr> </tbody> </table> </section> <dl class="dl-compact"> </dl> <div class="symbol-detail-labels"><span class="label label-async">async</span></div> <h3 id="muteChat"><span class="symbol-name">muteChat</span><span class="signature"><span class="signature-params">(chatId, unmuteDate)</span></span></h3> <p>Mutes the Chat until a specified date</p> <section> <h4>Parameters</h4> <table class="jsdoc-details-table"> <thead> <tr> <th>Name</th> <th>Type</th> <th>Optional</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td> <p>chatId</p> </td> <td> <p>string</p> </td> <td> <p>&nbsp;</p> </td> <td> <p>ID of the chat that will be muted</p> </td> </tr> <tr> <td> <p>unmuteDate</p> </td> <td> <p>Date</p> </td> <td> <p>&nbsp;</p> </td> <td> <p>Date when the chat will be unmuted</p> </td> </tr> </tbody> </table> </section> <dl class="dl-compact"> </dl> <div class="symbol-detail-labels"><span class="label label-async">async</span></div> <h3 id