UNPKG

bot_genshin

Version:
234 lines (196 loc) 6.71 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; Source: structures/Contact.js</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-banner" role="banner"> </div> <div id="jsdoc-main" role="main"> <header class="page-header"> <h1>Source: structures/Contact.js</h1> </header> <article> <pre class="prettyprint linenums"><code>&#x27;use strict&#x27;; const Base &#x3D; require(&#x27;./Base&#x27;); /** * ID that represents a contact * @typedef {Object} ContactId * @property {string} server * @property {string} user * @property {string} _serialized */ /** * Represents a Contact on WhatsApp * @extends {Base} */ class Contact extends Base { constructor(client, data) { super(client); if(data) this._patch(data); } _patch(data) { /** * ID that represents the contact * @type {ContactId} */ this.id &#x3D; data.id; /** * Contact&#x27;s phone number * @type {string} */ this.number &#x3D; data.userid; /** * Indicates if the contact is a business contact * @type {boolean} */ this.isBusiness &#x3D; data.isBusiness; /** * Indicates if the contact is an enterprise contact * @type {boolean} */ this.isEnterprise &#x3D; data.isEnterprise; this.labels &#x3D; data.labels; /** * The contact&#x27;s name, as saved by the current user * @type {?string} */ this.name &#x3D; data.name; /** * The name that the contact has configured to be shown publically * @type {string} */ this.pushname &#x3D; data.pushname; this.sectionHeader &#x3D; data.sectionHeader; /** * A shortened version of name * @type {?string} */ this.shortName &#x3D; data.shortName; this.statusMute &#x3D; data.statusMute; this.type &#x3D; data.type; this.verifiedLevel &#x3D; data.verifiedLevel; this.verifiedName &#x3D; data.verifiedName; /** * Indicates if the contact is the current user&#x27;s contact * @type {boolean} */ this.isMe &#x3D; data.isMe; /** * Indicates if the contact is a user contact * @type {boolean} */ this.isUser &#x3D; data.isUser; /** * Indicates if the contact is a group contact * @type {boolean} */ this.isGroup &#x3D; data.isGroup; /** * Indicates if the number is registered on WhatsApp * @type {boolean} */ this.isWAContact &#x3D; data.isWAContact; /** * Indicates if the number is saved in the current phone&#x27;s contacts * @type {boolean} */ this.isMyContact &#x3D; data.isMyContact; /** * Indicates if you have blocked this contact * @type {boolean} */ this.isBlocked &#x3D; data.isBlocked; return super._patch(data); } /** * Returns the contact&#x27;s profile picture URL, if privacy settings allow it * @returns {Promise&amp;lt;string&gt;} */ async getProfilePicUrl() { return await this.client.getProfilePicUrl(this.id._serialized); } /** * Returns the Chat that corresponds to this Contact. * Will return null when getting chat for currently logged in user. * @returns {Promise&amp;lt;Chat&gt;} */ async getChat() { if(this.isMe) return null; return await this.client.getChatById(this.id._serialized); } /** * Blocks this contact from WhatsApp * @returns {Promise&amp;lt;boolean&gt;} */ async block() { if(this.isGroup) return false; await this.client.pupPage.evaluate(async (contactId) &#x3D;&gt; { const contact &#x3D; window.Store.Contact.get(contactId); await window.Store.BlockContact.blockContact(contact); }, this.id._serialized); return true; } /** * Unblocks this contact from WhatsApp * @returns {Promise&amp;lt;boolean&gt;} */ async unblock() { if(this.isGroup) return false; await this.client.pupPage.evaluate(async (contactId) &#x3D;&gt; { const contact &#x3D; window.Store.Contact.get(contactId); await window.Store.BlockContact.unblockContact(contact); }, this.id._serialized); return true; } /** * Gets the Contact&#x27;s current &quot;about&quot; info. Returns null if you don&#x27;t have permission to read their status. * @returns {Promise&amp;lt;?string&gt;} */ async getAbout() { const about &#x3D; await this.client.pupPage.evaluate(async (contactId) &#x3D;&gt; { return window.Store.Wap.statusFind(contactId); }, this.id._serialized); if (typeof about.status !&#x3D;&#x3D; &#x27;string&#x27;) return null; return about.status; } } module.exports &#x3D; Contact;</code></pre> </article> </div> </div> <nav id="jsdoc-toc-nav" role="navigation"></nav> </div> </div> <footer id="jsdoc-footer" class="jsdoc-footer"> <div id="jsdoc-footer-container"> <p> Generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc</a> 3.6.7 on August 1, 2021. </p> </div> </footer> <script src="scripts/jquery.min.js"></script> <script src="scripts/tree.jquery.js"></script> <script src="scripts/prettify.js"></script> <script src="scripts/jsdoc-toc.js"></script> <script src="scripts/linenumber.js"></script> <script src="scripts/scrollanchor.js"></script> </body> </html>