UNPKG

wabot

Version:

Whatsapp Bot Module for automate response and interact whit users

3,718 lines (1,133 loc) 146 kB
<!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1"> <title>Wabot Documentation WABOT</title> <script src="https://cdn.jsdelivr.net/gh/google/code-prettify@master/loader/run_prettify.js"></script> <script src="https://unpkg.com/@babel/standalone/babel.min.js"></script> <script src="./build/entry.js"></script> <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <!--[if lt IE 9]> <script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script> <![endif]--> <link href="https://fonts.googleapis.com/css?family=Roboto:100,400,700|Inconsolata,700" rel="stylesheet"> <link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.6.3/css/all.css" integrity="sha384-UHRtZLI+pbxtHCWp1t77Bi1L4ZtiqrqD80Kn4Z8NTSRyMA2Fd33n5dQ8lWUE00s/" crossorigin="anonymous"> <link type="text/css" rel="stylesheet" href="https://jmblog.github.io/color-themes-for-google-code-prettify/themes/tomorrow-night.min.css"> <link type="text/css" rel="stylesheet" href="styles/app.min.css"> <link type="text/css" rel="stylesheet" href="styles/iframe.css"> <link type="text/css" rel="stylesheet" href=""> <script async defer src="https://buttons.github.io/buttons.js"></script> </head> <body class="layout small-header"> <div id="stickyNavbarOverlay"></div> <div class="top-nav"> <div class="inner"> <a id="hamburger" role="button" class="navbar-burger" aria-label="menu" aria-expanded="false"> <span aria-hidden="true"></span> <span aria-hidden="true"></span> <span aria-hidden="true"></span> </a> <div class="logo"> <a href="index.html"> <h1 class="navbar-item">Wabot Documentation</h1> </a> </div> <div class="menu"> <div class="navigation"> <a href="index.html" class="link" > API Documentation </a> <a class="link user-link " href="https://github.com/luiscruzga/wabot" > Github </a> <a class="link user-link " href="https://github.com/luiscruzga/wabot/blob/master/example/test.js" > Example </a> </div> </div> </div> </div> <div id="main"> <div class="sidebar " id="sidebarNav" > <div class="search-wrapper"> <input id="search" type="text" placeholder="Search docs..." class="input"> </div> <nav> <h2><a href="index.html">Documentation</a></h2><div class="category"><h3>Namespaces</h3><ul><li><a href="Plugins.html">Plugins</a></li></ul><h3>Classes</h3><ul><li><a href="WABOT.html">WABOT</a></li></ul><h3>Events</h3><ul><li><a href="WABOT.html#event:command">command</a></li><li><a href="WABOT.html#event:message">message</a></li><li><a href="WABOT.html#event:onAddedToGroup">onAddedToGroup</a></li><li><a href="WABOT.html#event:onBattery">onBattery</a></li><li><a href="WABOT.html#event:onMessageFromBloqued">onMessageFromBloqued</a></li><li><a href="WABOT.html#event:onMessageFromNoPrivileges">onMessageFromNoPrivileges</a></li><li><a href="WABOT.html#event:onMessageMediaUploadedEvent">onMessageMediaUploadedEvent</a></li><li><a href="WABOT.html#event:onParticipantsChanged">onParticipantsChanged</a></li><li><a href="WABOT.html#event:onPlugged">onPlugged</a></li><li><a href="WABOT.html#event:onRemovedFromGroup">onRemovedFromGroup</a></li><li><a href="WABOT.html#event:onStateChanged">onStateChanged</a></li><li><a href="WABOT.html#event:ready">ready</a></li><li><a href="WABOT.html#event:vcard">vcard</a></li><li><a href="WABOT.html#event:waitNewAcknowledgements">waitNewAcknowledgements</a></li></ul></div> </nav> </div> <div class="core" id="main-content-wrapper"> <div class="content"> <header class="page-title"> <p>Class</p> <h1>WABOT</h1> </header> <section> <header> <h2><span class="attribs"><span class="type-signature"></span></span>WABOT<span class="signature">(opts)</span><span class="type-signature"></span></h2> </header> <article> <div class="container-overview"> <div class='vertical-section'> <div class="members"> <div class="member"> <div class=name> <span class="tag">Constructor</span> </div> <h4 class="name" id="WABOT"> <a class="href-link" href="#WABOT">#</a> <span class="code-name"> new WABOT<span class="signature">(opts)</span><span class="type-signature"></span> </span> </h4> <div class="description"> <p>WABOT class for interact whit whatsapp web</p> </div> <h5>Parameters:</h5> <div class="table-container"> <table class="params table"> <thead> <tr> <th>Name</th> <th>Type</th> <th class="last">Description</th> </tr> </thead> <tbody> <tr class="deep-level-0"> <td class="name"><code>opts</code></td> <td class="type"> <span class="param-type">object</span> </td> <td class="description last"><p>Wabot options</p></td> </tr> <tr class="deep-level-1"> <td class="name"><code>puppeteerConfig</code></td> <td class="type"> <span class="param-type">object</span> </td> <td class="description last"><p>Puppeteer launch options</p></td> </tr> <tr class="deep-level-1"> <td class="name"><code>puppeteerConfig.WAUrl</code></td> <td class="type"> <span class="param-type">string</span> </td> <td class="description last"><p>Whatsapp Web Url</p></td> </tr> <tr class="deep-level-1"> <td class="name"><code>puppeteerConfig.sessionPath</code></td> <td class="type"> <span class="param-type">string</span> </td> <td class="description last"><p>Path to save the session info for restore this in the future</p></td> </tr> <tr class="deep-level-1"> <td class="name"><code>puppeteerConfig.viewBrowser</code></td> <td class="type"> <span class="param-type">boolean</span> </td> <td class="description last"><p>Show browser (headless)</p></td> </tr> <tr class="deep-level-1"> <td class="name"><code>puppeteerConfig.opendevtools</code></td> <td class="type"> <span class="param-type">boolean</span> </td> <td class="description last"><p>Show devtools (console)</p></td> </tr> <tr class="deep-level-1"> <td class="name"><code>puppeteerConfig.userAgent</code></td> <td class="type"> <span class="param-type">string</span> </td> <td class="description last"><p>User Agent for web browser</p></td> </tr> <tr class="deep-level-1"> <td class="name"><code>puppeteerConfig.width</code></td> <td class="type"> <span class="param-type">number</span> </td> <td class="description last"><p>Width for web browser</p></td> </tr> <tr class="deep-level-1"> <td class="name"><code>puppeteerConfig.heigth</code></td> <td class="type"> <span class="param-type">number</span> </td> <td class="description last"><p>Height for web browser</p></td> </tr> <tr class="deep-level-1"> <td class="name"><code>puppeteerConfig.dowloadChromeVersion</code></td> <td class="type"> <span class="param-type">boolean</span> </td> <td class="description last"><p>Download chromium browser or use local google chome</p></td> </tr> <tr class="deep-level-1"> <td class="name"><code>puppeteerConfig.chromeVersion</code></td> <td class="type"> <span class="param-type">number</span> </td> <td class="description last"><p>Version of chromium to download</p></td> </tr> <tr class="deep-level-1"> <td class="name"><code>puppeteerConfig.localChromePath</code></td> <td class="type"> <span class="param-type">string</span> </td> <td class="description last"><p>Google chrome executable path</p></td> </tr> <tr class="deep-level-1"> <td class="name"><code>puppeteerConfig.getInitScreenshot</code></td> <td class="type"> <span class="param-type">string</span> </td> <td class="description last"><p>Allows you to take a screenshot when you start WhatsApp in order to detect problems when running in headless mode</p></td> </tr> <tr class="deep-level-1"> <td class="name"><code>puppeteerConfig.localChromePath</code></td> <td class="type"> <span class="param-type">string</span> </td> <td class="description last"><p>File name to save the screenshot</p></td> </tr> <tr class="deep-level-1"> <td class="name"><code>puppeteerConfig.args</code></td> <td class="type"> <span class="param-type">string</span> </td> <td class="description last"><p>Args to open the web browser</p></td> </tr> <tr class="deep-level-1"> <td class="name"><code>intentConfig</code></td> <td class="type"> <span class="param-type">object</span> </td> <td class="description last"><p>Execution and internal options</p></td> </tr> <tr class="deep-level-1"> <td class="name"><code>intentConfig.showContent</code></td> <td class="type"> <span class="param-type">boolean</span> </td> <td class="description last"><p>Display chats in browser</p></td> </tr> <tr class="deep-level-1"> <td class="name"><code>intentConfig.debug</code></td> <td class="type"> <span class="param-type">string</span> </td> <td class="description last"><p>Debug mode for view console logs</p></td> </tr> <tr class="deep-level-1"> <td class="name"><code>intentConfig.removeBgApis</code></td> <td class="type"> <span class="param-type">Array.&lt;string></span> </td> <td class="description last"><p>Api keys for https://www.remove.bg</p></td> </tr> <tr class="deep-level-1"> <td class="name"><code>intentConfig.plugins</code></td> <td class="type"> <span class="param-type">object</span> </td> <td class="description last"><p>Options for plugins config</p></td> </tr> <tr class="deep-level-1"> <td class="name"><code>intentConfig.plugins.folder</code></td> <td class="type"> <span class="param-type">string</span> </td> <td class="description last"><p>Folder containing the plugins</p></td> </tr> <tr class="deep-level-1"> <td class="name"><code>intentConfig.plugins.plugins</code></td> <td class="type"> <span class="param-type">Array.&lt;string></span> </td> <td class="description last"><p>Array containing the plugin names to use</p></td> </tr> <tr class="deep-level-1"> <td class="name"><code>intentConfig.plugins.setup</code></td> <td class="type"> <span class="param-type">object</span> </td> <td class="description last"><p>Configuration of each plugin</p></td> </tr> <tr class="deep-level-1"> <td class="name"><code>intentConfig.executions</code></td> <td class="type"> <span class="param-type">object</span> </td> <td class="description last"><p>Options for control chats</p></td> </tr> <tr class="deep-level-1"> <td class="name"><code>intentConfig.executions.reponseUsers</code></td> <td class="type"> <span class="param-type">boolean</span> </td> <td class="description last"><p>Control response to users</p></td> </tr> <tr class="deep-level-1"> <td class="name"><code>intentConfig.executions.simulateTyping</code></td> <td class="type"> <span class="param-type">boolean</span> </td> <td class="description last"><p>Simulate typing in chat</p></td> </tr> <tr class="deep-level-1"> <td class="name"><code>intentConfig.executions.timeSimulate</code></td> <td class="type"> <span class="param-type">number</span> </td> <td class="description last"><p>Time in ms for simulate typing</p></td> </tr> <tr class="deep-level-1"> <td class="name"><code>intentConfig.executions.contorlExecutions</code></td> <td class="type"> <span class="param-type">boolean</span> </td> <td class="description last"><p>Control chats to enqueue messages</p></td> </tr> <tr class="deep-level-1"> <td class="name"><code>intentConfig.executions.maxExecutions</code></td> <td class="type"> <span class="param-type">number</span> </td> <td class="description last"><p>Max messages to process in the same time</p></td> </tr> <tr class="deep-level-1"> <td class="name"><code>intentConfig.executions.timeInterval</code></td> <td class="type"> <span class="param-type">number</span> </td> <td class="description last"><p>Time in seconds to queue messages</p></td> </tr> <tr class="deep-level-1"> <td class="name"><code>intentConfig.executions.timePending</code></td> <td class="type"> <span class="param-type">number</span> </td> <td class="description last"><p>Time in minutes to search for pending messages</p></td> </tr> <tr class="deep-level-1"> <td class="name"><code>intentConfig.executions.sendSeen</code></td> <td class="type"> <span class="param-type">boolean</span> </td> <td class="description last"><p>Send seen ticket</p></td> </tr> <tr class="deep-level-1"> <td class="name"><code>intentConfig.executions.sendSeenFull</code></td> <td class="type"> <span class="param-type">boolean</span> </td> <td class="description last"><p>Send seen ticket to all pending messages on login</p></td> </tr> <tr class="deep-level-1"> <td class="name"><code>intentConfig.executions.intervalSendSeen</code></td> <td class="type"> <span class="param-type">number</span> </td> <td class="description last"><p>Time in minutes for search pending messages to send seen</p></td> </tr> <tr class="deep-level-1"> <td class="name"><code>intentConfig.bann</code></td> <td class="type"> <span class="param-type">object</span> </td> <td class="description last"><p>Bann options</p></td> </tr> <tr class="deep-level-1"> <td class="name"><code>intentConfig.bann.active</code></td> <td class="type"> <span class="param-type">boolean</span> </td> <td class="description last"><p>Control bann users</p></td> </tr> <tr class="deep-level-1"> <td class="name"><code>intentConfig.bann.timeInterval</code></td> <td class="type"> <span class="param-type">number</span> </td> <td class="description last"><p>Time in seconds to validate spam messages</p></td> </tr> <tr class="deep-level-1"> <td class="name"><code>intentConfig.bann.maxBann</code></td> <td class="type"> <span class="param-type">number</span> </td> <td class="description last"><p>Maximum number of messages allowed in the indicated amount of time</p></td> </tr> <tr class="deep-level-1"> <td class="name"><code>intentConfig.bann.timeBann</code></td> <td class="type"> <span class="param-type">number</span> </td> <td class="description last"><p>Time in minutes for temporary ban</p></td> </tr> <tr class="deep-level-1"> <td class="name"><code>intentConfig.bann.timeInactive</code></td> <td class="type"> <span class="param-type">number</span> </td> <td class="description last"><p>Time in minutes to release banned users who are inactive for the specified time</p></td> </tr> <tr class="deep-level-1"> <td class="name"><code>intentConfig.bann.whiteList</code></td> <td class="type"> <span class="param-type">Array.&lt;string></span> </td> <td class="description last"><p>List of users who will not be banned</p></td> </tr> <tr class="deep-level-1"> <td class="name"><code>intentConfig.messages</code></td> <td class="type"> <span class="param-type">object</span> </td> <td class="description last"><p>Message settings</p></td> </tr> <tr class="deep-level-1"> <td class="name"><code>intentConfig.messages.userBanned</code></td> <td class="type"> <span class="param-type">string</span> </td> <td class="description last"><p>Message to display when a user is banned</p></td> </tr> <tr class="deep-level-1"> <td class="name"><code>intentConfig.messages.groupBanned</code></td> <td class="type"> <span class="param-type">string</span> </td> <td class="description last"><p>Message to display when a group is banned</p></td> </tr> <tr class="deep-level-1"> <td class="name"><code>intentConfig.messages.privileges</code></td> <td class="type"> <span class="param-type">string</span> </td> <td class="description last"><p>Message to display when you do not have privileges to use the bot</p></td> </tr> <tr class="deep-level-1"> <td class="name"><code>intentConfig.blocked</code></td> <td class="type"> <span class="param-type">Array.&lt;string></span> </td> <td class="description last"><p>List of users who cannot use the bot</p></td> </tr> <tr class="deep-level-1"> <td class="name"><code>intentConfig.whiteList</code></td> <td class="type"> <span class="param-type">Array.&lt;string></span> </td> <td class="description last"><p>List of users who can use the bot</p></td> </tr> <tr class="deep-level-1"> <td class="name"><code>intentConfig.commands</code></td> <td class="type"> <span class="param-type">Array.&lt;object></span> </td> <td class="description last"><p>List of commands to evaluate in user messages</p></td> </tr> <tr class="deep-level-1"> <td class="name"><code>intentConfig.commands.name</code></td> <td class="type"> <span class="param-type">string</span> </td> <td class="description last"><p>Name of the command</p></td> </tr> <tr class="deep-level-1"> <td class="name"><code>intentConfig.commands.contains</code></td> <td class="type"> <span class="param-type">Array.&lt;string></span> </td> <td class="description last"><p>Contains word on message</p></td> </tr> <tr class="deep-level-1"> <td class="name"><code>intentConfig.commands.exact</code></td> <td class="type"> <span class="param-type">Array.&lt;string></span> </td> <td class="description last"><p>Message is the same as what is contained here</p></td> </tr> <tr class="deep-level-1"> <td class="name"><code>intentConfig.commands.params</code></td> <td class="type"> <span class="param-type">Array.&lt;object></span> </td> <td class="description last"><p>Parameters to require</p></td> </tr> <tr class="deep-level-1"> <td class="name"><code>intentConfig.commands.params.name</code></td> <td class="type"> <span class="param-type">string</span> </td> <td class="description last"><p>Name of the param</p></td> </tr> <tr class="deep-level-1"> <td class="name"><code>intentConfig.commands.params.isNumber</code></td> <td class="type"> <span class="param-type">boolean</span> </td> <td class="description last"><p>Is a number param</p></td> </tr> <tr class="deep-level-1"> <td class="name"><code>intentConfig.commands.params.request</code></td> <td class="type"> <span class="param-type">Array.&lt;string></span> </td> <td class="description last"><p>Questions to request the parameter</p></td> </tr> <tr class="deep-level-1"> <td class="name"><code>intentConfig.commands.params.values</code></td> <td class="type"> <span class="param-type">Array.&lt;string></span> </td> <td class="description last"><p>Allowed values. If any is allowed, &quot;any&quot; must be indicated</p></td> </tr> <tr class="deep-level-1"> <td class="name"><code>intentConfig.commands.params.badResponse</code></td> <td class="type"> <span class="param-type">Array.&lt;string></span> </td> <td class="description last"><p>Messages to send in case of illegal values</p></td> </tr> <tr class="deep-level-1"> <td class="name"><code>session</code></td> <td class="type"> <span class="param-type">object</span> </td> <td class="description last"><p>Object containing session information. Can be used to restore the session.</p></td> </tr> <tr class="deep-level-1"> <td class="name"><code>session.WABrowserId</code></td> <td class="type"> <span class="param-type">string</span> </td> <td class="description last"></td> </tr> <tr class="deep-level-1"> <td class="name"><code>session.WASecretBundle</code></td> <td class="type"> <span class="param-type">string</span> </td> <td class="description last"></td> </tr> <tr class="deep-level-1"> <td class="name"><code>session.WAToken1</code></td> <td class="type"> <span class="param-type">string</span> </td> <td class="description last"></td> </tr> <tr class="deep-level-1"> <td class="name"><code>session.WAToken2</code></td> <td class="type"> <span class="param-type">string</span> </td> <td class="description last"></td> </tr> </tbody> </table> </div> <dl class="details"> <p class="tag-source"> <a href="src_WABOT.js.html" class="button">View Source</a> <span> <a href="src_WABOT.js.html">src/WABOT.js</a>, <a href="src_WABOT.js.html#line30">line 30</a> </span> </p> </dl> <div class="method-parameter columns"> <div class="column is-2"><label>Fires:</label></div> <div class="column is-10"> <ul> <li><a href="WABOT.html#event:ready">WABOT#event:ready</a></li> <li><a href="WABOT.html#event:onStateChanged">WABOT#event:onStateChanged</a></li> <li><a href="WABOT.html#event:onMessageFromBloqued">WABOT#event:onMessageFromBloqued</a></li> <li><a href="WABOT.html#event:onMessageFromNoPrivileges">WABOT#event:onMessageFromNoPrivileges</a></li> <li><a href="WABOT.html#event:waitNewAcknowledgements">WABOT#event:waitNewAcknowledgements</a></li> <li><a href="WABOT.html#event:onBattery">WABOT#event:onBattery</a></li> <li><a href="WABOT.html#event:onPlugged">WABOT#event:onPlugged</a></li> <li><a href="WABOT.html#event:onRemovedFromGroup">WABOT#event:onRemovedFromGroup</a></li> <li><a href="WABOT.html#event:onParticipantsChanged">WABOT#event:onParticipantsChanged</a></li> <li><a href="WABOT.html#event:onMessageMediaUploadedEvent">WABOT#event:onMessageMediaUploadedEvent</a></li> <li><a href="WABOT.html#event:vcard">WABOT#event:vcard</a></li> <li><a href="WABOT.html#event:message">WABOT#event:message</a></li> <li><a href="WABOT.html#event:command">WABOT#event:command</a></li> </ul> </div> </div> </div> </div> </div> </div> <h3 class="subsection-title">Extends</h3> <ul> <li>EventEmitter</li> </ul> <div class='vertical-section'> <h1>Methods</h1> <div class="members"> <div class="member"> <h4 class="name" id="archiveChat"> <a class="href-link" href="#archiveChat">#</a> <span class='tag'>async</span> <span class="code-name"> archiveChat<span class="signature">()</span><span class="type-signature"> &rarr; {boolean}</span> </span> </h4> <div class="description"> <p>Enables and returns the archive state of the Chat</p> </div> <dl class="details"> <p class="tag-source"> <a href="src_WABOT.js.html" class="button">View Source</a> <span> <a href="src_WABOT.js.html">src/WABOT.js</a>, <a href="src_WABOT.js.html#line1091">line 1091</a> </span> </p> </dl> <div class='columns method-parameter'> <div class="column is-2"><label>Returns:</label></div> <div class="column is-10"> <div class="columns"> <div class='column is-5 has-text-left'> <label>Type: </label> <span class="param-type">boolean</span> </div> </div> </div> </div> </div> <div class="member"> <h4 class="name" id="archiveChat"> <a class="href-link" href="#archiveChat">#</a> <span class='tag'>async</span> <span class="code-name"> archiveChat<span class="signature">()</span><span class="type-signature"> &rarr; {boolean}</span> </span> </h4> <div class="description"> <p>Enables and returns the archive state of the Chat</p> </div> <dl class="details"> <p class="tag-source"> <a href="src_WABOT.js.html" class="button">View Source</a> <span> <a href="src_WABOT.js.html">src/WABOT.js</a>, <a href="src_WABOT.js.html#line1158">line 1158</a> </span> </p> </dl> <div class='columns method-parameter'> <div class="column is-2"><label>Returns:</label></div> <div class="column is-10"> <div class="columns"> <div class='column is-5 has-text-left'> <label>Type: </label> <span class="param-type">boolean</span> </div> </div> </div> </div> </div> <div class="member"> <h4 class="name" id="createGroup"> <a class="href-link" href="#createGroup">#</a> <span class='tag'>async</span> <span class="code-name"> createGroup<span class="signature">(name, contactsId)</span><span class="type-signature"> &rarr; {Object|string|Object.&lt;string, string>}</span> </span> </h4> <div class="description"> <p>Create a new group</p> </div> <h5>Parameters:</h5> <div class="table-container"> <table class="params table"> <thead> <tr> <th>Name</th> <th>Type</th> <th class="last">Description</th> </tr> </thead> <tbody> <tr class="deep-level-0"> <td class="name"><code>name</code></td> <td class="type"> <span class="param-type">string</span> </td> <td class="description last"><p>group title</p></td> </tr> <tr class="deep-level-0"> <td class="name"><code>contactsId</code></td> <td class="type"> <span class="param-type">Array.&lt;(Contact|string)></span> </td> <td class="description last"><p>an array of Contacts or contact IDs to add to the group</p></td> </tr> </tbody> </table> </div> <dl class="details"> <p class="tag-source"> <a href="src_WABOT.js.html" class="button">View Source</a> <span> <a href="src_WABOT.js.html">src/WABOT.js</a>, <a href="src_WABOT.js.html#line1014">line 1014</a> </span> </p> </dl> <div class='columns method-parameter'> <div class="column is-2"><label>Returns:</label></div> <div class="column is-10"> <div class="columns"> <div class='param-desc column is-7'><p>createRes</p></div> <div class='column is-5 has-text-left'> <label>Type: </label> <span class="param-type">Object</span> </div> </div> <div class="columns"> <div class='param-desc column is-7'><p>createRes.gid - ID for the group that was just created</p></div> <div class='column is-5 has-text-left'> <label>Type: </label> <span class="param-type">string</span> </div> </div> <div class="columns"> <div class='param-desc column is-7'><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></div> <div class='column is-5 has-text-left'> <label>Type: </label> <span class="param-type">Object.&lt;string, string></span> </div> </div> </div> </div> </div> <div class="member"> <h4 class="name" id="downloadFile"> <a class="href-link" href="#downloadFile">#</a> <span class='tag'>async</span> <span class="code-name"> downloadFile<span class="signature">(idMessage)</span><span class="type-signature"> &rarr; {Promise.&lt;string>}</span> </span> </h4> <div class="description"> <p>Download file from message received from others users</p> </div> <h5>Parameters:</h5> <div class="table-container"> <table class="params table"> <thead> <tr> <th>Name</th> <th>Type</th> <th class="last">Description</th> </tr> </thead> <tbody> <tr class="deep-level-0"> <td class="name"><code>idMessage</code></td> <td class="type"> <span class="param-type">string</span> </td> <td class="description last"><p>Message id containing the file to download</p></td> </tr> </tbody> </table> </div> <dl class="details"> <p class="tag-source"> <a href="src_WABOT.js.html" class="button">View Source</a> <span> <a href="src_WABOT.js.html">src/WABOT.js</a>, <a href="src_WABOT.js.html#line642">line 642</a> </span> </p> </dl> <div class='columns method-parameter'> <div class="column is-2"><label>Returns:</label></div> <div class="column is-10"> <div class="columns"> <div class='param-desc column is-7'><p>file in base64 or error message</p></div> <div class='column is-5 has-text-left'> <label>Type: </label> <span class="param-type">Promise.&lt;string></span> </div> </div> </div> </div> </div> <div class="member"> <h4 class="name" id="getAllChats"> <a class="href-link" href="#getAllChats">#</a> <span class='tag'>async</span> <span class="code-name"> getAllChats<span class="signature">()</span><span class="type-signature"> &rarr; {Promise.&lt;Array.&lt;Object>>}</span> </span> </h4> <div class="description"> <p>Get all chats</p> </div> <dl class="details"> <p class="tag-source"> <a href="src_WABOT.js.html" class="button">View Source</a> <span> <a href="src_WABOT.js.html">src/WABOT.js</a>, <a href="src_WABOT.js.html#line948">line 948</a> </span> </p> </dl> <div class='columns method-parameter'> <div class="column is-2"><label>Returns:</label></div> <div class="column is-10"> <div class="columns"> <div class='column is-5 has-text-left'> <label>Type: </label> <span class="param-type">Promise.&lt;Array.&lt;Object>></span> </div> </div> </div> </div> </div> <div class="member"> <h4 class="name" id="getAllChatsWithNewMsg"> <a class="href-link" href="#getAllChatsWithNewMsg">#</a> <span class='tag'>async</span> <span class="code-name"> getAllChatsWithNewMsg<span class="signature">()</span><span class="type-signature"> &rarr; {Promise.&lt;Array.&lt;Object>>}</span> </span> </h4> <div class="description"> <p>Get all chats with pending messages</p> </div> <dl class="details"> <p class="tag-source"> <a href="src_WABOT.js.html" class="button">View Source</a> <span> <a href="src_WABOT.js.html">src/WABOT.js</a>, <a href="src_WABOT.js.html#line956">line 956</a> </span> </p> </dl> <div class='columns method-parameter'> <div class="column is-2"><label>Returns:</label></div> <div class="column is-10"> <div class="columns"> <div class='column is-5 has-text-left'> <label>Type: </label> <span class="param-type">Promise.&lt;Array.&lt;Object>></span> </div> </div> </div> </div> </div> <div class="member"> <h4 class="name" id="getAllContacts"> <a class="href-link" href="#getAllContacts">#</a> <span class='tag'>async</span> <span class="code-name"> getAllContacts<span class="signature">(contactId)</span><span class="type-signature"> &rarr; {Promise.&lt;Array.&lt;Contact>>}</span> </span> </h4> <div class="description"> <p>Gets the list of all users</p> </div> <h5>Parameters:</h5> <div class="table-container"> <table class="params table"> <thead> <tr> <th>Name</th> <th>Type</th> <th class="last">Description</th> </tr> </thead> <tbody> <tr class="deep-level-0"> <td class="name"><code>contactId</code></td> <td class="type"> <span class="param-type">string</span> </td> <td class="description last"></td> </tr> </tbody> </table> </div> <dl class="details"> <p class="tag-source"> <a href="src_WABOT.js.html" class="button">View Source</a> <span> <a href="src_WABOT.js.html">src/WABOT.js</a>, <a href="src_WABOT.js.html#line1023">line 1023</a> </span> </p> </dl> <div class='columns method-parameter'> <div class="column is-2"><label>Returns:</label></div> <div class="column is-10"> <div class="columns"> <div class='column is-5 has-text-left'> <label>Type: </label> <span class="param-type">Promise.&lt;Array.&lt;Contact>></span> </div> </div> </div> </div> </div> <div class="member"> <h4 class="name" id="getAllGroupMetadata"> <a class="href-link" href="#getAllGroupMetadata">#</a> <span class='tag'>async</span> <span class="code-name"> getAllGroupMetadata<span class="signature">()</span><span class="type-signature"> &rarr; {Array|*}</span> </span> </h4> <div class="description"> <p>Fetches all group metadata objects from store</p> </div> <dl class="details"> <p class="tag-source"> <a href="src_WABOT.js.html" class="button">View Source</a> <span> <a href="src_WABOT.js.html">src/WABOT.js</a>, <a href="src_WABOT.js.html#line992">line 992</a> </span> </p> </dl> <div class='columns method-parameter'> <div class="column is-2"><label>Returns:</label></div> <div class="column is-10"> <div class="columns"> <div class='param-desc column is-7'><p>List of group metadata</p></div> <div class='column is-5 has-text-left'> <label>Type: </label> <span class="param-type">Array</span> | <span class="param-type">*</span> </div> </div> </div> </div> </div> <div class="member"> <h4 class="name" id="getAllUnreadMessages"> <a class="href-link" href="#getAllUnreadMessages">#</a> <span class='tag'>async</span> <span class="code-name"> getAllUnreadMessages<span class="signature">()</span><span class="type-signature"> &rarr; {Promise.&lt;Array.&lt;Object>>}</span> </span> </h4> <div class="description"> <p>Get all unread messages</p> </div> <dl class="details"> <p class="tag-source"> <a href="src_WABOT.js.html" class="button">View Source</a> <span> <a href="src_WABOT.js.html">src/WABOT.js</a>, <a href="src_WABOT.js.html#line983">line 983</a> </span> </p> </dl> <div class='columns method-parameter'> <div class="column is-2"><label>Returns:</label></div> <div class="column is-10"> <div class="columns"> <div class='column is-5 has-text-left'> <label>Type: </label> <span class="param-type">Promise.&lt;Array.&lt;Object>></span> </div> </div> </div> </div> </div> <div class="member"> <h4 class="name" id="getBatteryLevel"> <a class="href-link" href="#getBatteryLevel">#</a> <span class='tag'>async</span> <span class="code-name"> getBatteryLevel<span class="signature">()</span><span class="type-signature"> &rarr; {number}</span> </span> </h4> <div class="description"> <p>Get current battery percentage and charging status for the attached device</p> </div> <dl class="details"> <p class="tag-source"> <a href="src_WABOT.js.html" class="button">View Source</a> <span> <a href="src_WABOT.js.html">src/WABOT.js</a>, <a href="src_WABOT.js.html#line940">line 940</a> </span> </p> </dl> <div class='columns method-parameter'> <div class="column is-2"><label>Returns:</label></div> <div class="column is-10"> <div class="columns"> <div class='param-desc column is-7'><p>battery - The current battery percentage</p></div> <div class='column is-5 has-text-left'> <label>Type: </label> <span class="param-type">number</span> </div> </div> </div> </div> </div> <div class="member"> <h4 class="name" id="getChatById"> <a class="href-link" href="#getChatById">#</a> <span class='tag'>async</span> <span class="code-name"> getChatById<span class="signature">(chatId)</span><span class="type-signature"> &rarr; {Promise.&lt;Chat>}</span> </span> </h4> <div class="description"> <p>Get chat instance by ID</p> </div> <h5>Parameters:</h5> <div class="table-container"> <table class="params table"> <thead> <tr> <th>Name</th> <th>Type</th> <th class="last">Description</th> </tr> </thead> <tbody> <tr class="deep-level-0"> <td class="name"><code>chatId</code></td> <td class="type"> <span class="param-type">string</span> </td> <td class="description last"></td> </tr> </tbody> </table> </div> <dl class="details"> <p class="tag-source"> <a href="src_WABOT.js.html" class="button">View Source</a> <span> <a href="src_WABOT.js.html">src/WABOT.js</a>, <a href="src_WABOT.js.html#line965">line 965</a> </span> </p> </dl> <div class='columns method-parameter'> <div class="column is-2"><label>Returns:</label></div> <div class="column is-10"> <div class="columns"> <div class='column is-5 has-text-left'> <label>Type: </label> <span class="param-type">Promise.&lt;Chat></span> </div> </div> </div> </div> </div> <div class="member"> <h4 class="name" id="getContactById"> <a class="href-link" href="#getContactById">#</a> <span class='tag'>async</span> <span class="code-name"> getContactById<span class="signature">(contactId)</span><span class="type-signature"> &rarr; {Promise.&lt;Contact>}</span> </span> </h4> <div class="description"> <p>Get contact instance by ID</p> </div> <h5>Parameters:</h5> <div class="table-container"> <table class="params table"> <thead> <tr> <th>Name</th> <th>Type</th> <th class="last">Description</th> </tr> </thead> <tbody> <tr class="deep-level-0"> <td class="name"><code>contactId</code></td> <td class="type"> <span class="param-type">string</span> </td> <td class="description last"></td> </tr> </tbody> </table> </div> <dl class="details"> <p class="tag-source"> <a href="src_WABOT.js.html" class="button">View Source</a> <span> <a href="src_WABOT.js.html">src/WABOT.js</a>, <a href="src_WABOT.js.html#line1041">line 1041</a> </span> </p> </dl> <div class='columns method-parameter'> <div class="column is-2"><label>Returns:</label></div> <div class="column is-10"> <div class="columns"> <div class='column is-5 has-text-left'> <label>Type: </label> <span class="param-type">Promise.&lt;Contact></span> </div> </div> </div> </div> </div> <div class="member"> <h4 class="name" id="getGroupInviteLink"> <a class="href-link" href="#getGroupInviteLink">#</a> <span class='tag'>async</span> <span class="code-name"> getGroupInviteLink<span class="signature">(chatId)</span><span class="type-signature"> &rarr; {Promise.&lt;string>}</span> </span> </h4> <div class="description"> <p>Get the invite code's group</p> </div> <h5>Parameters:</h5> <div class="table-container"> <table class="params table"> <thead> <tr> <th>Name</th> <th>Type</th> <th class="last">Description</th> </tr> </thead> <tbody> <tr class="deep-level-0"> <td class="name"><code>chatId</code></td> <td class="type"> <span class="param-type">string</span> </td> <td class="description last"></td> </tr> </tbody> </table> </div> <dl class="details"> <p class="tag-source"> <a href="src_WABOT.js.html" class="button">View Source</a> <span> <a href="src_WABOT.js.html">src/WABOT.js</a>, <a href="src_WABOT.js.html#line1059">line 1059</a> </span> </p> </dl> <div class='columns method-parameter'> <div class="column is-2"><label>Returns:</label></div> <div class="column is-10"> <di