chore(v1.34.7): bump version and generate docs

This commit is contained in:
WWebJS Bot 2026-04-24 20:10:36 +00:00
commit f935b50011
77 changed files with 5207 additions and 2669 deletions

6
docs/Base.html generated
View file

@ -4,7 +4,7 @@
<head> <head>
<meta name="generator" content="JSDoc 3.6.11"> <meta name="generator" content="JSDoc 3.6.11">
<meta charset="utf-8"> <meta charset="utf-8">
<title>whatsapp-web.js 1.34.6 &raquo; Class: Base</title> <title>whatsapp-web.js 1.34.7 &raquo; Class: Base</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/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/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 rel="stylesheet" href="https://brick.a.ssl.fastly.net/Inconsolata:500" type="text/css">
@ -15,7 +15,7 @@
<nav id="jsdoc-navbar" role="navigation" class="jsdoc-navbar"> <nav id="jsdoc-navbar" role="navigation" class="jsdoc-navbar">
<div id="jsdoc-navbar-container"> <div id="jsdoc-navbar-container">
<div id="jsdoc-navbar-content"> <div id="jsdoc-navbar-content">
<a href="index.html" class="jsdoc-navbar-package-name">whatsapp-web.<wbr>js 1.<wbr>34.<wbr>6</a> <a href="index.html" class="jsdoc-navbar-package-name">whatsapp-web.<wbr>js 1.<wbr>34.<wbr>7</a>
</div> </div>
</div> </div>
</nav> </nav>
@ -50,7 +50,7 @@
<footer id="jsdoc-footer" class="jsdoc-footer"> <footer id="jsdoc-footer" class="jsdoc-footer">
<div id="jsdoc-footer-container"> <div id="jsdoc-footer-container">
<p> <p>
Generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc</a> 3.6.11 on January 30, 2026. Generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc</a> 3.6.11 on April 24, 2026.
</p> </p>
</div> </div>
</footer> </footer>

View file

@ -4,7 +4,7 @@
<head> <head>
<meta name="generator" content="JSDoc 3.6.11"> <meta name="generator" content="JSDoc 3.6.11">
<meta charset="utf-8"> <meta charset="utf-8">
<title>whatsapp-web.js 1.34.6 &raquo; Class: BaseAuthStrategy</title> <title>whatsapp-web.js 1.34.7 &raquo; Class: BaseAuthStrategy</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/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/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 rel="stylesheet" href="https://brick.a.ssl.fastly.net/Inconsolata:500" type="text/css">
@ -15,7 +15,7 @@
<nav id="jsdoc-navbar" role="navigation" class="jsdoc-navbar"> <nav id="jsdoc-navbar" role="navigation" class="jsdoc-navbar">
<div id="jsdoc-navbar-container"> <div id="jsdoc-navbar-container">
<div id="jsdoc-navbar-content"> <div id="jsdoc-navbar-content">
<a href="index.html" class="jsdoc-navbar-package-name">whatsapp-web.<wbr>js 1.<wbr>34.<wbr>6</a> <a href="index.html" class="jsdoc-navbar-package-name">whatsapp-web.<wbr>js 1.<wbr>34.<wbr>7</a>
</div> </div>
</div> </div>
</nav> </nav>
@ -50,7 +50,7 @@
<footer id="jsdoc-footer" class="jsdoc-footer"> <footer id="jsdoc-footer" class="jsdoc-footer">
<div id="jsdoc-footer-container"> <div id="jsdoc-footer-container">
<p> <p>
Generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc</a> 3.6.11 on January 30, 2026. Generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc</a> 3.6.11 on April 24, 2026.
</p> </p>
</div> </div>
</footer> </footer>

6
docs/Broadcast.html generated
View file

@ -4,7 +4,7 @@
<head> <head>
<meta name="generator" content="JSDoc 3.6.11"> <meta name="generator" content="JSDoc 3.6.11">
<meta charset="utf-8"> <meta charset="utf-8">
<title>whatsapp-web.js 1.34.6 &raquo; Class: Broadcast</title> <title>whatsapp-web.js 1.34.7 &raquo; Class: Broadcast</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/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/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 rel="stylesheet" href="https://brick.a.ssl.fastly.net/Inconsolata:500" type="text/css">
@ -15,7 +15,7 @@
<nav id="jsdoc-navbar" role="navigation" class="jsdoc-navbar"> <nav id="jsdoc-navbar" role="navigation" class="jsdoc-navbar">
<div id="jsdoc-navbar-container"> <div id="jsdoc-navbar-container">
<div id="jsdoc-navbar-content"> <div id="jsdoc-navbar-content">
<a href="index.html" class="jsdoc-navbar-package-name">whatsapp-web.<wbr>js 1.<wbr>34.<wbr>6</a> <a href="index.html" class="jsdoc-navbar-package-name">whatsapp-web.<wbr>js 1.<wbr>34.<wbr>7</a>
</div> </div>
</div> </div>
</nav> </nav>
@ -152,7 +152,7 @@
<footer id="jsdoc-footer" class="jsdoc-footer"> <footer id="jsdoc-footer" class="jsdoc-footer">
<div id="jsdoc-footer-container"> <div id="jsdoc-footer-container">
<p> <p>
Generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc</a> 3.6.11 on January 30, 2026. Generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc</a> 3.6.11 on April 24, 2026.
</p> </p>
</div> </div>
</footer> </footer>

View file

@ -4,7 +4,7 @@
<head> <head>
<meta name="generator" content="JSDoc 3.6.11"> <meta name="generator" content="JSDoc 3.6.11">
<meta charset="utf-8"> <meta charset="utf-8">
<title>whatsapp-web.js 1.34.6 &raquo; Class: BusinessContact</title> <title>whatsapp-web.js 1.34.7 &raquo; Class: BusinessContact</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/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/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 rel="stylesheet" href="https://brick.a.ssl.fastly.net/Inconsolata:500" type="text/css">
@ -15,7 +15,7 @@
<nav id="jsdoc-navbar" role="navigation" class="jsdoc-navbar"> <nav id="jsdoc-navbar" role="navigation" class="jsdoc-navbar">
<div id="jsdoc-navbar-container"> <div id="jsdoc-navbar-container">
<div id="jsdoc-navbar-content"> <div id="jsdoc-navbar-content">
<a href="index.html" class="jsdoc-navbar-package-name">whatsapp-web.<wbr>js 1.<wbr>34.<wbr>6</a> <a href="index.html" class="jsdoc-navbar-package-name">whatsapp-web.<wbr>js 1.<wbr>34.<wbr>7</a>
</div> </div>
</div> </div>
</nav> </nav>
@ -338,7 +338,7 @@
<footer id="jsdoc-footer" class="jsdoc-footer"> <footer id="jsdoc-footer" class="jsdoc-footer">
<div id="jsdoc-footer-container"> <div id="jsdoc-footer-container">
<p> <p>
Generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc</a> 3.6.11 on January 30, 2026. Generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc</a> 3.6.11 on April 24, 2026.
</p> </p>
</div> </div>
</footer> </footer>

6
docs/Buttons.html generated
View file

@ -4,7 +4,7 @@
<head> <head>
<meta name="generator" content="JSDoc 3.6.11"> <meta name="generator" content="JSDoc 3.6.11">
<meta charset="utf-8"> <meta charset="utf-8">
<title>whatsapp-web.js 1.34.6 &raquo; Class: Buttons</title> <title>whatsapp-web.js 1.34.7 &raquo; Class: Buttons</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/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/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 rel="stylesheet" href="https://brick.a.ssl.fastly.net/Inconsolata:500" type="text/css">
@ -15,7 +15,7 @@
<nav id="jsdoc-navbar" role="navigation" class="jsdoc-navbar"> <nav id="jsdoc-navbar" role="navigation" class="jsdoc-navbar">
<div id="jsdoc-navbar-container"> <div id="jsdoc-navbar-container">
<div id="jsdoc-navbar-content"> <div id="jsdoc-navbar-content">
<a href="index.html" class="jsdoc-navbar-package-name">whatsapp-web.<wbr>js 1.<wbr>34.<wbr>6</a> <a href="index.html" class="jsdoc-navbar-package-name">whatsapp-web.<wbr>js 1.<wbr>34.<wbr>7</a>
</div> </div>
</div> </div>
</nav> </nav>
@ -234,7 +234,7 @@ Returns: [{ buttonId:&#x27;customId&#x27;,buttonText:{&#x27;displayText&#x27;:&#
<footer id="jsdoc-footer" class="jsdoc-footer"> <footer id="jsdoc-footer" class="jsdoc-footer">
<div id="jsdoc-footer-container"> <div id="jsdoc-footer-container">
<p> <p>
Generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc</a> 3.6.11 on January 30, 2026. Generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc</a> 3.6.11 on April 24, 2026.
</p> </p>
</div> </div>
</footer> </footer>

6
docs/Call.html generated
View file

@ -4,7 +4,7 @@
<head> <head>
<meta name="generator" content="JSDoc 3.6.11"> <meta name="generator" content="JSDoc 3.6.11">
<meta charset="utf-8"> <meta charset="utf-8">
<title>whatsapp-web.js 1.34.6 &raquo; Class: Call</title> <title>whatsapp-web.js 1.34.7 &raquo; Class: Call</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/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/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 rel="stylesheet" href="https://brick.a.ssl.fastly.net/Inconsolata:500" type="text/css">
@ -15,7 +15,7 @@
<nav id="jsdoc-navbar" role="navigation" class="jsdoc-navbar"> <nav id="jsdoc-navbar" role="navigation" class="jsdoc-navbar">
<div id="jsdoc-navbar-container"> <div id="jsdoc-navbar-container">
<div id="jsdoc-navbar-content"> <div id="jsdoc-navbar-content">
<a href="index.html" class="jsdoc-navbar-package-name">whatsapp-web.<wbr>js 1.<wbr>34.<wbr>6</a> <a href="index.html" class="jsdoc-navbar-package-name">whatsapp-web.<wbr>js 1.<wbr>34.<wbr>7</a>
</div> </div>
</div> </div>
</nav> </nav>
@ -168,7 +168,7 @@
<footer id="jsdoc-footer" class="jsdoc-footer"> <footer id="jsdoc-footer" class="jsdoc-footer">
<div id="jsdoc-footer-container"> <div id="jsdoc-footer-container">
<p> <p>
Generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc</a> 3.6.11 on January 30, 2026. Generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc</a> 3.6.11 on April 24, 2026.
</p> </p>
</div> </div>
</footer> </footer>

6
docs/Channel.html generated
View file

@ -4,7 +4,7 @@
<head> <head>
<meta name="generator" content="JSDoc 3.6.11"> <meta name="generator" content="JSDoc 3.6.11">
<meta charset="utf-8"> <meta charset="utf-8">
<title>whatsapp-web.js 1.34.6 &raquo; Class: Channel</title> <title>whatsapp-web.js 1.34.7 &raquo; Class: Channel</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/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/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 rel="stylesheet" href="https://brick.a.ssl.fastly.net/Inconsolata:500" type="text/css">
@ -15,7 +15,7 @@
<nav id="jsdoc-navbar" role="navigation" class="jsdoc-navbar"> <nav id="jsdoc-navbar" role="navigation" class="jsdoc-navbar">
<div id="jsdoc-navbar-container"> <div id="jsdoc-navbar-container">
<div id="jsdoc-navbar-content"> <div id="jsdoc-navbar-content">
<a href="index.html" class="jsdoc-navbar-package-name">whatsapp-web.<wbr>js 1.<wbr>34.<wbr>6</a> <a href="index.html" class="jsdoc-navbar-package-name">whatsapp-web.<wbr>js 1.<wbr>34.<wbr>7</a>
</div> </div>
</div> </div>
</nav> </nav>
@ -900,7 +900,7 @@
<footer id="jsdoc-footer" class="jsdoc-footer"> <footer id="jsdoc-footer" class="jsdoc-footer">
<div id="jsdoc-footer-container"> <div id="jsdoc-footer-container">
<p> <p>
Generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc</a> 3.6.11 on January 30, 2026. Generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc</a> 3.6.11 on April 24, 2026.
</p> </p>
</div> </div>
</footer> </footer>

22
docs/Chat.html generated
View file

@ -4,7 +4,7 @@
<head> <head>
<meta name="generator" content="JSDoc 3.6.11"> <meta name="generator" content="JSDoc 3.6.11">
<meta charset="utf-8"> <meta charset="utf-8">
<title>whatsapp-web.js 1.34.6 &raquo; Class: Chat</title> <title>whatsapp-web.js 1.34.7 &raquo; Class: Chat</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/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/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 rel="stylesheet" href="https://brick.a.ssl.fastly.net/Inconsolata:500" type="text/css">
@ -15,7 +15,7 @@
<nav id="jsdoc-navbar" role="navigation" class="jsdoc-navbar"> <nav id="jsdoc-navbar" role="navigation" class="jsdoc-navbar">
<div id="jsdoc-navbar-container"> <div id="jsdoc-navbar-container">
<div id="jsdoc-navbar-content"> <div id="jsdoc-navbar-content">
<a href="index.html" class="jsdoc-navbar-package-name">whatsapp-web.<wbr>js 1.<wbr>34.<wbr>6</a> <a href="index.html" class="jsdoc-navbar-package-name">whatsapp-web.<wbr>js 1.<wbr>34.<wbr>7</a>
</div> </div>
</div> </div>
</nav> </nav>
@ -48,13 +48,16 @@
<dt><a href="Chat.html#isGroup">isGroup</a></dt> <dt><a href="Chat.html#isGroup">isGroup</a></dt>
<dd> <dd>
</dd> </dd>
<dt><a href="Chat.html#isMuted">isMuted</a></dt> <dt><a href="Chat.html#isLocked">isLocked</a></dt>
<dd> <dd>
</dd> </dd>
</dl> </dl>
</div> </div>
<div class="summary-column"> <div class="summary-column">
<dl class="dl-summary-callout"> <dl class="dl-summary-callout">
<dt><a href="Chat.html#isMuted">isMuted</a></dt>
<dd>
</dd>
<dt><a href="Chat.html#isReadOnly">isReadOnly</a></dt> <dt><a href="Chat.html#isReadOnly">isReadOnly</a></dt>
<dd> <dd>
</dd> </dd>
@ -64,13 +67,13 @@
<dt><a href="Chat.html#muteExpiration">muteExpiration</a></dt> <dt><a href="Chat.html#muteExpiration">muteExpiration</a></dt>
<dd> <dd>
</dd> </dd>
<dt><a href="Chat.html#name">name</a></dt>
<dd>
</dd>
</dl> </dl>
</div> </div>
<div class="summary-column"> <div class="summary-column">
<dl class="dl-summary-callout"> <dl class="dl-summary-callout">
<dt><a href="Chat.html#name">name</a></dt>
<dd>
</dd>
<dt><a href="Chat.html#pinned">pinned</a></dt> <dt><a href="Chat.html#pinned">pinned</a></dt>
<dd> <dd>
</dd> </dd>
@ -193,6 +196,11 @@
<p>Indicates if the Chat is a Group Chat</p> <p>Indicates if the Chat is a Group Chat</p>
<dl class="dl-compact"> <dl class="dl-compact">
</dl> </dl>
<h3 id="isLocked"><span class="symbol-name">isLocked</span><small class="property-type">
&nbsp;boolean</small></h3>
<p>Indicates if the Chat is locked</p>
<dl class="dl-compact">
</dl>
<h3 id="isMuted"><span class="symbol-name">isMuted</span><small class="property-type"> <h3 id="isMuted"><span class="symbol-name">isMuted</span><small class="property-type">
&nbsp;boolean</small></h3> &nbsp;boolean</small></h3>
<p>Indicates if the chat is muted or not</p> <p>Indicates if the chat is muted or not</p>
@ -636,7 +644,7 @@
<footer id="jsdoc-footer" class="jsdoc-footer"> <footer id="jsdoc-footer" class="jsdoc-footer">
<div id="jsdoc-footer-container"> <div id="jsdoc-footer-container">
<p> <p>
Generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc</a> 3.6.11 on January 30, 2026. Generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc</a> 3.6.11 on April 24, 2026.
</p> </p>
</div> </div>
</footer> </footer>

243
docs/Client.html generated
View file

@ -3,7 +3,7 @@
<head> <head>
<meta name="generator" content="JSDoc 3.6.11"> <meta name="generator" content="JSDoc 3.6.11">
<meta charset="utf-8"> <meta charset="utf-8">
<title>whatsapp-web.js 1.34.6 &raquo; Class: Client</title> <title>whatsapp-web.js 1.34.7 &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/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/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 rel="stylesheet" href="https://brick.a.ssl.fastly.net/Inconsolata:500" type="text/css">
@ -13,7 +13,7 @@
<nav id="jsdoc-navbar" role="navigation" class="jsdoc-navbar"> <nav id="jsdoc-navbar" role="navigation" class="jsdoc-navbar">
<div id="jsdoc-navbar-container"> <div id="jsdoc-navbar-container">
<div id="jsdoc-navbar-content"> <div id="jsdoc-navbar-content">
<a href="index.html" class="jsdoc-navbar-package-name">whatsapp-web.<wbr>js 1.<wbr>34.<wbr>6</a> <a href="index.html" class="jsdoc-navbar-package-name">whatsapp-web.<wbr>js 1.<wbr>34.<wbr>7</a>
</div> </div>
</div> </div>
</nav> </nav>
@ -23,7 +23,7 @@
<div id="jsdoc-content-container"> <div id="jsdoc-content-container">
<div id="jsdoc-main" role="main"> <div id="jsdoc-main" role="main">
<header class="page-header"> <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-66">Client.<wbr>js:66</a></p> <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-82">Client.<wbr>js:82</a></p>
<div class="symbol-classdesc"> <div class="symbol-classdesc">
<p>Starting point for interacting with the WhatsApp Web API</p> <p>Starting point for interacting with the WhatsApp Web API</p>
</div> </div>
@ -107,6 +107,9 @@
<dt><a href="Client.html#attachEventListeners">attachEventListeners()</a></dt> <dt><a href="Client.html#attachEventListeners">attachEventListeners()</a></dt>
<dd> <dd>
</dd> </dd>
<dt><a href="Client.html#cancelPairingCode">cancelPairingCode()</a></dt>
<dd>
</dd>
<dt><a href="Client.html#createCallLink">createCallLink(startTime, callType)</a></dt> <dt><a href="Client.html#createCallLink">createCallLink(startTime, callType)</a></dt>
<dd> <dd>
</dd> </dd>
@ -247,14 +250,14 @@
<dt><a href="Client.html#requestPairingCode">requestPairingCode(phoneNumber[, showNotification][, intervalMs])</a></dt> <dt><a href="Client.html#requestPairingCode">requestPairingCode(phoneNumber[, showNotification][, intervalMs])</a></dt>
<dd> <dd>
</dd> </dd>
<dt><a href="Client.html#resetState">resetState()</a></dt>
<dd>
</dd>
</dl> </dl>
</div> </div>
<div class="summary-column"> <div class="summary-column">
<dl class="dl-summary-callout"> <dl class="dl-summary-callout">
<dt><a href="Client.html#resetState">resetState()</a></dt>
<dd>
</dd>
<dt><a href="Client.html#revokeChannelAdminInvite">revokeChannelAdminInvite(channelId, userId)</a></dt> <dt><a href="Client.html#revokeChannelAdminInvite">revokeChannelAdminInvite(channelId, userId)</a></dt>
<dd> <dd>
</dd> </dd>
@ -282,6 +285,9 @@
<dt><a href="Client.html#sendPresenceUnavailable">sendPresenceUnavailable()</a></dt> <dt><a href="Client.html#sendPresenceUnavailable">sendPresenceUnavailable()</a></dt>
<dd> <dd>
</dd> </dd>
<dt><a href="Client.html#sendReaction">sendReaction(messageId, reaction)</a></dt>
<dd>
</dd>
<dt><a href="Client.html#sendResponseToScheduledEvent">sendResponseToScheduledEvent(response, eventMessageId)</a></dt> <dt><a href="Client.html#sendResponseToScheduledEvent">sendResponseToScheduledEvent(response, eventMessageId)</a></dt>
<dd> <dd>
</dd> </dd>
@ -374,14 +380,14 @@
<dt><a href="Client.html#event:disconnected">disconnected</a></dt> <dt><a href="Client.html#event:disconnected">disconnected</a></dt>
<dd> <dd>
</dd> </dd>
<dt><a href="Client.html#event:group_admin_changed">group_admin_changed</a></dt>
<dd>
</dd>
</dl> </dl>
</div> </div>
<div class="summary-column"> <div class="summary-column">
<dl class="dl-summary-callout"> <dl class="dl-summary-callout">
<dt><a href="Client.html#event:group_admin_changed">group_admin_changed</a></dt>
<dd>
</dd>
<dt><a href="Client.html#event:group_join">group_join</a></dt> <dt><a href="Client.html#event:group_join">group_join</a></dt>
<dd> <dd>
</dd> </dd>
@ -406,14 +412,17 @@
<dt><a href="Client.html#event:message_ack">message_ack</a></dt> <dt><a href="Client.html#event:message_ack">message_ack</a></dt>
<dd> <dd>
</dd> </dd>
<dt><a href="Client.html#event:message_ciphertext">message_ciphertext</a></dt>
<dd>
</dd>
<dt><a href="Client.html#event:message_ciphertext_failed">message_ciphertext_failed</a></dt>
<dd>
</dd>
</dl> </dl>
</div> </div>
<div class="summary-column"> <div class="summary-column">
<dl class="dl-summary-callout"> <dl class="dl-summary-callout">
<dt><a href="Client.html#event:message_ciphertext">message_ciphertext</a></dt>
<dd>
</dd>
<dt><a href="Client.html#event:message_create">message_create</a></dt> <dt><a href="Client.html#event:message_create">message_create</a></dt>
<dd> <dd>
</dd> </dd>
@ -497,7 +506,7 @@
<p>&nbsp;</p> <p>&nbsp;</p>
</td> </td>
<td> <td>
<p>Determines how to save and restore sessions. Will use LegacySessionAuth if options.session is set. Otherwise, NoAuth will be used.</p> <p>Determines how to save and restore sessions. If not set, NoAuth will be used.</p>
</td> </td>
</tr> </tr>
@ -593,36 +602,6 @@
<tr> <tr>
<td> <td>
<p>restartOnAuthFail</p>
</td>
<td>
<p>&nbsp;</p>
</td>
<td>
<p>&nbsp;</p>
</td>
<td>
<p>@deprecated This option should be set directly on the LegacySessionAuth.</p>
</td>
</tr>
<tr>
<td>
<p>session</p>
</td>
<td>
<p>&nbsp;</p>
</td>
<td>
<p>&nbsp;</p>
</td>
<td>
<p>@deprecated Only here for backwards-compatibility. You should move to using LocalAuth, or set the authStrategy to LegacySessionAuth explicitly.</p>
</td>
</tr>
<tr>
<td>
<p>takeoverOnConflict</p> <p>takeoverOnConflict</p>
</td> </td>
<td> <td>
@ -1540,6 +1519,38 @@ Private function</p>
</dl>
<div class="symbol-detail-labels"><span class="label label-async">async</span></div><h3 id="cancelPairingCode"><span class="symbol-name">cancelPairingCode</span><span class="signature"><span class="signature-params">()</span></span></h3> <p>Cancels an active pairing code session and returns to QR code mode</p>
<dl class="dl-compact">
@ -4996,6 +5007,86 @@ the lastMessage property of a found channel will be 'null'</li>
</dl>
<div class="symbol-detail-labels"><span class="label label-async">async</span></div><h3 id="sendReaction"><span class="symbol-name">sendReaction</span><span class="signature"><span class="signature-params">(messageId, reaction)</span>&nbsp;&rarr; <span class="signature-returns"> Promise</span></span></h3> <p>Send an emoji reaction to a specific message</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>messageId</p>
</td>
<td>
<p>string</p>
</td>
<td>
<p>&nbsp;</p>
</td>
<td>
<p>Id of the message to add the reaction.</p>
</td>
</tr>
<tr>
<td>
<p>reaction</p>
</td>
<td>
<p>string</p>
</td>
<td>
<p>&nbsp;</p>
</td>
<td>
<p>Emoji to react with. Send an empty string to remove the reaction.</p>
</td>
</tr>
</tbody>
</table>
</section>
<dl class="dl-compact">
<dt>Returns</dt>
<dd><p><code>Promise</code> </p></dd>
@ -7526,7 +7617,69 @@ that has the membership approval mode turned on</p>
</dl> </dl>
<h3 id="event:message_ciphertext"><span class="symbol-name">message_ciphertext</span></h3> <p>Emitted when messages are edited</p> <h3 id="event:message_ciphertext"><span class="symbol-name">message_ciphertext</span></h3> <p>Emitted when a message is received as ciphertext (not yet decrypted)</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>message</p>
</td>
<td>
<p><a href="Message.html">Message</a></p>
</td>
<td>
<p>&nbsp;</p>
</td>
<td>
</td>
</tr>
</tbody>
</table>
</section>
<dl class="dl-compact">
</dl>
<h3 id="event:message_ciphertext_failed"><span class="symbol-name">message_ciphertext_failed</span></h3> <p>Emitted when a ciphertext message failed to decrypt after recovery attempt</p>
<section> <section>
@ -8237,7 +8390,7 @@ shows a user's current selected option(s) on the poll</p>
<footer id="jsdoc-footer" class="jsdoc-footer"> <footer id="jsdoc-footer" class="jsdoc-footer">
<div id="jsdoc-footer-container"> <div id="jsdoc-footer-container">
<p> <p>
Generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc</a> 3.6.11 on January 30, 2026. Generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc</a> 3.6.11 on April 24, 2026.
</p> </p>
</div> </div>
</footer> </footer>

2022
docs/Client.js.html generated

File diff suppressed because it is too large Load diff

6
docs/ClientInfo.html generated
View file

@ -4,7 +4,7 @@
<head> <head>
<meta name="generator" content="JSDoc 3.6.11"> <meta name="generator" content="JSDoc 3.6.11">
<meta charset="utf-8"> <meta charset="utf-8">
<title>whatsapp-web.js 1.34.6 &raquo; Class: ClientInfo</title> <title>whatsapp-web.js 1.34.7 &raquo; Class: ClientInfo</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/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/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 rel="stylesheet" href="https://brick.a.ssl.fastly.net/Inconsolata:500" type="text/css">
@ -15,7 +15,7 @@
<nav id="jsdoc-navbar" role="navigation" class="jsdoc-navbar"> <nav id="jsdoc-navbar" role="navigation" class="jsdoc-navbar">
<div id="jsdoc-navbar-container"> <div id="jsdoc-navbar-container">
<div id="jsdoc-navbar-content"> <div id="jsdoc-navbar-content">
<a href="index.html" class="jsdoc-navbar-package-name">whatsapp-web.<wbr>js 1.<wbr>34.<wbr>6</a> <a href="index.html" class="jsdoc-navbar-package-name">whatsapp-web.<wbr>js 1.<wbr>34.<wbr>7</a>
</div> </div>
</div> </div>
</nav> </nav>
@ -242,7 +242,7 @@
<footer id="jsdoc-footer" class="jsdoc-footer"> <footer id="jsdoc-footer" class="jsdoc-footer">
<div id="jsdoc-footer-container"> <div id="jsdoc-footer-container">
<p> <p>
Generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc</a> 3.6.11 on January 30, 2026. Generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc</a> 3.6.11 on April 24, 2026.
</p> </p>
</div> </div>
</footer> </footer>

6
docs/Contact.html generated
View file

@ -4,7 +4,7 @@
<head> <head>
<meta name="generator" content="JSDoc 3.6.11"> <meta name="generator" content="JSDoc 3.6.11">
<meta charset="utf-8"> <meta charset="utf-8">
<title>whatsapp-web.js 1.34.6 &raquo; Class: Contact</title> <title>whatsapp-web.js 1.34.7 &raquo; Class: Contact</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/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/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 rel="stylesheet" href="https://brick.a.ssl.fastly.net/Inconsolata:500" type="text/css">
@ -15,7 +15,7 @@
<nav id="jsdoc-navbar" role="navigation" class="jsdoc-navbar"> <nav id="jsdoc-navbar" role="navigation" class="jsdoc-navbar">
<div id="jsdoc-navbar-container"> <div id="jsdoc-navbar-container">
<div id="jsdoc-navbar-content"> <div id="jsdoc-navbar-content">
<a href="index.html" class="jsdoc-navbar-package-name">whatsapp-web.<wbr>js 1.<wbr>34.<wbr>6</a> <a href="index.html" class="jsdoc-navbar-package-name">whatsapp-web.<wbr>js 1.<wbr>34.<wbr>7</a>
</div> </div>
</div> </div>
</nav> </nav>
@ -305,7 +305,7 @@
<footer id="jsdoc-footer" class="jsdoc-footer"> <footer id="jsdoc-footer" class="jsdoc-footer">
<div id="jsdoc-footer-container"> <div id="jsdoc-footer-container">
<p> <p>
Generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc</a> 3.6.11 on January 30, 2026. Generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc</a> 3.6.11 on April 24, 2026.
</p> </p>
</div> </div>
</footer> </footer>

22
docs/GroupChat.html generated
View file

@ -4,7 +4,7 @@
<head> <head>
<meta name="generator" content="JSDoc 3.6.11"> <meta name="generator" content="JSDoc 3.6.11">
<meta charset="utf-8"> <meta charset="utf-8">
<title>whatsapp-web.js 1.34.6 &raquo; Class: GroupChat</title> <title>whatsapp-web.js 1.34.7 &raquo; Class: GroupChat</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/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/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 rel="stylesheet" href="https://brick.a.ssl.fastly.net/Inconsolata:500" type="text/css">
@ -15,7 +15,7 @@
<nav id="jsdoc-navbar" role="navigation" class="jsdoc-navbar"> <nav id="jsdoc-navbar" role="navigation" class="jsdoc-navbar">
<div id="jsdoc-navbar-container"> <div id="jsdoc-navbar-container">
<div id="jsdoc-navbar-content"> <div id="jsdoc-navbar-content">
<a href="index.html" class="jsdoc-navbar-package-name">whatsapp-web.<wbr>js 1.<wbr>34.<wbr>6</a> <a href="index.html" class="jsdoc-navbar-package-name">whatsapp-web.<wbr>js 1.<wbr>34.<wbr>7</a>
</div> </div>
</div> </div>
</nav> </nav>
@ -54,6 +54,9 @@
<dt><a href="GroupChat.html#isGroup">isGroup</a></dt> <dt><a href="GroupChat.html#isGroup">isGroup</a></dt>
<dd> <dd>
</dd> </dd>
<dt><a href="GroupChat.html#isLocked">isLocked</a></dt>
<dd>
</dd>
</dl> </dl>
</div> </div>
<div class="summary-column"> <div class="summary-column">
@ -73,13 +76,13 @@
<dt><a href="GroupChat.html#name">name</a></dt> <dt><a href="GroupChat.html#name">name</a></dt>
<dd> <dd>
</dd> </dd>
<dt><a href="GroupChat.html#owner">owner</a></dt>
<dd>
</dd>
</dl> </dl>
</div> </div>
<div class="summary-column"> <div class="summary-column">
<dl class="dl-summary-callout"> <dl class="dl-summary-callout">
<dt><a href="GroupChat.html#owner">owner</a></dt>
<dd>
</dd>
<dt><a href="GroupChat.html#participants">participants</a></dt> <dt><a href="GroupChat.html#participants">participants</a></dt>
<dd> <dd>
</dd> </dd>
@ -272,6 +275,13 @@
<dt>Inherited from</dt> <dt>Inherited from</dt>
<dd><a href="Chat.html#isGroup">Chat#isGroup</a></dd> <dd><a href="Chat.html#isGroup">Chat#isGroup</a></dd>
</dl> </dl>
<h3 id="isLocked"><span class="symbol-name">isLocked</span><small class="property-type">
&nbsp;unknown</small></h3>
<p>Indicates if the Chat is locked</p>
<dl class="dl-compact">
<dt>Inherited from</dt>
<dd><a href="Chat.html#isLocked">Chat#isLocked</a></dd>
</dl>
<h3 id="isMuted"><span class="symbol-name">isMuted</span><small class="property-type"> <h3 id="isMuted"><span class="symbol-name">isMuted</span><small class="property-type">
&nbsp;unknown</small></h3> &nbsp;unknown</small></h3>
<p>Indicates if the chat is muted or not</p> <p>Indicates if the chat is muted or not</p>
@ -1294,7 +1304,7 @@
<footer id="jsdoc-footer" class="jsdoc-footer"> <footer id="jsdoc-footer" class="jsdoc-footer">
<div id="jsdoc-footer-container"> <div id="jsdoc-footer-container">
<p> <p>
Generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc</a> 3.6.11 on January 30, 2026. Generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc</a> 3.6.11 on April 24, 2026.
</p> </p>
</div> </div>
</footer> </footer>

View file

@ -4,7 +4,7 @@
<head> <head>
<meta name="generator" content="JSDoc 3.6.11"> <meta name="generator" content="JSDoc 3.6.11">
<meta charset="utf-8"> <meta charset="utf-8">
<title>whatsapp-web.js 1.34.6 &raquo; Class: GroupNotification</title> <title>whatsapp-web.js 1.34.7 &raquo; Class: GroupNotification</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/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/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 rel="stylesheet" href="https://brick.a.ssl.fastly.net/Inconsolata:500" type="text/css">
@ -15,7 +15,7 @@
<nav id="jsdoc-navbar" role="navigation" class="jsdoc-navbar"> <nav id="jsdoc-navbar" role="navigation" class="jsdoc-navbar">
<div id="jsdoc-navbar-container"> <div id="jsdoc-navbar-container">
<div id="jsdoc-navbar-content"> <div id="jsdoc-navbar-content">
<a href="index.html" class="jsdoc-navbar-package-name">whatsapp-web.<wbr>js 1.<wbr>34.<wbr>6</a> <a href="index.html" class="jsdoc-navbar-package-name">whatsapp-web.<wbr>js 1.<wbr>34.<wbr>7</a>
</div> </div>
</div> </div>
</nav> </nav>
@ -233,7 +233,7 @@
<footer id="jsdoc-footer" class="jsdoc-footer"> <footer id="jsdoc-footer" class="jsdoc-footer">
<div id="jsdoc-footer-container"> <div id="jsdoc-footer-container">
<p> <p>
Generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc</a> 3.6.11 on January 30, 2026. Generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc</a> 3.6.11 on April 24, 2026.
</p> </p>
</div> </div>
</footer> </footer>

View file

@ -4,7 +4,7 @@
<head> <head>
<meta name="generator" content="JSDoc 3.6.11"> <meta name="generator" content="JSDoc 3.6.11">
<meta charset="utf-8"> <meta charset="utf-8">
<title>whatsapp-web.js 1.34.6 &raquo; Class: InterfaceController</title> <title>whatsapp-web.js 1.34.7 &raquo; Class: InterfaceController</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/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/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 rel="stylesheet" href="https://brick.a.ssl.fastly.net/Inconsolata:500" type="text/css">
@ -15,7 +15,7 @@
<nav id="jsdoc-navbar" role="navigation" class="jsdoc-navbar"> <nav id="jsdoc-navbar" role="navigation" class="jsdoc-navbar">
<div id="jsdoc-navbar-container"> <div id="jsdoc-navbar-container">
<div id="jsdoc-navbar-content"> <div id="jsdoc-navbar-content">
<a href="index.html" class="jsdoc-navbar-package-name">whatsapp-web.<wbr>js 1.<wbr>34.<wbr>6</a> <a href="index.html" class="jsdoc-navbar-package-name">whatsapp-web.<wbr>js 1.<wbr>34.<wbr>7</a>
</div> </div>
</div> </div>
</nav> </nav>
@ -382,7 +382,7 @@
<footer id="jsdoc-footer" class="jsdoc-footer"> <footer id="jsdoc-footer" class="jsdoc-footer">
<div id="jsdoc-footer-container"> <div id="jsdoc-footer-container">
<p> <p>
Generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc</a> 3.6.11 on January 30, 2026. Generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc</a> 3.6.11 on April 24, 2026.
</p> </p>
</div> </div>
</footer> </footer>

6
docs/Label.html generated
View file

@ -4,7 +4,7 @@
<head> <head>
<meta name="generator" content="JSDoc 3.6.11"> <meta name="generator" content="JSDoc 3.6.11">
<meta charset="utf-8"> <meta charset="utf-8">
<title>whatsapp-web.js 1.34.6 &raquo; Class: Label</title> <title>whatsapp-web.js 1.34.7 &raquo; Class: Label</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/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/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 rel="stylesheet" href="https://brick.a.ssl.fastly.net/Inconsolata:500" type="text/css">
@ -15,7 +15,7 @@
<nav id="jsdoc-navbar" role="navigation" class="jsdoc-navbar"> <nav id="jsdoc-navbar" role="navigation" class="jsdoc-navbar">
<div id="jsdoc-navbar-container"> <div id="jsdoc-navbar-container">
<div id="jsdoc-navbar-content"> <div id="jsdoc-navbar-content">
<a href="index.html" class="jsdoc-navbar-package-name">whatsapp-web.<wbr>js 1.<wbr>34.<wbr>6</a> <a href="index.html" class="jsdoc-navbar-package-name">whatsapp-web.<wbr>js 1.<wbr>34.<wbr>7</a>
</div> </div>
</div> </div>
</nav> </nav>
@ -163,7 +163,7 @@
<footer id="jsdoc-footer" class="jsdoc-footer"> <footer id="jsdoc-footer" class="jsdoc-footer">
<div id="jsdoc-footer-container"> <div id="jsdoc-footer-container">
<p> <p>
Generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc</a> 3.6.11 on January 30, 2026. Generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc</a> 3.6.11 on April 24, 2026.
</p> </p>
</div> </div>
</footer> </footer>

6
docs/List.html generated
View file

@ -4,7 +4,7 @@
<head> <head>
<meta name="generator" content="JSDoc 3.6.11"> <meta name="generator" content="JSDoc 3.6.11">
<meta charset="utf-8"> <meta charset="utf-8">
<title>whatsapp-web.js 1.34.6 &raquo; Class: List</title> <title>whatsapp-web.js 1.34.7 &raquo; Class: List</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/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/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 rel="stylesheet" href="https://brick.a.ssl.fastly.net/Inconsolata:500" type="text/css">
@ -15,7 +15,7 @@
<nav id="jsdoc-navbar" role="navigation" class="jsdoc-navbar"> <nav id="jsdoc-navbar" role="navigation" class="jsdoc-navbar">
<div id="jsdoc-navbar-container"> <div id="jsdoc-navbar-container">
<div id="jsdoc-navbar-content"> <div id="jsdoc-navbar-content">
<a href="index.html" class="jsdoc-navbar-package-name">whatsapp-web.<wbr>js 1.<wbr>34.<wbr>6</a> <a href="index.html" class="jsdoc-navbar-package-name">whatsapp-web.<wbr>js 1.<wbr>34.<wbr>7</a>
</div> </div>
</div> </div>
</nav> </nav>
@ -256,7 +256,7 @@ Returns: [{&#x27;title&#x27;:&#x27;sectionTitle&#x27;,&#x27;rows&#x27;:[{&#x27;r
<footer id="jsdoc-footer" class="jsdoc-footer"> <footer id="jsdoc-footer" class="jsdoc-footer">
<div id="jsdoc-footer-container"> <div id="jsdoc-footer-container">
<p> <p>
Generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc</a> 3.6.11 on January 30, 2026. Generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc</a> 3.6.11 on April 24, 2026.
</p> </p>
</div> </div>
</footer> </footer>

6
docs/LocalAuth.html generated
View file

@ -4,7 +4,7 @@
<head> <head>
<meta name="generator" content="JSDoc 3.6.11"> <meta name="generator" content="JSDoc 3.6.11">
<meta charset="utf-8"> <meta charset="utf-8">
<title>whatsapp-web.js 1.34.6 &raquo; Class: LocalAuth</title> <title>whatsapp-web.js 1.34.7 &raquo; Class: LocalAuth</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/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/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 rel="stylesheet" href="https://brick.a.ssl.fastly.net/Inconsolata:500" type="text/css">
@ -15,7 +15,7 @@
<nav id="jsdoc-navbar" role="navigation" class="jsdoc-navbar"> <nav id="jsdoc-navbar" role="navigation" class="jsdoc-navbar">
<div id="jsdoc-navbar-container"> <div id="jsdoc-navbar-container">
<div id="jsdoc-navbar-content"> <div id="jsdoc-navbar-content">
<a href="index.html" class="jsdoc-navbar-package-name">whatsapp-web.<wbr>js 1.<wbr>34.<wbr>6</a> <a href="index.html" class="jsdoc-navbar-package-name">whatsapp-web.<wbr>js 1.<wbr>34.<wbr>7</a>
</div> </div>
</div> </div>
</nav> </nav>
@ -134,7 +134,7 @@
<footer id="jsdoc-footer" class="jsdoc-footer"> <footer id="jsdoc-footer" class="jsdoc-footer">
<div id="jsdoc-footer-container"> <div id="jsdoc-footer-container">
<p> <p>
Generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc</a> 3.6.11 on January 30, 2026. Generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc</a> 3.6.11 on April 24, 2026.
</p> </p>
</div> </div>
</footer> </footer>

View file

@ -4,7 +4,7 @@
<head> <head>
<meta name="generator" content="JSDoc 3.6.11"> <meta name="generator" content="JSDoc 3.6.11">
<meta charset="utf-8"> <meta charset="utf-8">
<title>whatsapp-web.js 1.34.6 &raquo; Class: LocalWebCache</title> <title>whatsapp-web.js 1.34.7 &raquo; Class: LocalWebCache</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/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/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 rel="stylesheet" href="https://brick.a.ssl.fastly.net/Inconsolata:500" type="text/css">
@ -15,7 +15,7 @@
<nav id="jsdoc-navbar" role="navigation" class="jsdoc-navbar"> <nav id="jsdoc-navbar" role="navigation" class="jsdoc-navbar">
<div id="jsdoc-navbar-container"> <div id="jsdoc-navbar-container">
<div id="jsdoc-navbar-content"> <div id="jsdoc-navbar-content">
<a href="index.html" class="jsdoc-navbar-package-name">whatsapp-web.<wbr>js 1.<wbr>34.<wbr>6</a> <a href="index.html" class="jsdoc-navbar-package-name">whatsapp-web.<wbr>js 1.<wbr>34.<wbr>7</a>
</div> </div>
</div> </div>
</nav> </nav>
@ -120,7 +120,7 @@
<footer id="jsdoc-footer" class="jsdoc-footer"> <footer id="jsdoc-footer" class="jsdoc-footer">
<div id="jsdoc-footer-container"> <div id="jsdoc-footer-container">
<p> <p>
Generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc</a> 3.6.11 on January 30, 2026. Generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc</a> 3.6.11 on April 24, 2026.
</p> </p>
</div> </div>
</footer> </footer>

6
docs/Location.html generated
View file

@ -4,7 +4,7 @@
<head> <head>
<meta name="generator" content="JSDoc 3.6.11"> <meta name="generator" content="JSDoc 3.6.11">
<meta charset="utf-8"> <meta charset="utf-8">
<title>whatsapp-web.js 1.34.6 &raquo; Class: Location</title> <title>whatsapp-web.js 1.34.7 &raquo; Class: Location</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/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/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 rel="stylesheet" href="https://brick.a.ssl.fastly.net/Inconsolata:500" type="text/css">
@ -15,7 +15,7 @@
<nav id="jsdoc-navbar" role="navigation" class="jsdoc-navbar"> <nav id="jsdoc-navbar" role="navigation" class="jsdoc-navbar">
<div id="jsdoc-navbar-container"> <div id="jsdoc-navbar-container">
<div id="jsdoc-navbar-content"> <div id="jsdoc-navbar-content">
<a href="index.html" class="jsdoc-navbar-package-name">whatsapp-web.<wbr>js 1.<wbr>34.<wbr>6</a> <a href="index.html" class="jsdoc-navbar-package-name">whatsapp-web.<wbr>js 1.<wbr>34.<wbr>7</a>
</div> </div>
</div> </div>
</nav> </nav>
@ -173,7 +173,7 @@
<footer id="jsdoc-footer" class="jsdoc-footer"> <footer id="jsdoc-footer" class="jsdoc-footer">
<div id="jsdoc-footer-container"> <div id="jsdoc-footer-container">
<p> <p>
Generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc</a> 3.6.11 on January 30, 2026. Generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc</a> 3.6.11 on April 24, 2026.
</p> </p>
</div> </div>
</footer> </footer>

6
docs/Message.html generated
View file

@ -4,7 +4,7 @@
<head> <head>
<meta name="generator" content="JSDoc 3.6.11"> <meta name="generator" content="JSDoc 3.6.11">
<meta charset="utf-8"> <meta charset="utf-8">
<title>whatsapp-web.js 1.34.6 &raquo; Class: Message</title> <title>whatsapp-web.js 1.34.7 &raquo; Class: Message</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/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/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 rel="stylesheet" href="https://brick.a.ssl.fastly.net/Inconsolata:500" type="text/css">
@ -15,7 +15,7 @@
<nav id="jsdoc-navbar" role="navigation" class="jsdoc-navbar"> <nav id="jsdoc-navbar" role="navigation" class="jsdoc-navbar">
<div id="jsdoc-navbar-container"> <div id="jsdoc-navbar-container">
<div id="jsdoc-navbar-content"> <div id="jsdoc-navbar-content">
<a href="index.html" class="jsdoc-navbar-package-name">whatsapp-web.<wbr>js 1.<wbr>34.<wbr>6</a> <a href="index.html" class="jsdoc-navbar-package-name">whatsapp-web.<wbr>js 1.<wbr>34.<wbr>7</a>
</div> </div>
</div> </div>
</nav> </nav>
@ -911,7 +911,7 @@
<footer id="jsdoc-footer" class="jsdoc-footer"> <footer id="jsdoc-footer" class="jsdoc-footer">
<div id="jsdoc-footer-container"> <div id="jsdoc-footer-container">
<p> <p>
Generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc</a> 3.6.11 on January 30, 2026. Generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc</a> 3.6.11 on April 24, 2026.
</p> </p>
</div> </div>
</footer> </footer>

View file

@ -4,7 +4,7 @@
<head> <head>
<meta name="generator" content="JSDoc 3.6.11"> <meta name="generator" content="JSDoc 3.6.11">
<meta charset="utf-8"> <meta charset="utf-8">
<title>whatsapp-web.js 1.34.6 &raquo; Class: MessageMedia</title> <title>whatsapp-web.js 1.34.7 &raquo; Class: MessageMedia</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/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/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 rel="stylesheet" href="https://brick.a.ssl.fastly.net/Inconsolata:500" type="text/css">
@ -15,7 +15,7 @@
<nav id="jsdoc-navbar" role="navigation" class="jsdoc-navbar"> <nav id="jsdoc-navbar" role="navigation" class="jsdoc-navbar">
<div id="jsdoc-navbar-container"> <div id="jsdoc-navbar-container">
<div id="jsdoc-navbar-content"> <div id="jsdoc-navbar-content">
<a href="index.html" class="jsdoc-navbar-package-name">whatsapp-web.<wbr>js 1.<wbr>34.<wbr>6</a> <a href="index.html" class="jsdoc-navbar-package-name">whatsapp-web.<wbr>js 1.<wbr>34.<wbr>7</a>
</div> </div>
</div> </div>
</nav> </nav>
@ -364,7 +364,7 @@
<footer id="jsdoc-footer" class="jsdoc-footer"> <footer id="jsdoc-footer" class="jsdoc-footer">
<div id="jsdoc-footer-container"> <div id="jsdoc-footer-container">
<p> <p>
Generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc</a> 3.6.11 on January 30, 2026. Generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc</a> 3.6.11 on April 24, 2026.
</p> </p>
</div> </div>
</footer> </footer>

6
docs/NoAuth.html generated
View file

@ -4,7 +4,7 @@
<head> <head>
<meta name="generator" content="JSDoc 3.6.11"> <meta name="generator" content="JSDoc 3.6.11">
<meta charset="utf-8"> <meta charset="utf-8">
<title>whatsapp-web.js 1.34.6 &raquo; Class: NoAuth</title> <title>whatsapp-web.js 1.34.7 &raquo; Class: NoAuth</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/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/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 rel="stylesheet" href="https://brick.a.ssl.fastly.net/Inconsolata:500" type="text/css">
@ -15,7 +15,7 @@
<nav id="jsdoc-navbar" role="navigation" class="jsdoc-navbar"> <nav id="jsdoc-navbar" role="navigation" class="jsdoc-navbar">
<div id="jsdoc-navbar-container"> <div id="jsdoc-navbar-container">
<div id="jsdoc-navbar-content"> <div id="jsdoc-navbar-content">
<a href="index.html" class="jsdoc-navbar-package-name">whatsapp-web.<wbr>js 1.<wbr>34.<wbr>6</a> <a href="index.html" class="jsdoc-navbar-package-name">whatsapp-web.<wbr>js 1.<wbr>34.<wbr>7</a>
</div> </div>
</div> </div>
</nav> </nav>
@ -51,7 +51,7 @@
<footer id="jsdoc-footer" class="jsdoc-footer"> <footer id="jsdoc-footer" class="jsdoc-footer">
<div id="jsdoc-footer-container"> <div id="jsdoc-footer-container">
<p> <p>
Generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc</a> 3.6.11 on January 30, 2026. Generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc</a> 3.6.11 on April 24, 2026.
</p> </p>
</div> </div>
</footer> </footer>

6
docs/Order.html generated
View file

@ -4,7 +4,7 @@
<head> <head>
<meta name="generator" content="JSDoc 3.6.11"> <meta name="generator" content="JSDoc 3.6.11">
<meta charset="utf-8"> <meta charset="utf-8">
<title>whatsapp-web.js 1.34.6 &raquo; Class: Order</title> <title>whatsapp-web.js 1.34.7 &raquo; Class: Order</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/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/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 rel="stylesheet" href="https://brick.a.ssl.fastly.net/Inconsolata:500" type="text/css">
@ -15,7 +15,7 @@
<nav id="jsdoc-navbar" role="navigation" class="jsdoc-navbar"> <nav id="jsdoc-navbar" role="navigation" class="jsdoc-navbar">
<div id="jsdoc-navbar-container"> <div id="jsdoc-navbar-container">
<div id="jsdoc-navbar-content"> <div id="jsdoc-navbar-content">
<a href="index.html" class="jsdoc-navbar-package-name">whatsapp-web.<wbr>js 1.<wbr>34.<wbr>6</a> <a href="index.html" class="jsdoc-navbar-package-name">whatsapp-web.<wbr>js 1.<wbr>34.<wbr>7</a>
</div> </div>
</div> </div>
</nav> </nav>
@ -102,7 +102,7 @@
<footer id="jsdoc-footer" class="jsdoc-footer"> <footer id="jsdoc-footer" class="jsdoc-footer">
<div id="jsdoc-footer-container"> <div id="jsdoc-footer-container">
<p> <p>
Generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc</a> 3.6.11 on January 30, 2026. Generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc</a> 3.6.11 on April 24, 2026.
</p> </p>
</div> </div>
</footer> </footer>

6
docs/Poll.html generated
View file

@ -4,7 +4,7 @@
<head> <head>
<meta name="generator" content="JSDoc 3.6.11"> <meta name="generator" content="JSDoc 3.6.11">
<meta charset="utf-8"> <meta charset="utf-8">
<title>whatsapp-web.js 1.34.6 &raquo; Class: Poll</title> <title>whatsapp-web.js 1.34.7 &raquo; Class: Poll</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/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/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 rel="stylesheet" href="https://brick.a.ssl.fastly.net/Inconsolata:500" type="text/css">
@ -15,7 +15,7 @@
<nav id="jsdoc-navbar" role="navigation" class="jsdoc-navbar"> <nav id="jsdoc-navbar" role="navigation" class="jsdoc-navbar">
<div id="jsdoc-navbar-container"> <div id="jsdoc-navbar-container">
<div id="jsdoc-navbar-content"> <div id="jsdoc-navbar-content">
<a href="index.html" class="jsdoc-navbar-package-name">whatsapp-web.<wbr>js 1.<wbr>34.<wbr>6</a> <a href="index.html" class="jsdoc-navbar-package-name">whatsapp-web.<wbr>js 1.<wbr>34.<wbr>7</a>
</div> </div>
</div> </div>
</nav> </nav>
@ -148,7 +148,7 @@
<footer id="jsdoc-footer" class="jsdoc-footer"> <footer id="jsdoc-footer" class="jsdoc-footer">
<div id="jsdoc-footer-container"> <div id="jsdoc-footer-container">
<p> <p>
Generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc</a> 3.6.11 on January 30, 2026. Generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc</a> 3.6.11 on April 24, 2026.
</p> </p>
</div> </div>
</footer> </footer>

6
docs/PollVote.html generated
View file

@ -4,7 +4,7 @@
<head> <head>
<meta name="generator" content="JSDoc 3.6.11"> <meta name="generator" content="JSDoc 3.6.11">
<meta charset="utf-8"> <meta charset="utf-8">
<title>whatsapp-web.js 1.34.6 &raquo; Class: PollVote</title> <title>whatsapp-web.js 1.34.7 &raquo; Class: PollVote</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/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/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 rel="stylesheet" href="https://brick.a.ssl.fastly.net/Inconsolata:500" type="text/css">
@ -15,7 +15,7 @@
<nav id="jsdoc-navbar" role="navigation" class="jsdoc-navbar"> <nav id="jsdoc-navbar" role="navigation" class="jsdoc-navbar">
<div id="jsdoc-navbar-container"> <div id="jsdoc-navbar-container">
<div id="jsdoc-navbar-content"> <div id="jsdoc-navbar-content">
<a href="index.html" class="jsdoc-navbar-package-name">whatsapp-web.<wbr>js 1.<wbr>34.<wbr>6</a> <a href="index.html" class="jsdoc-navbar-package-name">whatsapp-web.<wbr>js 1.<wbr>34.<wbr>7</a>
</div> </div>
</div> </div>
</nav> </nav>
@ -102,7 +102,7 @@
<footer id="jsdoc-footer" class="jsdoc-footer"> <footer id="jsdoc-footer" class="jsdoc-footer">
<div id="jsdoc-footer-container"> <div id="jsdoc-footer-container">
<p> <p>
Generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc</a> 3.6.11 on January 30, 2026. Generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc</a> 3.6.11 on April 24, 2026.
</p> </p>
</div> </div>
</footer> </footer>

24
docs/PrivateChat.html generated
View file

@ -4,7 +4,7 @@
<head> <head>
<meta name="generator" content="JSDoc 3.6.11"> <meta name="generator" content="JSDoc 3.6.11">
<meta charset="utf-8"> <meta charset="utf-8">
<title>whatsapp-web.js 1.34.6 &raquo; Class: PrivateChat</title> <title>whatsapp-web.js 1.34.7 &raquo; Class: PrivateChat</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/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/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 rel="stylesheet" href="https://brick.a.ssl.fastly.net/Inconsolata:500" type="text/css">
@ -15,7 +15,7 @@
<nav id="jsdoc-navbar" role="navigation" class="jsdoc-navbar"> <nav id="jsdoc-navbar" role="navigation" class="jsdoc-navbar">
<div id="jsdoc-navbar-container"> <div id="jsdoc-navbar-container">
<div id="jsdoc-navbar-content"> <div id="jsdoc-navbar-content">
<a href="index.html" class="jsdoc-navbar-package-name">whatsapp-web.<wbr>js 1.<wbr>34.<wbr>6</a> <a href="index.html" class="jsdoc-navbar-package-name">whatsapp-web.<wbr>js 1.<wbr>34.<wbr>7</a>
</div> </div>
</div> </div>
</nav> </nav>
@ -48,13 +48,16 @@
<dt><a href="PrivateChat.html#isGroup">isGroup</a></dt> <dt><a href="PrivateChat.html#isGroup">isGroup</a></dt>
<dd> <dd>
</dd> </dd>
<dt><a href="PrivateChat.html#isMuted">isMuted</a></dt> <dt><a href="PrivateChat.html#isLocked">isLocked</a></dt>
<dd> <dd>
</dd> </dd>
</dl> </dl>
</div> </div>
<div class="summary-column"> <div class="summary-column">
<dl class="dl-summary-callout"> <dl class="dl-summary-callout">
<dt><a href="PrivateChat.html#isMuted">isMuted</a></dt>
<dd>
</dd>
<dt><a href="PrivateChat.html#isReadOnly">isReadOnly</a></dt> <dt><a href="PrivateChat.html#isReadOnly">isReadOnly</a></dt>
<dd> <dd>
</dd> </dd>
@ -64,13 +67,13 @@
<dt><a href="PrivateChat.html#muteExpiration">muteExpiration</a></dt> <dt><a href="PrivateChat.html#muteExpiration">muteExpiration</a></dt>
<dd> <dd>
</dd> </dd>
<dt><a href="PrivateChat.html#name">name</a></dt>
<dd>
</dd>
</dl> </dl>
</div> </div>
<div class="summary-column"> <div class="summary-column">
<dl class="dl-summary-callout"> <dl class="dl-summary-callout">
<dt><a href="PrivateChat.html#name">name</a></dt>
<dd>
</dd>
<dt><a href="PrivateChat.html#pinned">pinned</a></dt> <dt><a href="PrivateChat.html#pinned">pinned</a></dt>
<dd> <dd>
</dd> </dd>
@ -199,6 +202,13 @@
<dt>Inherited from</dt> <dt>Inherited from</dt>
<dd><a href="Chat.html#isGroup">Chat#isGroup</a></dd> <dd><a href="Chat.html#isGroup">Chat#isGroup</a></dd>
</dl> </dl>
<h3 id="isLocked"><span class="symbol-name">isLocked</span><small class="property-type">
&nbsp;unknown</small></h3>
<p>Indicates if the Chat is locked</p>
<dl class="dl-compact">
<dt>Inherited from</dt>
<dd><a href="Chat.html#isLocked">Chat#isLocked</a></dd>
</dl>
<h3 id="isMuted"><span class="symbol-name">isMuted</span><small class="property-type"> <h3 id="isMuted"><span class="symbol-name">isMuted</span><small class="property-type">
&nbsp;unknown</small></h3> &nbsp;unknown</small></h3>
<p>Indicates if the chat is muted or not</p> <p>Indicates if the chat is muted or not</p>
@ -670,7 +680,7 @@
<footer id="jsdoc-footer" class="jsdoc-footer"> <footer id="jsdoc-footer" class="jsdoc-footer">
<div id="jsdoc-footer-container"> <div id="jsdoc-footer-container">
<p> <p>
Generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc</a> 3.6.11 on January 30, 2026. Generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc</a> 3.6.11 on April 24, 2026.
</p> </p>
</div> </div>
</footer> </footer>

View file

@ -4,7 +4,7 @@
<head> <head>
<meta name="generator" content="JSDoc 3.6.11"> <meta name="generator" content="JSDoc 3.6.11">
<meta charset="utf-8"> <meta charset="utf-8">
<title>whatsapp-web.js 1.34.6 &raquo; Class: PrivateContact</title> <title>whatsapp-web.js 1.34.7 &raquo; Class: PrivateContact</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/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/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 rel="stylesheet" href="https://brick.a.ssl.fastly.net/Inconsolata:500" type="text/css">
@ -15,7 +15,7 @@
<nav id="jsdoc-navbar" role="navigation" class="jsdoc-navbar"> <nav id="jsdoc-navbar" role="navigation" class="jsdoc-navbar">
<div id="jsdoc-navbar-container"> <div id="jsdoc-navbar-container">
<div id="jsdoc-navbar-content"> <div id="jsdoc-navbar-content">
<a href="index.html" class="jsdoc-navbar-package-name">whatsapp-web.<wbr>js 1.<wbr>34.<wbr>6</a> <a href="index.html" class="jsdoc-navbar-package-name">whatsapp-web.<wbr>js 1.<wbr>34.<wbr>7</a>
</div> </div>
</div> </div>
</nav> </nav>
@ -331,7 +331,7 @@
<footer id="jsdoc-footer" class="jsdoc-footer"> <footer id="jsdoc-footer" class="jsdoc-footer">
<div id="jsdoc-footer-container"> <div id="jsdoc-footer-container">
<p> <p>
Generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc</a> 3.6.11 on January 30, 2026. Generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc</a> 3.6.11 on April 24, 2026.
</p> </p>
</div> </div>
</footer> </footer>

6
docs/Product.html generated
View file

@ -4,7 +4,7 @@
<head> <head>
<meta name="generator" content="JSDoc 3.6.11"> <meta name="generator" content="JSDoc 3.6.11">
<meta charset="utf-8"> <meta charset="utf-8">
<title>whatsapp-web.js 1.34.6 &raquo; Class: Product</title> <title>whatsapp-web.js 1.34.7 &raquo; Class: Product</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/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/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 rel="stylesheet" href="https://brick.a.ssl.fastly.net/Inconsolata:500" type="text/css">
@ -15,7 +15,7 @@
<nav id="jsdoc-navbar" role="navigation" class="jsdoc-navbar"> <nav id="jsdoc-navbar" role="navigation" class="jsdoc-navbar">
<div id="jsdoc-navbar-container"> <div id="jsdoc-navbar-container">
<div id="jsdoc-navbar-content"> <div id="jsdoc-navbar-content">
<a href="index.html" class="jsdoc-navbar-package-name">whatsapp-web.<wbr>js 1.<wbr>34.<wbr>6</a> <a href="index.html" class="jsdoc-navbar-package-name">whatsapp-web.<wbr>js 1.<wbr>34.<wbr>7</a>
</div> </div>
</div> </div>
</nav> </nav>
@ -127,7 +127,7 @@
<footer id="jsdoc-footer" class="jsdoc-footer"> <footer id="jsdoc-footer" class="jsdoc-footer">
<div id="jsdoc-footer-container"> <div id="jsdoc-footer-container">
<p> <p>
Generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc</a> 3.6.11 on January 30, 2026. Generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc</a> 3.6.11 on April 24, 2026.
</p> </p>
</div> </div>
</footer> </footer>

6
docs/Reaction.html generated
View file

@ -4,7 +4,7 @@
<head> <head>
<meta name="generator" content="JSDoc 3.6.11"> <meta name="generator" content="JSDoc 3.6.11">
<meta charset="utf-8"> <meta charset="utf-8">
<title>whatsapp-web.js 1.34.6 &raquo; Class: Reaction</title> <title>whatsapp-web.js 1.34.7 &raquo; Class: Reaction</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/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/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 rel="stylesheet" href="https://brick.a.ssl.fastly.net/Inconsolata:500" type="text/css">
@ -15,7 +15,7 @@
<nav id="jsdoc-navbar" role="navigation" class="jsdoc-navbar"> <nav id="jsdoc-navbar" role="navigation" class="jsdoc-navbar">
<div id="jsdoc-navbar-container"> <div id="jsdoc-navbar-container">
<div id="jsdoc-navbar-content"> <div id="jsdoc-navbar-content">
<a href="index.html" class="jsdoc-navbar-package-name">whatsapp-web.<wbr>js 1.<wbr>34.<wbr>6</a> <a href="index.html" class="jsdoc-navbar-package-name">whatsapp-web.<wbr>js 1.<wbr>34.<wbr>7</a>
</div> </div>
</div> </div>
</nav> </nav>
@ -144,7 +144,7 @@
<footer id="jsdoc-footer" class="jsdoc-footer"> <footer id="jsdoc-footer" class="jsdoc-footer">
<div id="jsdoc-footer-container"> <div id="jsdoc-footer-container">
<p> <p>
Generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc</a> 3.6.11 on January 30, 2026. Generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc</a> 3.6.11 on April 24, 2026.
</p> </p>
</div> </div>
</footer> </footer>

6
docs/RemoteAuth.html generated
View file

@ -4,7 +4,7 @@
<head> <head>
<meta name="generator" content="JSDoc 3.6.11"> <meta name="generator" content="JSDoc 3.6.11">
<meta charset="utf-8"> <meta charset="utf-8">
<title>whatsapp-web.js 1.34.6 &raquo; Class: RemoteAuth</title> <title>whatsapp-web.js 1.34.7 &raquo; Class: RemoteAuth</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/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/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 rel="stylesheet" href="https://brick.a.ssl.fastly.net/Inconsolata:500" type="text/css">
@ -15,7 +15,7 @@
<nav id="jsdoc-navbar" role="navigation" class="jsdoc-navbar"> <nav id="jsdoc-navbar" role="navigation" class="jsdoc-navbar">
<div id="jsdoc-navbar-container"> <div id="jsdoc-navbar-container">
<div id="jsdoc-navbar-content"> <div id="jsdoc-navbar-content">
<a href="index.html" class="jsdoc-navbar-package-name">whatsapp-web.<wbr>js 1.<wbr>34.<wbr>6</a> <a href="index.html" class="jsdoc-navbar-package-name">whatsapp-web.<wbr>js 1.<wbr>34.<wbr>7</a>
</div> </div>
</div> </div>
</nav> </nav>
@ -162,7 +162,7 @@
<footer id="jsdoc-footer" class="jsdoc-footer"> <footer id="jsdoc-footer" class="jsdoc-footer">
<div id="jsdoc-footer-container"> <div id="jsdoc-footer-container">
<p> <p>
Generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc</a> 3.6.11 on January 30, 2026. Generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc</a> 3.6.11 on April 24, 2026.
</p> </p>
</div> </div>
</footer> </footer>

View file

@ -4,7 +4,7 @@
<head> <head>
<meta name="generator" content="JSDoc 3.6.11"> <meta name="generator" content="JSDoc 3.6.11">
<meta charset="utf-8"> <meta charset="utf-8">
<title>whatsapp-web.js 1.34.6 &raquo; Class: RemoteWebCache</title> <title>whatsapp-web.js 1.34.7 &raquo; Class: RemoteWebCache</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/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/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 rel="stylesheet" href="https://brick.a.ssl.fastly.net/Inconsolata:500" type="text/css">
@ -15,7 +15,7 @@
<nav id="jsdoc-navbar" role="navigation" class="jsdoc-navbar"> <nav id="jsdoc-navbar" role="navigation" class="jsdoc-navbar">
<div id="jsdoc-navbar-container"> <div id="jsdoc-navbar-container">
<div id="jsdoc-navbar-content"> <div id="jsdoc-navbar-content">
<a href="index.html" class="jsdoc-navbar-package-name">whatsapp-web.<wbr>js 1.<wbr>34.<wbr>6</a> <a href="index.html" class="jsdoc-navbar-package-name">whatsapp-web.<wbr>js 1.<wbr>34.<wbr>7</a>
</div> </div>
</div> </div>
</nav> </nav>
@ -120,7 +120,7 @@
<footer id="jsdoc-footer" class="jsdoc-footer"> <footer id="jsdoc-footer" class="jsdoc-footer">
<div id="jsdoc-footer-container"> <div id="jsdoc-footer-container">
<p> <p>
Generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc</a> 3.6.11 on January 30, 2026. Generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc</a> 3.6.11 on April 24, 2026.
</p> </p>
</div> </div>
</footer> </footer>

View file

@ -4,7 +4,7 @@
<head> <head>
<meta name="generator" content="JSDoc 3.6.11"> <meta name="generator" content="JSDoc 3.6.11">
<meta charset="utf-8"> <meta charset="utf-8">
<title>whatsapp-web.js 1.34.6 &raquo; Class: ScheduledEvent</title> <title>whatsapp-web.js 1.34.7 &raquo; Class: ScheduledEvent</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/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/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 rel="stylesheet" href="https://brick.a.ssl.fastly.net/Inconsolata:500" type="text/css">
@ -15,7 +15,7 @@
<nav id="jsdoc-navbar" role="navigation" class="jsdoc-navbar"> <nav id="jsdoc-navbar" role="navigation" class="jsdoc-navbar">
<div id="jsdoc-navbar-container"> <div id="jsdoc-navbar-container">
<div id="jsdoc-navbar-content"> <div id="jsdoc-navbar-content">
<a href="index.html" class="jsdoc-navbar-package-name">whatsapp-web.<wbr>js 1.<wbr>34.<wbr>6</a> <a href="index.html" class="jsdoc-navbar-package-name">whatsapp-web.<wbr>js 1.<wbr>34.<wbr>7</a>
</div> </div>
</div> </div>
</nav> </nav>
@ -220,7 +220,7 @@
<footer id="jsdoc-footer" class="jsdoc-footer"> <footer id="jsdoc-footer" class="jsdoc-footer">
<div id="jsdoc-footer-container"> <div id="jsdoc-footer-container">
<p> <p>
Generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc</a> 3.6.11 on January 30, 2026. Generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc</a> 3.6.11 on April 24, 2026.
</p> </p>
</div> </div>
</footer> </footer>

6
docs/Util.html generated
View file

@ -4,7 +4,7 @@
<head> <head>
<meta name="generator" content="JSDoc 3.6.11"> <meta name="generator" content="JSDoc 3.6.11">
<meta charset="utf-8"> <meta charset="utf-8">
<title>whatsapp-web.js 1.34.6 &raquo; Class: Util</title> <title>whatsapp-web.js 1.34.7 &raquo; Class: Util</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/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/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 rel="stylesheet" href="https://brick.a.ssl.fastly.net/Inconsolata:500" type="text/css">
@ -15,7 +15,7 @@
<nav id="jsdoc-navbar" role="navigation" class="jsdoc-navbar"> <nav id="jsdoc-navbar" role="navigation" class="jsdoc-navbar">
<div id="jsdoc-navbar-container"> <div id="jsdoc-navbar-container">
<div id="jsdoc-navbar-content"> <div id="jsdoc-navbar-content">
<a href="index.html" class="jsdoc-navbar-package-name">whatsapp-web.<wbr>js 1.<wbr>34.<wbr>6</a> <a href="index.html" class="jsdoc-navbar-package-name">whatsapp-web.<wbr>js 1.<wbr>34.<wbr>7</a>
</div> </div>
</div> </div>
</nav> </nav>
@ -243,7 +243,7 @@
<footer id="jsdoc-footer" class="jsdoc-footer"> <footer id="jsdoc-footer" class="jsdoc-footer">
<div id="jsdoc-footer-container"> <div id="jsdoc-footer-container">
<p> <p>
Generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc</a> 3.6.11 on January 30, 2026. Generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc</a> 3.6.11 on April 24, 2026.
</p> </p>
</div> </div>
</footer> </footer>

6
docs/WebCache.html generated
View file

@ -4,7 +4,7 @@
<head> <head>
<meta name="generator" content="JSDoc 3.6.11"> <meta name="generator" content="JSDoc 3.6.11">
<meta charset="utf-8"> <meta charset="utf-8">
<title>whatsapp-web.js 1.34.6 &raquo; Class: WebCache</title> <title>whatsapp-web.js 1.34.7 &raquo; Class: WebCache</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/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/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 rel="stylesheet" href="https://brick.a.ssl.fastly.net/Inconsolata:500" type="text/css">
@ -15,7 +15,7 @@
<nav id="jsdoc-navbar" role="navigation" class="jsdoc-navbar"> <nav id="jsdoc-navbar" role="navigation" class="jsdoc-navbar">
<div id="jsdoc-navbar-container"> <div id="jsdoc-navbar-container">
<div id="jsdoc-navbar-content"> <div id="jsdoc-navbar-content">
<a href="index.html" class="jsdoc-navbar-package-name">whatsapp-web.<wbr>js 1.<wbr>34.<wbr>6</a> <a href="index.html" class="jsdoc-navbar-package-name">whatsapp-web.<wbr>js 1.<wbr>34.<wbr>7</a>
</div> </div>
</div> </div>
</nav> </nav>
@ -50,7 +50,7 @@
<footer id="jsdoc-footer" class="jsdoc-footer"> <footer id="jsdoc-footer" class="jsdoc-footer">
<div id="jsdoc-footer-container"> <div id="jsdoc-footer-container">
<p> <p>
Generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc</a> 3.6.11 on January 30, 2026. Generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc</a> 3.6.11 on April 24, 2026.
</p> </p>
</div> </div>
</footer> </footer>

View file

@ -4,7 +4,7 @@
<head> <head>
<meta name="generator" content="JSDoc 3.6.11"> <meta name="generator" content="JSDoc 3.6.11">
<meta charset="utf-8"> <meta charset="utf-8">
<title>whatsapp-web.js 1.34.6 &raquo; Source: authStrategies/BaseAuthStrategy.js</title> <title>whatsapp-web.js 1.34.7 &raquo; Source: authStrategies/BaseAuthStrategy.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/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/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 rel="stylesheet" href="https://brick.a.ssl.fastly.net/Inconsolata:500" type="text/css">
@ -15,7 +15,7 @@
<nav id="jsdoc-navbar" role="navigation" class="jsdoc-navbar"> <nav id="jsdoc-navbar" role="navigation" class="jsdoc-navbar">
<div id="jsdoc-navbar-container"> <div id="jsdoc-navbar-container">
<div id="jsdoc-navbar-content"> <div id="jsdoc-navbar-content">
<a href="index.html" class="jsdoc-navbar-package-name">whatsapp-web.<wbr>js 1.<wbr>34.<wbr>6</a> <a href="index.html" class="jsdoc-navbar-package-name">whatsapp-web.<wbr>js 1.<wbr>34.<wbr>7</a>
</div> </div>
</div> </div>
</nav> </nav>
@ -39,15 +39,17 @@ class BaseAuthStrategy {
setup(client) { setup(client) {
this.client &#x3D; client; this.client &#x3D; client;
} }
async beforeBrowserInitialized() {} async beforeBrowserInitialized() {}
async afterBrowserInitialized() {} async afterBrowserInitialized() {}
async onAuthenticationNeeded() { async onAuthenticationNeeded() {
return { return {
failed: false, failed: false,
restart: false, restart: false,
failureEventPayload: undefined failureEventPayload: undefined,
}; };
} }
async getAuthEventPayload() {} async getAuthEventPayload() {}
async afterAuthReady() {} async afterAuthReady() {}
async disconnect() {} async disconnect() {}
@ -55,7 +57,8 @@ class BaseAuthStrategy {
async logout() {} async logout() {}
} }
module.exports &#x3D; BaseAuthStrategy;</code></pre> module.exports &#x3D; BaseAuthStrategy;
</code></pre>
</article> </article>
</div> </div>
</div> </div>
@ -65,7 +68,7 @@ module.exports &#x3D; BaseAuthStrategy;</code></pre>
<footer id="jsdoc-footer" class="jsdoc-footer"> <footer id="jsdoc-footer" class="jsdoc-footer">
<div id="jsdoc-footer-container"> <div id="jsdoc-footer-container">
<p> <p>
Generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc</a> 3.6.11 on January 30, 2026. Generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc</a> 3.6.11 on April 24, 2026.
</p> </p>
</div> </div>
</footer> </footer>

View file

@ -4,7 +4,7 @@
<head> <head>
<meta name="generator" content="JSDoc 3.6.11"> <meta name="generator" content="JSDoc 3.6.11">
<meta charset="utf-8"> <meta charset="utf-8">
<title>whatsapp-web.js 1.34.6 &raquo; Source: authStrategies/LocalAuth.js</title> <title>whatsapp-web.js 1.34.7 &raquo; Source: authStrategies/LocalAuth.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/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/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 rel="stylesheet" href="https://brick.a.ssl.fastly.net/Inconsolata:500" type="text/css">
@ -15,7 +15,7 @@
<nav id="jsdoc-navbar" role="navigation" class="jsdoc-navbar"> <nav id="jsdoc-navbar" role="navigation" class="jsdoc-navbar">
<div id="jsdoc-navbar-container"> <div id="jsdoc-navbar-container">
<div id="jsdoc-navbar-content"> <div id="jsdoc-navbar-content">
<a href="index.html" class="jsdoc-navbar-package-name">whatsapp-web.<wbr>js 1.<wbr>34.<wbr>6</a> <a href="index.html" class="jsdoc-navbar-package-name">whatsapp-web.<wbr>js 1.<wbr>34.<wbr>7</a>
</div> </div>
</div> </div>
</nav> </nav>
@ -48,7 +48,9 @@ class LocalAuth extends BaseAuthStrategy {
const idRegex &#x3D; /^[-_\w]+$/i; const idRegex &#x3D; /^[-_\w]+$/i;
if (clientId &amp;amp;&amp;amp; !idRegex.test(clientId)) { if (clientId &amp;amp;&amp;amp; !idRegex.test(clientId)) {
throw new Error(&#x27;Invalid clientId. Only alphanumeric characters, underscores and hyphens are allowed.&#x27;); throw new Error(
&#x27;Invalid clientId. Only alphanumeric characters, underscores and hyphens are allowed.&#x27;,
);
} }
this.dataPath &#x3D; path.resolve(dataPath || &#x27;./.wwebjs_auth/&#x27;); this.dataPath &#x3D; path.resolve(dataPath || &#x27;./.wwebjs_auth/&#x27;);
@ -58,18 +60,25 @@ class LocalAuth extends BaseAuthStrategy {
async beforeBrowserInitialized() { async beforeBrowserInitialized() {
const puppeteerOpts &#x3D; this.client.options.puppeteer; const puppeteerOpts &#x3D; this.client.options.puppeteer;
const sessionDirName &#x3D; this.clientId ? &#x60;session-${this.clientId}&#x60; : &#x27;session&#x27;; const sessionDirName &#x3D; this.clientId
? &#x60;session-${this.clientId}&#x60;
: &#x27;session&#x27;;
const dirPath &#x3D; path.join(this.dataPath, sessionDirName); const dirPath &#x3D; path.join(this.dataPath, sessionDirName);
if(puppeteerOpts.userDataDir &amp;amp;&amp;amp; puppeteerOpts.userDataDir !&#x3D;&#x3D; dirPath) { if (
throw new Error(&#x27;LocalAuth is not compatible with a user-supplied userDataDir.&#x27;); puppeteerOpts.userDataDir &amp;amp;&amp;amp;
puppeteerOpts.userDataDir !&#x3D;&#x3D; dirPath
) {
throw new Error(
&#x27;LocalAuth is not compatible with a user-supplied userDataDir.&#x27;,
);
} }
fs.mkdirSync(dirPath, { recursive: true }); fs.mkdirSync(dirPath, { recursive: true });
this.client.options.puppeteer &#x3D; { this.client.options.puppeteer &#x3D; {
...puppeteerOpts, ...puppeteerOpts,
userDataDir: dirPath userDataDir: dirPath,
}; };
this.userDataDir &#x3D; dirPath; this.userDataDir &#x3D; dirPath;
@ -77,13 +86,17 @@ class LocalAuth extends BaseAuthStrategy {
async logout() { async logout() {
if (this.userDataDir) { if (this.userDataDir) {
await fs.promises.rm(this.userDataDir, { recursive: true, force: true, maxRetries: this.rmMaxRetries }) await fs.promises
.rm(this.userDataDir, {
recursive: true,
force: true,
maxRetries: this.rmMaxRetries,
})
.catch((e) &#x3D;&gt; { .catch((e) &#x3D;&gt; {
throw new Error(e); throw new Error(e);
}); });
} }
} }
} }
module.exports &#x3D; LocalAuth; module.exports &#x3D; LocalAuth;
@ -97,7 +110,7 @@ module.exports &#x3D; LocalAuth;
<footer id="jsdoc-footer" class="jsdoc-footer"> <footer id="jsdoc-footer" class="jsdoc-footer">
<div id="jsdoc-footer-container"> <div id="jsdoc-footer-container">
<p> <p>
Generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc</a> 3.6.11 on January 30, 2026. Generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc</a> 3.6.11 on April 24, 2026.
</p> </p>
</div> </div>
</footer> </footer>

View file

@ -4,7 +4,7 @@
<head> <head>
<meta name="generator" content="JSDoc 3.6.11"> <meta name="generator" content="JSDoc 3.6.11">
<meta charset="utf-8"> <meta charset="utf-8">
<title>whatsapp-web.js 1.34.6 &raquo; Source: authStrategies/NoAuth.js</title> <title>whatsapp-web.js 1.34.7 &raquo; Source: authStrategies/NoAuth.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/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/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 rel="stylesheet" href="https://brick.a.ssl.fastly.net/Inconsolata:500" type="text/css">
@ -15,7 +15,7 @@
<nav id="jsdoc-navbar" role="navigation" class="jsdoc-navbar"> <nav id="jsdoc-navbar" role="navigation" class="jsdoc-navbar">
<div id="jsdoc-navbar-container"> <div id="jsdoc-navbar-container">
<div id="jsdoc-navbar-content"> <div id="jsdoc-navbar-content">
<a href="index.html" class="jsdoc-navbar-package-name">whatsapp-web.<wbr>js 1.<wbr>34.<wbr>6</a> <a href="index.html" class="jsdoc-navbar-package-name">whatsapp-web.<wbr>js 1.<wbr>34.<wbr>7</a>
</div> </div>
</div> </div>
</nav> </nav>
@ -39,8 +39,8 @@ const BaseAuthStrategy &#x3D; require(&#x27;./BaseAuthStrategy&#x27;);
*/ */
class NoAuth extends BaseAuthStrategy {} class NoAuth extends BaseAuthStrategy {}
module.exports &#x3D; NoAuth;
module.exports &#x3D; NoAuth;</code></pre> </code></pre>
</article> </article>
</div> </div>
</div> </div>
@ -50,7 +50,7 @@ module.exports &#x3D; NoAuth;</code></pre>
<footer id="jsdoc-footer" class="jsdoc-footer"> <footer id="jsdoc-footer" class="jsdoc-footer">
<div id="jsdoc-footer-container"> <div id="jsdoc-footer-container">
<p> <p>
Generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc</a> 3.6.11 on January 30, 2026. Generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc</a> 3.6.11 on April 24, 2026.
</p> </p>
</div> </div>
</footer> </footer>

View file

@ -4,7 +4,7 @@
<head> <head>
<meta name="generator" content="JSDoc 3.6.11"> <meta name="generator" content="JSDoc 3.6.11">
<meta charset="utf-8"> <meta charset="utf-8">
<title>whatsapp-web.js 1.34.6 &raquo; Source: authStrategies/RemoteAuth.js</title> <title>whatsapp-web.js 1.34.7 &raquo; Source: authStrategies/RemoteAuth.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/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/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 rel="stylesheet" href="https://brick.a.ssl.fastly.net/Inconsolata:500" type="text/css">
@ -15,7 +15,7 @@
<nav id="jsdoc-navbar" role="navigation" class="jsdoc-navbar"> <nav id="jsdoc-navbar" role="navigation" class="jsdoc-navbar">
<div id="jsdoc-navbar-container"> <div id="jsdoc-navbar-container">
<div id="jsdoc-navbar-content"> <div id="jsdoc-navbar-content">
<a href="index.html" class="jsdoc-navbar-package-name">whatsapp-web.<wbr>js 1.<wbr>34.<wbr>6</a> <a href="index.html" class="jsdoc-navbar-package-name">whatsapp-web.<wbr>js 1.<wbr>34.<wbr>7</a>
</div> </div>
</div> </div>
</nav> </nav>
@ -56,16 +56,29 @@ const BaseAuthStrategy &#x3D; require(&#x27;./BaseAuthStrategy&#x27;);
* @param {number} options.rmMaxRetries - Sets the maximum number of retries for removing the session directory * @param {number} options.rmMaxRetries - Sets the maximum number of retries for removing the session directory
*/ */
class RemoteAuth extends BaseAuthStrategy { class RemoteAuth extends BaseAuthStrategy {
constructor({ clientId, dataPath, store, backupSyncIntervalMs, rmMaxRetries } &#x3D; {}) { constructor({
if (!fs &amp;amp;&amp;amp; !unzipper &amp;amp;&amp;amp; !archiver) throw new Error(&#x27;Optional Dependencies [fs-extra, unzipper, archiver] are required to use RemoteAuth. Make sure to run npm install correctly and remove the --no-optional flag&#x27;); clientId,
dataPath,
store,
backupSyncIntervalMs,
rmMaxRetries,
} &#x3D; {}) {
if (!fs &amp;amp;&amp;amp; !unzipper &amp;amp;&amp;amp; !archiver)
throw new Error(
&#x27;Optional Dependencies [fs-extra, unzipper, archiver] are required to use RemoteAuth. Make sure to run npm install correctly and remove the --no-optional flag&#x27;,
);
super(); super();
const idRegex &#x3D; /^[-_\w]+$/i; const idRegex &#x3D; /^[-_\w]+$/i;
if (clientId &amp;amp;&amp;amp; !idRegex.test(clientId)) { if (clientId &amp;amp;&amp;amp; !idRegex.test(clientId)) {
throw new Error(&#x27;Invalid clientId. Only alphanumeric characters, underscores and hyphens are allowed.&#x27;); throw new Error(
&#x27;Invalid clientId. Only alphanumeric characters, underscores and hyphens are allowed.&#x27;,
);
} }
if (!backupSyncIntervalMs || backupSyncIntervalMs &amp;lt; 60000) { if (!backupSyncIntervalMs || backupSyncIntervalMs &amp;lt; 60000) {
throw new Error(&#x27;Invalid backupSyncIntervalMs. Accepts values starting from 60000ms {1 minute}.&#x27;); throw new Error(
&#x27;Invalid backupSyncIntervalMs. Accepts values starting from 60000ms {1 minute}.&#x27;,
);
} }
if (!store) throw new Error(&#x27;Remote database store is required.&#x27;); if (!store) throw new Error(&#x27;Remote database store is required.&#x27;);
@ -74,17 +87,28 @@ class RemoteAuth extends BaseAuthStrategy {
this.backupSyncIntervalMs &#x3D; backupSyncIntervalMs; this.backupSyncIntervalMs &#x3D; backupSyncIntervalMs;
this.dataPath &#x3D; path.resolve(dataPath || &#x27;./.wwebjs_auth/&#x27;); this.dataPath &#x3D; path.resolve(dataPath || &#x27;./.wwebjs_auth/&#x27;);
this.tempDir &#x3D; &#x60;${this.dataPath}/wwebjs_temp_session_${this.clientId}&#x60;; this.tempDir &#x3D; &#x60;${this.dataPath}/wwebjs_temp_session_${this.clientId}&#x60;;
this.requiredDirs &#x3D; [&#x27;Default&#x27;, &#x27;IndexedDB&#x27;, &#x27;Local Storage&#x27;]; /* &#x3D;&gt; Required Files &amp;amp; Dirs in WWebJS to restore session */ this.requiredDirs &#x3D; [
&#x27;Default&#x27;,
&#x27;IndexedDB&#x27;,
&#x27;Local Storage&#x27;,
]; /* &#x3D;&gt; Required Files &amp;amp; Dirs in WWebJS to restore session */
this.rmMaxRetries &#x3D; rmMaxRetries ?? 4; this.rmMaxRetries &#x3D; rmMaxRetries ?? 4;
} }
async beforeBrowserInitialized() { async beforeBrowserInitialized() {
const puppeteerOpts &#x3D; this.client.options.puppeteer; const puppeteerOpts &#x3D; this.client.options.puppeteer;
const sessionDirName &#x3D; this.clientId ? &#x60;RemoteAuth-${this.clientId}&#x60; : &#x27;RemoteAuth&#x27;; const sessionDirName &#x3D; this.clientId
? &#x60;RemoteAuth-${this.clientId}&#x60;
: &#x27;RemoteAuth&#x27;;
const dirPath &#x3D; path.join(this.dataPath, sessionDirName); const dirPath &#x3D; path.join(this.dataPath, sessionDirName);
if (puppeteerOpts.userDataDir &amp;amp;&amp;amp; puppeteerOpts.userDataDir !&#x3D;&#x3D; dirPath) { if (
throw new Error(&#x27;RemoteAuth is not compatible with a user-supplied userDataDir.&#x27;); puppeteerOpts.userDataDir &amp;amp;&amp;amp;
puppeteerOpts.userDataDir !&#x3D;&#x3D; dirPath
) {
throw new Error(
&#x27;RemoteAuth is not compatible with a user-supplied userDataDir.&#x27;,
);
} }
this.userDataDir &#x3D; dirPath; this.userDataDir &#x3D; dirPath;
@ -94,7 +118,7 @@ class RemoteAuth extends BaseAuthStrategy {
this.client.options.puppeteer &#x3D; { this.client.options.puppeteer &#x3D; {
...puppeteerOpts, ...puppeteerOpts,
userDataDir: dirPath userDataDir: dirPath,
}; };
} }
@ -111,19 +135,25 @@ class RemoteAuth extends BaseAuthStrategy {
let pathExists &#x3D; await this.isValidPath(this.userDataDir); let pathExists &#x3D; await this.isValidPath(this.userDataDir);
if (pathExists) { if (pathExists) {
await fs.promises.rm(this.userDataDir, { await fs.promises
.rm(this.userDataDir, {
recursive: true, recursive: true,
force: true, force: true,
maxRetries: this.rmMaxRetries, maxRetries: this.rmMaxRetries,
}).catch(() &#x3D;&gt; {}); })
.catch(() &#x3D;&gt; {});
} }
clearInterval(this.backupSync); clearInterval(this.backupSync);
} }
async afterAuthReady() { async afterAuthReady() {
const sessionExists &#x3D; await this.store.sessionExists({session: this.sessionName}); const sessionExists &#x3D; await this.store.sessionExists({
session: this.sessionName,
});
if (!sessionExists) { if (!sessionExists) {
await this.delay(60000); /* Initial delay sync required for session to be stable enough to recover */ await this.delay(
60000,
); /* Initial delay sync required for session to be stable enough to recover */
await this.storeRemoteSession({ emit: true }); await this.storeRemoteSession({ emit: true });
} }
var self &#x3D; this; var self &#x3D; this;
@ -133,34 +163,57 @@ class RemoteAuth extends BaseAuthStrategy {
} }
async storeRemoteSession(options) { async storeRemoteSession(options) {
/* Compress &amp;amp; Store Session */
const pathExists &#x3D; await this.isValidPath(this.userDataDir); const pathExists &#x3D; await this.isValidPath(this.userDataDir);
if (pathExists) { if (!pathExists) return;
await this.compressSession();
await this.store.save({session: path.join(this.dataPath, this.sessionName)}); let compressedSessionPath;
await fs.promises.unlink(path.join(this.dataPath, &#x60;${this.sessionName}.zip&#x60;)); try {
await fs.promises.rm(&#x60;${this.tempDir}&#x60;, { compressedSessionPath &#x3D; await this.compressSession();
await this.store.save({
session: this.sessionName,
});
if (options &amp;amp;&amp;amp; options.emit)
this.client.emit(Events.REMOTE_SESSION_SAVED);
} finally {
const paths &#x3D; [
this.tempDir,
...(compressedSessionPath ? [compressedSessionPath] : []),
];
await Promise.allSettled(
paths.map((p) &#x3D;&gt;
fs.promises.rm(p, {
recursive: true, recursive: true,
force: true, force: true,
maxRetries: this.rmMaxRetries, maxRetries: this.rmMaxRetries,
}).catch(() &#x3D;&gt; {}); }),
if(options &amp;amp;&amp;amp; options.emit) this.client.emit(Events.REMOTE_SESSION_SAVED); ),
);
} }
} }
async extractRemoteSession() { async extractRemoteSession() {
const pathExists &#x3D; await this.isValidPath(this.userDataDir); const pathExists &#x3D; await this.isValidPath(this.userDataDir);
const compressedSessionPath &#x3D; path.join(this.dataPath, &#x60;${this.sessionName}.zip&#x60;); const compressedSessionPath &#x3D; path.join(
const sessionExists &#x3D; await this.store.sessionExists({session: this.sessionName}); this.dataPath,
&#x60;${this.sessionName}.zip&#x60;,
);
const sessionExists &#x3D; await this.store.sessionExists({
session: this.sessionName,
});
if (pathExists) { if (pathExists) {
await fs.promises.rm(this.userDataDir, { await fs.promises
.rm(this.userDataDir, {
recursive: true, recursive: true,
force: true, force: true,
maxRetries: this.rmMaxRetries, maxRetries: this.rmMaxRetries,
}).catch(() &#x3D;&gt; {}); })
.catch(() &#x3D;&gt; {});
} }
if (sessionExists) { if (sessionExists) {
await this.store.extract({session: this.sessionName, path: compressedSessionPath}); await this.store.extract({
session: this.sessionName,
path: compressedSessionPath,
});
await this.unCompressSession(compressedSessionPath); await this.unCompressSession(compressedSessionPath);
} else { } else {
fs.mkdirSync(this.userDataDir, { recursive: true }); fs.mkdirSync(this.userDataDir, { recursive: true });
@ -168,59 +221,62 @@ class RemoteAuth extends BaseAuthStrategy {
} }
async deleteRemoteSession() { async deleteRemoteSession() {
const sessionExists &#x3D; await this.store.sessionExists({session: this.sessionName}); const sessionExists &#x3D; await this.store.sessionExists({
if (sessionExists) await this.store.delete({session: this.sessionName}); session: this.sessionName,
});
if (sessionExists)
await this.store.delete({ session: this.sessionName });
} }
async compressSession() { async compressSession() {
const stageDefaultPath &#x3D; path.join(this.tempDir, &#x27;Default&#x27;);
const userDataDefaultPath &#x3D; path.join(this.userDataDir, &#x27;Default&#x27;);
await fs.emptyDir(stageDefaultPath);
await this.copyByRequiredDirs(userDataDefaultPath, stageDefaultPath);
const archive &#x3D; archiver(&#x27;zip&#x27;); const archive &#x3D; archiver(&#x27;zip&#x27;);
const stream &#x3D; fs.createWriteStream(path.join(this.dataPath, &#x60;${this.sessionName}.zip&#x60;)); const outPath &#x3D; path.join(this.dataPath, &#x60;${this.sessionName}.zip&#x60;);
const out &#x3D; fs.createWriteStream(outPath);
await fs.copy(this.userDataDir, this.tempDir).catch(() &#x3D;&gt; {}); await new Promise((resolve, reject) &#x3D;&gt; {
await this.deleteMetadata(); out.once(&#x27;close&#x27;, resolve);
return new Promise((resolve, reject) &#x3D;&gt; { out.once(&#x27;error&#x27;, reject);
archive archive.once(&#x27;error&#x27;, reject);
.directory(this.tempDir, false)
.on(&#x27;error&#x27;, err &#x3D;&gt; reject(err))
.pipe(stream);
stream.on(&#x27;close&#x27;, () &#x3D;&gt; resolve()); archive.pipe(out);
archive.directory(this.tempDir, false);
archive.finalize(); archive.finalize();
}); });
return outPath;
} }
async unCompressSession(compressedSessionPath) { async unCompressSession(compressedSessionPath) {
var stream &#x3D; fs.createReadStream(compressedSessionPath); var stream &#x3D; fs.createReadStream(compressedSessionPath);
await new Promise((resolve, reject) &#x3D;&gt; { await new Promise((resolve, reject) &#x3D;&gt; {
stream.pipe(unzipper.Extract({ stream
.pipe(
unzipper.Extract({
path: this.userDataDir, path: this.userDataDir,
concurrency: 10 concurrency: 10,
})) }),
.on(&#x27;error&#x27;, err &#x3D;&gt; reject(err)) )
.on(&#x27;error&#x27;, (err) &#x3D;&gt; reject(err))
.on(&#x27;finish&#x27;, () &#x3D;&gt; resolve()); .on(&#x27;finish&#x27;, () &#x3D;&gt; resolve());
}); });
await fs.promises.unlink(compressedSessionPath); await fs.promises.unlink(compressedSessionPath);
} }
async deleteMetadata() { async copyByRequiredDirs(from, to) {
const sessionDirs &#x3D; [this.tempDir, path.join(this.tempDir, &#x27;Default&#x27;)]; for (const d of this.requiredDirs) {
for (const dir of sessionDirs) { const src &#x3D; path.join(from, d);
const sessionFiles &#x3D; await fs.promises.readdir(dir); if (await this.isValidPath(src)) {
for (const element of sessionFiles) { const dest &#x3D; path.join(to, path.basename(src));
if (!this.requiredDirs.includes(element)) { await fs.promises.cp(src, dest, {
const dirElement &#x3D; path.join(dir, element);
const stats &#x3D; await fs.promises.lstat(dirElement);
if (stats.isDirectory()) {
await fs.promises.rm(dirElement, {
recursive: true, recursive: true,
force: true, force: true,
maxRetries: this.rmMaxRetries, errorOnExist: false,
}).catch(() &#x3D;&gt; {}); });
} else {
await fs.promises.unlink(dirElement).catch(() &#x3D;&gt; {});
}
}
} }
} }
} }
@ -235,7 +291,7 @@ class RemoteAuth extends BaseAuthStrategy {
} }
async delay(ms) { async delay(ms) {
return new Promise(resolve &#x3D;&gt; setTimeout(resolve, ms)); return new Promise((resolve) &#x3D;&gt; setTimeout(resolve, ms));
} }
} }
@ -250,7 +306,7 @@ module.exports &#x3D; RemoteAuth;
<footer id="jsdoc-footer" class="jsdoc-footer"> <footer id="jsdoc-footer" class="jsdoc-footer">
<div id="jsdoc-footer-container"> <div id="jsdoc-footer-container">
<p> <p>
Generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc</a> 3.6.11 on January 30, 2026. Generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc</a> 3.6.11 on April 24, 2026.
</p> </p>
</div> </div>
</footer> </footer>

84
docs/global.html generated
View file

@ -4,7 +4,7 @@
<head> <head>
<meta name="generator" content="JSDoc 3.6.11"> <meta name="generator" content="JSDoc 3.6.11">
<meta charset="utf-8"> <meta charset="utf-8">
<title>whatsapp-web.js 1.34.6 &raquo; Globals</title> <title>whatsapp-web.js 1.34.7 &raquo; Globals</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/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/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 rel="stylesheet" href="https://brick.a.ssl.fastly.net/Inconsolata:500" type="text/css">
@ -15,7 +15,7 @@
<nav id="jsdoc-navbar" role="navigation" class="jsdoc-navbar"> <nav id="jsdoc-navbar" role="navigation" class="jsdoc-navbar">
<div id="jsdoc-navbar-container"> <div id="jsdoc-navbar-container">
<div id="jsdoc-navbar-content"> <div id="jsdoc-navbar-content">
<a href="index.html" class="jsdoc-navbar-package-name">whatsapp-web.<wbr>js 1.<wbr>34.<wbr>6</a> <a href="index.html" class="jsdoc-navbar-package-name">whatsapp-web.<wbr>js 1.<wbr>34.<wbr>7</a>
</div> </div>
</div> </div>
</nav> </nav>
@ -188,9 +188,6 @@
<dt><a href="global.html#TargetOptions">TargetOptions</a></dt> <dt><a href="global.html#TargetOptions">TargetOptions</a></dt>
<dd> <dd>
</dd> </dd>
<dt><a href="global.html#TargetOptions">TargetOptions</a></dt>
<dd>
</dd>
<dt><a href="global.html#TransferChannelOwnershipOptions">TransferChannelOwnershipOptions</a></dt> <dt><a href="global.html#TransferChannelOwnershipOptions">TransferChannelOwnershipOptions</a></dt>
<dd> <dd>
</dd> </dd>
@ -375,6 +372,19 @@
<td> <td>
</td> </td>
</tr> </tr>
<tr>
<td>
<p>MESSAGE_CIPHERTEXT_FAILED</p>
</td>
<td>
<p>&nbsp;</p>
</td>
<td>
<p>&nbsp;</p>
</td>
<td>
</td>
</tr>
<tr> <tr>
<td> <td>
<p>MESSAGE_CREATE</p> <p>MESSAGE_CREATE</p>
@ -4163,68 +4173,6 @@
<h3 id="TargetOptions"><span class="symbol-name">TargetOptions</span><small class="property-type"> <h3 id="TargetOptions"><span class="symbol-name">TargetOptions</span><small class="property-type">
&nbsp;Object</small></h3> &nbsp;Object</small></h3>
<p>Target options object description</p> <p>Target options object description</p>
<section>
<h4>Properties</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>module</p>
</td>
<td>
<p>(string or number)</p>
</td>
<td>
<p>&nbsp;</p>
</td>
<td>
<p>The name or a key of the target module to search</p>
</td>
</tr>
<tr>
<td>
<p>index</p>
</td>
<td>
<p>number</p>
</td>
<td>
<p>&nbsp;</p>
</td>
<td>
<p>The index value of the target module</p>
</td>
</tr>
<tr>
<td>
<p>function</p>
</td>
<td>
<p>string</p>
</td>
<td>
<p>&nbsp;</p>
</td>
<td>
<p>The function name to get from a module</p>
</td>
</tr>
</tbody>
</table>
</section>
<dl class="dl-compact">
</dl>
<h3 id="TargetOptions"><span class="symbol-name">TargetOptions</span><small class="property-type">
&nbsp;Object</small></h3>
<p>Target options object description</p>
<section> <section>
<h4>Properties</h4> <h4>Properties</h4>
<table class="jsdoc-details-table"> <table class="jsdoc-details-table">
@ -4385,7 +4333,7 @@
<footer id="jsdoc-footer" class="jsdoc-footer"> <footer id="jsdoc-footer" class="jsdoc-footer">
<div id="jsdoc-footer-container"> <div id="jsdoc-footer-container">
<p> <p>
Generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc</a> 3.6.11 on January 30, 2026. Generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc</a> 3.6.11 on April 24, 2026.
</p> </p>
</div> </div>
</footer> </footer>

169
docs/index.html generated
View file

@ -3,7 +3,7 @@
<head> <head>
<meta name="generator" content="JSDoc 3.6.11"> <meta name="generator" content="JSDoc 3.6.11">
<meta charset="utf-8"> <meta charset="utf-8">
<title>whatsapp-web.js 1.34.6 &raquo; Home</title> <title>whatsapp-web.js 1.34.7 &raquo; Home</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/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/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 rel="stylesheet" href="https://brick.a.ssl.fastly.net/Inconsolata:500" type="text/css">
@ -13,7 +13,7 @@
<nav id="jsdoc-navbar" role="navigation" class="jsdoc-navbar"> <nav id="jsdoc-navbar" role="navigation" class="jsdoc-navbar">
<div id="jsdoc-navbar-container"> <div id="jsdoc-navbar-container">
<div id="jsdoc-navbar-content"> <div id="jsdoc-navbar-content">
<a href="index.html" class="jsdoc-navbar-package-name">whatsapp-web.<wbr>js 1.<wbr>34.<wbr>6</a> <a href="index.html" class="jsdoc-navbar-package-name">whatsapp-web.<wbr>js 1.<wbr>34.<wbr>7</a>
</div> </div>
</div> </div>
</nav> </nav>
@ -26,61 +26,62 @@
<div id="jsdoc-main" role="main"> <div id="jsdoc-main" role="main">
<header class="page-header"> <header class="page-header">
<h1> <h1>
whatsapp-web.js 1.34.6 whatsapp-web.js 1.34.7
</h1> </h1>
</header> </header>
<article><div align="center"> <article><div align="center">
<br />
<p> <p>
<a href="https://wwebjs.dev"><img src="https://github.com/wwebjs/assets/blob/main/Collection/GitHub/wwebjs.png?raw=true" title="whatsapp-web.js" alt="WWebJS Website" width="500" /></a> <a href="https://wwebjs.dev">
<img src="https://github.com/wwebjs/Assets/blob/main/Collection/GitHub/whatsapp-web.js.png?raw=true"
title="whatsapp-web.js" alt="WWebJS Website" />
</a>
</p> </p>
<br />
<p> <p>
<a href="https://www.npmjs.com/package/whatsapp-web.js"><img src="https://img.shields.io/npm/v/whatsapp-web.js.svg" alt="npm" /></a> <a href="https://www.npmjs.com/package/whatsapp-web.js"><img
<a href="https://depfu.com/github/pedroslopez/whatsapp-web.js?project_id=9765"><img src="https://badges.depfu.com/badges/4a65a0de96ece65fdf39e294e0c8dcba/overview.svg" alt="Depfu" /></a> src="https://img.shields.io/npm/v/whatsapp-web.js.svg" alt="npm" /></a>
<img src="https://img.shields.io/badge/WhatsApp_Web-2.3000.1017054665-brightgreen.svg" alt="WhatsApp_Web 2.2346.52" /> <a href="https://www.npmjs.com/package/whatsapp-web.js"><img alt="NPM Downloads"
<a href="https://discord.gg/H7DqQs4"><img src="https://img.shields.io/discord/698610475432411196.svg?logo=discord" alt="Discord server" /></a> src="https://img.shields.io/npm/d18m/whatsapp-web.js" /></a>
<a href="https://github.com/wwebjs/whatsapp-web.js/graphs/contributors"><img alt="GitHub contributors"
src="https://img.shields.io/github/contributors-anon/wwebjs/whatsapp-web.js" /></a>
<a href="https://depfu.com/github/wwebjs/whatsapp-web.js?project_id=9765"><img
src="https://badges.depfu.com/badges/4a65a0de96ece65fdf39e294e0c8dcba/overview.svg" alt="Depfu" /></a>
<a href="https://discord.wwebjs.dev"><img
src="https://img.shields.io/discord/698610475432411196.svg?logo=discord" alt="Discord server" /></a>
</p> </p>
<br />
</div> </div>
<h2>About</h2> <h2>About</h2>
<p><strong>A WhatsApp API client that operates via the WhatsApp Web browser.</strong></p> <p>whatsapp‑web.js is a powerful <a href="https://nodejs.org/en/download/">Node.js</a> library that lets you interact with WhatsApp Web, making it easy to build a dynamic WhatsApp API with nearly all features of the web client. It uses <a href="https://pptr.dev/">Puppeteer</a> to access WhatsApp Web’s internal functions and runs them in a managed browser instance to reduce the risk of being blocked.</p>
<p>The library launches the WhatsApp Web browser app via Puppeteer, accessing its internal functions and creating a managed instance to reduce the risk of being blocked. This gives the API client nearly all WhatsApp Web features for dynamic use in a Node.js application.</p>
<blockquote>
<p>[!IMPORTANT]
<strong>It is not guaranteed you will not be blocked by using this method. WhatsApp does not allow bots or unofficial clients on their platform, so this shouldn't be considered totally safe.</strong></p>
</blockquote>
<h2>Links</h2> <h2>Links</h2>
<ul> <ul>
<li><a href="https://github.com/pedroslopez/whatsapp-web.js">GitHub</a></li> <li><a href="https://github.com/wwebjs/whatsapp-web.js">GitHub</a></li>
<li><a href="https://guide.wwebjs.dev/guide">Guide</a> (<a href="https://github.com/wwebjs/wwebjs.dev/tree/main">source</a>)</li> <li><a href="https://guide.wwebjs.dev/guide">Guide</a> (<a href="https://github.com/wwebjs/wwebjs.dev/tree/main">source</a>)</li>
<li><a href="https://docs.wwebjs.dev/">Documentation</a> (<a href="https://github.com/pedroslopez/whatsapp-web.js/tree/main/docs">source</a>)</li> <li><a href="https://docs.wwebjs.dev/">Documentation</a> (<a href="https://github.com/wwebjs/whatsapp-web.js/tree/main/docs">source</a>)</li>
<li><a href="https://discord.gg/H7DqQs4">Discord Server</a></li> <li><a href="https://discord.wwebjs.dev">Discord Server</a></li>
<li><a href="https://npmjs.org/package/whatsapp-web.js">npm</a></li> <li><a href="https://npmjs.org/package/whatsapp-web.js">npm</a></li>
</ul> </ul>
<h2>Installation</h2> <h2>Installation</h2>
<p>The module is available on <a href="https://npmjs.org/package/whatsapp-web.js">npm</a> via <code>npm i whatsapp-web.js</code>!</p> <p><strong>Node.js <code>v18.0.0</code> or higher, is required.</strong></p>
<blockquote> <pre class="prettyprint source lang-sh"><code>npm install whatsapp-web.js
<p>[!NOTE] yarn add whatsapp-web.js
<strong>Node <code>v18</code> or higher, is required.</strong><br> pnpm add whatsapp-web.js
See the <a href="https://guide.wwebjs.dev/guide">Guide</a> for quick upgrade instructions.</p> </code></pre>
</blockquote> <p>Having trouble installing? Take a peak at the <a href="https://guide.wwebjs.dev/guide">Guide</a> for more detailed instructions.</p>
<h2>Example usage</h2> <h2>Example usage</h2>
<pre class="prettyprint source lang-js"><code>const { Client } = require('whatsapp-web.js'); <pre class="prettyprint source lang-js"><code>const { Client } = require('whatsapp-web.js');
const qrcode = require('qrcode-terminal');
const client = new Client(); const client = new Client();
client.on('qr', (qr) => { client.on('qr', (qr) => {
// Generate and scan this code with your phone qrcode.generate(qr, { small: true });
console.log('QR RECEIVED', qr);
}); });
client.on('ready', () => { client.on('ready', () => {
console.log('Client is ready!'); console.log('Client is ready!');
}); });
client.on('message', msg => { client.on('message', (msg) => {
if (msg.body == '!ping') { if (msg.body == '!ping') {
msg.reply('pong'); msg.reply('pong');
} }
@ -88,8 +89,8 @@ client.on('message', msg => {
client.initialize(); client.initialize();
</code></pre> </code></pre>
<p>Take a look at <a href="https://github.com/pedroslopez/whatsapp-web.js/blob/master/example.js">example.js</a> for another examples with additional use cases.<br> <p>Take a look at <a href="https://github.com/wwebjs/whatsapp-web.js/blob/main/example.js">example.js</a> for additional examples and use cases.<br>
For further details on saving and restoring sessions, explore the provided <a href="https://wwebjs.dev/guide/creating-your-bot/authentication.html">Authentication Strategies</a>.</p> For more details on saving and restoring sessions, check out the <a href="https://wwebjs.dev/guide/creating-your-bot/authentication.html">Authentication Strategies</a>.</p>
<h2>Supported features</h2> <h2>Supported features</h2>
<table> <table>
<thead> <thead>
@ -221,7 +222,7 @@ For further details on saving and restoring sessions, explore the provided <a hr
</tr> </tr>
<tr> <tr>
<td>Vote in polls</td> <td>Vote in polls</td>
<td>🔜</td> <td>✅</td>
</tr> </tr>
<tr> <tr>
<td>Communities</td> <td>Communities</td>
@ -230,22 +231,21 @@ For further details on saving and restoring sessions, explore the provided <a hr
</tbody> </tbody>
</table> </table>
<p>Something missing? Make an issue and let us know!</p> <p>Something missing? Make an issue and let us know!</p>
<h2>Contributing</h2>
<p>Feel free to open pull requests; we welcome contributions! However, for significant changes, it's best to open an issue beforehand. Make sure to review our <a href="https://github.com/pedroslopez/whatsapp-web.js/blob/main/CODE_OF_CONDUCT.md">contribution guidelines</a> before creating a pull request. Before creating your own issue or pull request, always check to see if one already exists!</p>
<h2>Supporting the project</h2> <h2>Supporting the project</h2>
<p>You can support the maintainer of this project through the links below</p> <p>You can support the maintainer of this project through the links below:</p>
<ul> <ul>
<li><a href="https://github.com/sponsors/pedroslopez">Support via GitHub Sponsors</a></li> <li><a href="https://github.com/sponsors/wwebjs">Support via GitHub Sponsors</a></li>
<li><a href="https://www.paypal.me/psla/">Support via PayPal</a></li> <li><a href="https://www.paypal.me/psla/">Support via PayPal</a></li>
<li><a href="https://m.do.co/c/73f906a36ed4">Sign up for DigitalOcean</a> and get $200 in credit when you sign up (Referral)</li>
</ul> </ul>
<h2>Contributing</h2>
<p>Feel free to open pull requests; we welcome contributions! However, for significant changes, it's best to open an issue beforehand. Make sure to review our <a href=".github/CONTRIBUTING.md">contribution guidelines</a> before creating a pull request. Before creating your own issue or pull request, always check to see if one already exists!</p>
<h2>Disclaimer</h2> <h2>Disclaimer</h2>
<p>This project is not affiliated, associated, authorized, endorsed by, or in any way officially connected with WhatsApp or any of its subsidiaries or its affiliates. The official WhatsApp website can be found at <a href="https://whatsapp.com">whatsapp.com</a>. &quot;WhatsApp&quot; as well as related names, marks, emblems and images are registered trademarks of their respective owners. Also it is not guaranteed you will not be blocked by using this method. WhatsApp does not allow bots or unofficial clients on their platform, so this shouldn't be considered totally safe.</p> <p>This project is not affiliated, associated, authorized, endorsed by, or in any way officially connected with WhatsApp or any of its subsidiaries or its affiliates. The official WhatsApp website can be found at <a href="https://whatsapp.com">whatsapp.com</a>. &quot;WhatsApp&quot; as well as related names, marks, emblems and images are registered trademarks of their respective owners. Also it is not guaranteed you will not be blocked by using this method. WhatsApp does not allow bots or unofficial clients on their platform, so this shouldn't be considered totally safe.</p>
<h2>License</h2> <h2>License</h2>
<p>Copyright 2019 Pedro S Lopez</p> <p>Copyright 2019 Pedro S Lopez</p>
<p>Licensed under the Apache License, Version 2.0 (the &quot;License&quot;);<br> <p>Licensed under the Apache License, Version 2.0 (the &quot;License&quot;);<br>
you may not use this project except in compliance with the License.<br> you may not use this project except in compliance with the License.<br>
You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.</p> You may obtain a copy of the License at <a href="https:%5C/%5C/www.apache.org/licenses/LICENSE-2.0">https://www.apache.org/licenses/LICENSE-2.0</a>.</p>
<p>Unless required by applicable law or agreed to in writing, software<br> <p>Unless required by applicable law or agreed to in writing, software<br>
distributed under the License is distributed on an &quot;AS IS&quot; BASIS,<br> distributed under the License is distributed on an &quot;AS IS&quot; BASIS,<br>
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.<br> WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.<br>
@ -898,6 +898,11 @@ limitations under the License.</p></article>
</dt> </dt>
<dd> <dd>
</dd> </dd>
<dt class="symbol-index-name">
<a href="Chat.html#isLocked" class="!symbol-index-name">Chat#<wbr>isLocked</a>
</dt>
<dd>
</dd>
<dt class="symbol-index-name"> <dt class="symbol-index-name">
<a href="Chat.html#isMuted" class="!symbol-index-name">Chat#<wbr>isMuted</a> <a href="Chat.html#isMuted" class="!symbol-index-name">Chat#<wbr>isMuted</a>
</dt> </dt>
@ -938,16 +943,16 @@ limitations under the License.</p></article>
</dt> </dt>
<dd> <dd>
</dd> </dd>
<dt class="symbol-index-name">
<a href="Chat.html#pinned" class="!symbol-index-name">Chat#<wbr>pinned</a>
</dt>
<dd>
</dd>
</dl> </dl>
</div> </div>
<div class="symbol-index-column"> <div class="symbol-index-column">
<dl class="symbol-index-list"> <dl class="symbol-index-list">
<dt class="symbol-index-name">
<a href="Chat.html#pinned" class="!symbol-index-name">Chat#<wbr>pinned</a>
</dt>
<dd>
</dd>
<dt class="symbol-index-name"> <dt class="symbol-index-name">
<a href="Chat.html#sendMessage" class="!symbol-index-name">Chat#<wbr>sendMessage(content[, options])</a> <a href="Chat.html#sendMessage" class="!symbol-index-name">Chat#<wbr>sendMessage(content[, options])</a>
</dt> </dt>
@ -1097,6 +1102,11 @@ limitations under the License.</p></article>
</dt> </dt>
<dd> <dd>
</dd> </dd>
<dt class="symbol-index-name">
<a href="Client.html#cancelPairingCode" class="!symbol-index-name">Client#<wbr>cancelPairingCode()</a>
</dt>
<dd>
</dd>
<dt class="symbol-index-name"> <dt class="symbol-index-name">
<a href="Client.html#createCallLink" class="!symbol-index-name">Client#<wbr>createCallLink(startTime, callType)</a> <a href="Client.html#createCallLink" class="!symbol-index-name">Client#<wbr>createCallLink(startTime, callType)</a>
</dt> </dt>
@ -1233,7 +1243,7 @@ limitations under the License.</p></article>
<dd> <dd>
</dd> </dd>
<dt class="symbol-index-name"> <dt class="symbol-index-name">
<a href="Client.html#event:message_create" class="!symbol-index-name">Client#<wbr>event:message_create</a> <a href="Client.html#event:message_ciphertext_failed" class="!symbol-index-name">Client#<wbr>event:message_ciphertext_failed</a>
</dt> </dt>
<dd> <dd>
</dd> </dd>
@ -1242,6 +1252,11 @@ limitations under the License.</p></article>
<div class="symbol-index-column"> <div class="symbol-index-column">
<dl class="symbol-index-list"> <dl class="symbol-index-list">
<dt class="symbol-index-name">
<a href="Client.html#event:message_create" class="!symbol-index-name">Client#<wbr>event:message_create</a>
</dt>
<dd>
</dd>
<dt class="symbol-index-name"> <dt class="symbol-index-name">
<a href="Client.html#event:message_edit" class="!symbol-index-name">Client#<wbr>event:message_edit</a> <a href="Client.html#event:message_edit" class="!symbol-index-name">Client#<wbr>event:message_edit</a>
</dt> </dt>
@ -1532,6 +1547,11 @@ limitations under the License.</p></article>
</dt> </dt>
<dd> <dd>
</dd> </dd>
<dt class="symbol-index-name">
<a href="Client.html#sendReaction" class="!symbol-index-name">Client#<wbr>sendReaction(messageId, reaction)</a>
</dt>
<dd>
</dd>
<dt class="symbol-index-name"> <dt class="symbol-index-name">
<a href="Client.html#sendResponseToScheduledEvent" class="!symbol-index-name">Client#<wbr>sendResponseToScheduledEvent(response, eventMessageId)</a> <a href="Client.html#sendResponseToScheduledEvent" class="!symbol-index-name">Client#<wbr>sendResponseToScheduledEvent(response, eventMessageId)</a>
</dt> </dt>
@ -1873,16 +1893,16 @@ limitations under the License.</p></article>
</dt> </dt>
<dd> <dd>
</dd> </dd>
</dl>
</div>
<div class="symbol-index-column">
<dl class="symbol-index-list">
<dt class="symbol-index-name"> <dt class="symbol-index-name">
<a href="global.html#Events#.GROUP_LEAVE" class="!symbol-index-name">Events.<wbr>GROUP_LEAVE</a> <a href="global.html#Events#.GROUP_LEAVE" class="!symbol-index-name">Events.<wbr>GROUP_LEAVE</a>
</dt> </dt>
<dd> <dd>
</dd> </dd>
</dl>
</div>
<div class="symbol-index-column">
<dl class="symbol-index-list">
<dt class="symbol-index-name"> <dt class="symbol-index-name">
<a href="global.html#Events#.GROUP_MEMBERSHIP_REQUEST" class="!symbol-index-name">Events.<wbr>GROUP_MEMBERSHIP_REQUEST</a> <a href="global.html#Events#.GROUP_MEMBERSHIP_REQUEST" class="!symbol-index-name">Events.<wbr>GROUP_MEMBERSHIP_REQUEST</a>
</dt> </dt>
@ -1918,6 +1938,11 @@ limitations under the License.</p></article>
</dt> </dt>
<dd> <dd>
</dd> </dd>
<dt class="symbol-index-name">
<a href="global.html#Events#.MESSAGE_CIPHERTEXT_FAILED" class="!symbol-index-name">Events.<wbr>MESSAGE_CIPHERTEXT_FAILED</a>
</dt>
<dd>
</dd>
<dt class="symbol-index-name"> <dt class="symbol-index-name">
<a href="global.html#Events#.MESSAGE_CREATE" class="!symbol-index-name">Events.<wbr>MESSAGE_CREATE</a> <a href="global.html#Events#.MESSAGE_CREATE" class="!symbol-index-name">Events.<wbr>MESSAGE_CREATE</a>
</dt> </dt>
@ -1928,16 +1953,16 @@ limitations under the License.</p></article>
</dt> </dt>
<dd> <dd>
</dd> </dd>
</dl>
</div>
<div class="symbol-index-column">
<dl class="symbol-index-list">
<dt class="symbol-index-name"> <dt class="symbol-index-name">
<a href="global.html#Events#.MESSAGE_REACTION" class="!symbol-index-name">Events.<wbr>MESSAGE_REACTION</a> <a href="global.html#Events#.MESSAGE_REACTION" class="!symbol-index-name">Events.<wbr>MESSAGE_REACTION</a>
</dt> </dt>
<dd> <dd>
</dd> </dd>
</dl>
</div>
<div class="symbol-index-column">
<dl class="symbol-index-list">
<dt class="symbol-index-name"> <dt class="symbol-index-name">
<a href="global.html#Events#.MESSAGE_RECEIVED" class="!symbol-index-name">Events.<wbr>MESSAGE_RECEIVED</a> <a href="global.html#Events#.MESSAGE_RECEIVED" class="!symbol-index-name">Events.<wbr>MESSAGE_RECEIVED</a>
</dt> </dt>
@ -2115,6 +2140,11 @@ limitations under the License.</p></article>
</dt> </dt>
<dd> <dd>
</dd> </dd>
<dt class="symbol-index-name">
<a href="GroupChat.html#isLocked" class="!symbol-index-name">GroupChat#<wbr>isLocked</a>
</dt>
<dd>
</dd>
<dt class="symbol-index-name"> <dt class="symbol-index-name">
<a href="GroupChat.html#isMuted" class="!symbol-index-name">GroupChat#<wbr>isMuted</a> <a href="GroupChat.html#isMuted" class="!symbol-index-name">GroupChat#<wbr>isMuted</a>
</dt> </dt>
@ -2185,16 +2215,16 @@ limitations under the License.</p></article>
</dt> </dt>
<dd> <dd>
</dd> </dd>
<dt class="symbol-index-name">
<a href="GroupChat.html#removeParticipants" class="!symbol-index-name">GroupChat#<wbr>removeParticipants(participantIds)</a>
</dt>
<dd>
</dd>
</dl> </dl>
</div> </div>
<div class="symbol-index-column"> <div class="symbol-index-column">
<dl class="symbol-index-list"> <dl class="symbol-index-list">
<dt class="symbol-index-name">
<a href="GroupChat.html#removeParticipants" class="!symbol-index-name">GroupChat#<wbr>removeParticipants(participantIds)</a>
</dt>
<dd>
</dd>
<dt class="symbol-index-name"> <dt class="symbol-index-name">
<a href="GroupChat.html#revokeInvite" class="!symbol-index-name">GroupChat#<wbr>revokeInvite()</a> <a href="GroupChat.html#revokeInvite" class="!symbol-index-name">GroupChat#<wbr>revokeInvite()</a>
</dt> </dt>
@ -3671,6 +3701,11 @@ limitations under the License.</p></article>
</dt> </dt>
<dd> <dd>
</dd> </dd>
<dt class="symbol-index-name">
<a href="PrivateChat.html#isLocked" class="!symbol-index-name">PrivateChat#<wbr>isLocked</a>
</dt>
<dd>
</dd>
<dt class="symbol-index-name"> <dt class="symbol-index-name">
<a href="PrivateChat.html#isMuted" class="!symbol-index-name">PrivateChat#<wbr>isMuted</a> <a href="PrivateChat.html#isMuted" class="!symbol-index-name">PrivateChat#<wbr>isMuted</a>
</dt> </dt>
@ -3711,16 +3746,16 @@ limitations under the License.</p></article>
</dt> </dt>
<dd> <dd>
</dd> </dd>
<dt class="symbol-index-name">
<a href="PrivateChat.html#pinned" class="!symbol-index-name">PrivateChat#<wbr>pinned</a>
</dt>
<dd>
</dd>
</dl> </dl>
</div> </div>
<div class="symbol-index-column"> <div class="symbol-index-column">
<dl class="symbol-index-list"> <dl class="symbol-index-list">
<dt class="symbol-index-name">
<a href="PrivateChat.html#pinned" class="!symbol-index-name">PrivateChat#<wbr>pinned</a>
</dt>
<dd>
</dd>
<dt class="symbol-index-name"> <dt class="symbol-index-name">
<a href="PrivateChat.html#sendMessage" class="!symbol-index-name">PrivateChat#<wbr>sendMessage(content[, options])</a> <a href="PrivateChat.html#sendMessage" class="!symbol-index-name">PrivateChat#<wbr>sendMessage(content[, options])</a>
</dt> </dt>
@ -4391,7 +4426,7 @@ limitations under the License.</p></article>
<div class="symbol-index-column"> <div class="symbol-index-column">
<dl class="symbol-index-list"> <dl class="symbol-index-list">
<dt class="symbol-index-name"> <dt class="symbol-index-name">
<a href="window.html#.compareWwebVersions" class="!symbol-index-name">window.<wbr>compareWwebVersions(lOperand, operator, rOperand)</a> <a href="window.WWebJS.html#.compareWwebVersions" class="!symbol-index-name">window.<wbr>WWebJS.<wbr>compareWwebVersions(lOperand, operator, rOperand)</a>
</dt> </dt>
<dd> <dd>
</dd> </dd>
@ -4401,7 +4436,7 @@ limitations under the License.</p></article>
<div class="symbol-index-column"> <div class="symbol-index-column">
<dl class="symbol-index-list"> <dl class="symbol-index-list">
<dt class="symbol-index-name"> <dt class="symbol-index-name">
<a href="window.html#.injectToFunction" class="!symbol-index-name">window.<wbr>injectToFunction(target, callback)</a> <a href="window.WWebJS.html#.injectToFunction" class="!symbol-index-name">window.<wbr>WWebJS.<wbr>injectToFunction(target, callback)</a>
</dt> </dt>
<dd> <dd>
</dd> </dd>
@ -4426,7 +4461,7 @@ limitations under the License.</p></article>
<footer id="jsdoc-footer" class="jsdoc-footer"> <footer id="jsdoc-footer" class="jsdoc-footer">
<div id="jsdoc-footer-container"> <div id="jsdoc-footer-container">
<p> <p>
Generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc</a> 3.6.11 on January 30, 2026. Generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc</a> 3.6.11 on April 24, 2026.
</p> </p>
</div> </div>
</footer> </footer>

View file

@ -4,7 +4,7 @@
<head> <head>
<meta name="generator" content="JSDoc 3.6.11"> <meta name="generator" content="JSDoc 3.6.11">
<meta charset="utf-8"> <meta charset="utf-8">
<title>whatsapp-web.js 1.34.6 &raquo; Source: structures/Base.js</title> <title>whatsapp-web.js 1.34.7 &raquo; Source: structures/Base.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/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/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 rel="stylesheet" href="https://brick.a.ssl.fastly.net/Inconsolata:500" type="text/css">
@ -15,7 +15,7 @@
<nav id="jsdoc-navbar" role="navigation" class="jsdoc-navbar"> <nav id="jsdoc-navbar" role="navigation" class="jsdoc-navbar">
<div id="jsdoc-navbar-container"> <div id="jsdoc-navbar-container">
<div id="jsdoc-navbar-content"> <div id="jsdoc-navbar-content">
<a href="index.html" class="jsdoc-navbar-package-name">whatsapp-web.<wbr>js 1.<wbr>34.<wbr>6</a> <a href="index.html" class="jsdoc-navbar-package-name">whatsapp-web.<wbr>js 1.<wbr>34.<wbr>7</a>
</div> </div>
</div> </div>
</nav> </nav>
@ -47,10 +47,13 @@ class Base {
return Object.assign(Object.create(this), this); return Object.assign(Object.create(this), this);
} }
_patch(data) { return data; } _patch(data) {
return data;
}
} }
module.exports &#x3D; Base;</code></pre> module.exports &#x3D; Base;
</code></pre>
</article> </article>
</div> </div>
</div> </div>
@ -60,7 +63,7 @@ module.exports &#x3D; Base;</code></pre>
<footer id="jsdoc-footer" class="jsdoc-footer"> <footer id="jsdoc-footer" class="jsdoc-footer">
<div id="jsdoc-footer-container"> <div id="jsdoc-footer-container">
<p> <p>
Generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc</a> 3.6.11 on January 30, 2026. Generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc</a> 3.6.11 on April 24, 2026.
</p> </p>
</div> </div>
</footer> </footer>

View file

@ -4,7 +4,7 @@
<head> <head>
<meta name="generator" content="JSDoc 3.6.11"> <meta name="generator" content="JSDoc 3.6.11">
<meta charset="utf-8"> <meta charset="utf-8">
<title>whatsapp-web.js 1.34.6 &raquo; Source: structures/Broadcast.js</title> <title>whatsapp-web.js 1.34.7 &raquo; Source: structures/Broadcast.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/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/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 rel="stylesheet" href="https://brick.a.ssl.fastly.net/Inconsolata:500" type="text/css">
@ -15,7 +15,7 @@
<nav id="jsdoc-navbar" role="navigation" class="jsdoc-navbar"> <nav id="jsdoc-navbar" role="navigation" class="jsdoc-navbar">
<div id="jsdoc-navbar-container"> <div id="jsdoc-navbar-container">
<div id="jsdoc-navbar-content"> <div id="jsdoc-navbar-content">
<a href="index.html" class="jsdoc-navbar-package-name">whatsapp-web.<wbr>js 1.<wbr>34.<wbr>6</a> <a href="index.html" class="jsdoc-navbar-package-name">whatsapp-web.<wbr>js 1.<wbr>34.<wbr>7</a>
</div> </div>
</div> </div>
</nav> </nav>
@ -74,7 +74,7 @@ class Broadcast extends Base {
* Messages statuses * Messages statuses
* @type {Message[]} * @type {Message[]}
*/ */
this.msgs &#x3D; data.msgs?.map(msg &#x3D;&gt; new Message(this.client, msg)); this.msgs &#x3D; data.msgs?.map((msg) &#x3D;&gt; new Message(this.client, msg));
return super._patch(data); return super._patch(data);
} }
@ -94,7 +94,6 @@ class Broadcast extends Base {
getContact() { getContact() {
return this.client.getContactById(this.id._serialized); return this.client.getContactById(this.id._serialized);
} }
} }
module.exports &#x3D; Broadcast; module.exports &#x3D; Broadcast;
@ -108,7 +107,7 @@ module.exports &#x3D; Broadcast;
<footer id="jsdoc-footer" class="jsdoc-footer"> <footer id="jsdoc-footer" class="jsdoc-footer">
<div id="jsdoc-footer-container"> <div id="jsdoc-footer-container">
<p> <p>
Generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc</a> 3.6.11 on January 30, 2026. Generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc</a> 3.6.11 on April 24, 2026.
</p> </p>
</div> </div>
</footer> </footer>

View file

@ -4,7 +4,7 @@
<head> <head>
<meta name="generator" content="JSDoc 3.6.11"> <meta name="generator" content="JSDoc 3.6.11">
<meta charset="utf-8"> <meta charset="utf-8">
<title>whatsapp-web.js 1.34.6 &raquo; Source: structures/BusinessContact.js</title> <title>whatsapp-web.js 1.34.7 &raquo; Source: structures/BusinessContact.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/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/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 rel="stylesheet" href="https://brick.a.ssl.fastly.net/Inconsolata:500" type="text/css">
@ -15,7 +15,7 @@
<nav id="jsdoc-navbar" role="navigation" class="jsdoc-navbar"> <nav id="jsdoc-navbar" role="navigation" class="jsdoc-navbar">
<div id="jsdoc-navbar-container"> <div id="jsdoc-navbar-container">
<div id="jsdoc-navbar-content"> <div id="jsdoc-navbar-content">
<a href="index.html" class="jsdoc-navbar-package-name">whatsapp-web.<wbr>js 1.<wbr>34.<wbr>6</a> <a href="index.html" class="jsdoc-navbar-package-name">whatsapp-web.<wbr>js 1.<wbr>34.<wbr>7</a>
</div> </div>
</div> </div>
</nav> </nav>
@ -46,10 +46,10 @@ class BusinessContact extends Contact {
return super._patch(data); return super._patch(data);
} }
} }
module.exports &#x3D; BusinessContact;</code></pre> module.exports &#x3D; BusinessContact;
</code></pre>
</article> </article>
</div> </div>
</div> </div>
@ -59,7 +59,7 @@ module.exports &#x3D; BusinessContact;</code></pre>
<footer id="jsdoc-footer" class="jsdoc-footer"> <footer id="jsdoc-footer" class="jsdoc-footer">
<div id="jsdoc-footer-container"> <div id="jsdoc-footer-container">
<p> <p>
Generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc</a> 3.6.11 on January 30, 2026. Generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc</a> 3.6.11 on April 24, 2026.
</p> </p>
</div> </div>
</footer> </footer>

View file

@ -4,7 +4,7 @@
<head> <head>
<meta name="generator" content="JSDoc 3.6.11"> <meta name="generator" content="JSDoc 3.6.11">
<meta charset="utf-8"> <meta charset="utf-8">
<title>whatsapp-web.js 1.34.6 &raquo; Source: structures/Buttons.js</title> <title>whatsapp-web.js 1.34.7 &raquo; Source: structures/Buttons.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/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/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 rel="stylesheet" href="https://brick.a.ssl.fastly.net/Inconsolata:500" type="text/css">
@ -15,7 +15,7 @@
<nav id="jsdoc-navbar" role="navigation" class="jsdoc-navbar"> <nav id="jsdoc-navbar" role="navigation" class="jsdoc-navbar">
<div id="jsdoc-navbar-container"> <div id="jsdoc-navbar-container">
<div id="jsdoc-navbar-content"> <div id="jsdoc-navbar-content">
<a href="index.html" class="jsdoc-navbar-package-name">whatsapp-web.<wbr>js 1.<wbr>34.<wbr>6</a> <a href="index.html" class="jsdoc-navbar-package-name">whatsapp-web.<wbr>js 1.<wbr>34.<wbr>7</a>
</div> </div>
</div> </div>
</nav> </nav>
@ -89,8 +89,9 @@ class Buttons {
* @type {FormattedButtonSpec[]} * @type {FormattedButtonSpec[]}
*/ */
this.buttons &#x3D; this._format(buttons); this.buttons &#x3D; this._format(buttons);
if(!this.buttons.length){ throw &#x27;[BT01] No buttons&#x27;;} if (!this.buttons.length) {
throw &#x27;[BT01] No buttons&#x27;;
}
} }
/** /**
@ -104,13 +105,17 @@ class Buttons {
_format(buttons) { _format(buttons) {
buttons &#x3D; buttons.slice(0, 3); // phone users can only see 3 buttons, so lets limit this buttons &#x3D; buttons.slice(0, 3); // phone users can only see 3 buttons, so lets limit this
return buttons.map((btn) &#x3D;&gt; { return buttons.map((btn) &#x3D;&gt; {
return {&#x27;buttonId&#x27;:btn.id ? String(btn.id) : Util.generateHash(6),&#x27;buttonText&#x27;:{&#x27;displayText&#x27;:btn.body},&#x27;type&#x27;:1}; return {
buttonId: btn.id ? String(btn.id) : Util.generateHash(6),
buttonText: { displayText: btn.body },
type: 1,
};
}); });
} }
} }
module.exports &#x3D; Buttons;</code></pre> module.exports &#x3D; Buttons;
</code></pre>
</article> </article>
</div> </div>
</div> </div>
@ -120,7 +125,7 @@ module.exports &#x3D; Buttons;</code></pre>
<footer id="jsdoc-footer" class="jsdoc-footer"> <footer id="jsdoc-footer" class="jsdoc-footer">
<div id="jsdoc-footer-container"> <div id="jsdoc-footer-container">
<p> <p>
Generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc</a> 3.6.11 on January 30, 2026. Generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc</a> 3.6.11 on April 24, 2026.
</p> </p>
</div> </div>
</footer> </footer>

View file

@ -4,7 +4,7 @@
<head> <head>
<meta name="generator" content="JSDoc 3.6.11"> <meta name="generator" content="JSDoc 3.6.11">
<meta charset="utf-8"> <meta charset="utf-8">
<title>whatsapp-web.js 1.34.6 &raquo; Source: structures/Call.js</title> <title>whatsapp-web.js 1.34.7 &raquo; Source: structures/Call.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/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/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 rel="stylesheet" href="https://brick.a.ssl.fastly.net/Inconsolata:500" type="text/css">
@ -15,7 +15,7 @@
<nav id="jsdoc-navbar" role="navigation" class="jsdoc-navbar"> <nav id="jsdoc-navbar" role="navigation" class="jsdoc-navbar">
<div id="jsdoc-navbar-container"> <div id="jsdoc-navbar-container">
<div id="jsdoc-navbar-content"> <div id="jsdoc-navbar-content">
<a href="index.html" class="jsdoc-navbar-package-name">whatsapp-web.<wbr>js 1.<wbr>34.<wbr>6</a> <a href="index.html" class="jsdoc-navbar-package-name">whatsapp-web.<wbr>js 1.<wbr>34.<wbr>7</a>
</div> </div>
</div> </div>
</nav> </nav>
@ -98,13 +98,18 @@ class Call extends Base {
* Reject the call * Reject the call
*/ */
async reject() { async reject() {
return this.client.pupPage.evaluate((peerJid, id) &#x3D;&gt; { return this.client.pupPage.evaluate(
(peerJid, id) &#x3D;&gt; {
return window.WWebJS.rejectCall(peerJid, id); return window.WWebJS.rejectCall(peerJid, id);
}, this.from, this.id); },
this.from,
this.id,
);
} }
} }
module.exports &#x3D; Call;</code></pre> module.exports &#x3D; Call;
</code></pre>
</article> </article>
</div> </div>
</div> </div>
@ -114,7 +119,7 @@ module.exports &#x3D; Call;</code></pre>
<footer id="jsdoc-footer" class="jsdoc-footer"> <footer id="jsdoc-footer" class="jsdoc-footer">
<div id="jsdoc-footer-container"> <div id="jsdoc-footer-container">
<p> <p>
Generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc</a> 3.6.11 on January 30, 2026. Generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc</a> 3.6.11 on April 24, 2026.
</p> </p>
</div> </div>
</footer> </footer>

View file

@ -4,7 +4,7 @@
<head> <head>
<meta name="generator" content="JSDoc 3.6.11"> <meta name="generator" content="JSDoc 3.6.11">
<meta charset="utf-8"> <meta charset="utf-8">
<title>whatsapp-web.js 1.34.6 &raquo; Source: structures/Channel.js</title> <title>whatsapp-web.js 1.34.7 &raquo; Source: structures/Channel.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/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/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 rel="stylesheet" href="https://brick.a.ssl.fastly.net/Inconsolata:500" type="text/css">
@ -15,7 +15,7 @@
<nav id="jsdoc-navbar" role="navigation" class="jsdoc-navbar"> <nav id="jsdoc-navbar" role="navigation" class="jsdoc-navbar">
<div id="jsdoc-navbar-container"> <div id="jsdoc-navbar-container">
<div id="jsdoc-navbar-content"> <div id="jsdoc-navbar-content">
<a href="index.html" class="jsdoc-navbar-package-name">whatsapp-web.<wbr>js 1.<wbr>34.<wbr>6</a> <a href="index.html" class="jsdoc-navbar-package-name">whatsapp-web.<wbr>js 1.<wbr>34.<wbr>7</a>
</div> </div>
</div> </div>
</nav> </nav>
@ -72,7 +72,8 @@ class Channel extends Base {
* The channel description * The channel description
* @type {string} * @type {string}
*/ */
this.description &#x3D; data.channelMetadata.description; this.description &#x3D;
data.channelMetadata?.description ?? data.description ?? &#x27;&#x27;;
/** /**
* Indicates if it is a Channel * Indicates if it is a Channel
@ -120,7 +121,9 @@ class Channel extends Base {
* Last message in the channel * Last message in the channel
* @type {Message} * @type {Message}
*/ */
this.lastMessage &#x3D; data.lastMessage ? new Message(super.client, data.lastMessage) : undefined; this.lastMessage &#x3D; data.lastMessage
? new Message(super.client, data.lastMessage)
: undefined;
return super._patch(data); return super._patch(data);
} }
@ -131,17 +134,32 @@ class Channel extends Base {
* @returns {Promise&amp;lt;Array&amp;lt;{contact: Contact, role: string}&gt;&gt;} Returns an array of objects that handle the subscribed contacts and their roles in the channel * @returns {Promise&amp;lt;Array&amp;lt;{contact: Contact, role: string}&gt;&gt;} Returns an array of objects that handle the subscribed contacts and their roles in the channel
*/ */
async getSubscribers(limit) { async getSubscribers(limit) {
return await this.client.pupPage.evaluate(async (channelId, limit) &#x3D;&gt; { return await this.client.pupPage.evaluate(
const channel &#x3D; await window.WWebJS.getChat(channelId, { getAsModel: false }); async (channelId, limit) &#x3D;&gt; {
const channel &#x3D; await window.WWebJS.getChat(channelId, {
getAsModel: false,
});
if (!channel) return []; if (!channel) return [];
!limit &amp;amp;&amp;amp; (limit &#x3D; window.Store.ChannelUtils.getMaxSubscriberNumber()); !limit &amp;amp;&amp;amp;
const response &#x3D; await window.Store.ChannelSubscribers.mexFetchNewsletterSubscribers(channelId, limit); (limit &#x3D; window
const contacts &#x3D; window.Store.ChannelSubscribers.getSubscribersInContacts(response.subscribers); .require(&#x27;WAWebNewsletterGatingUtils&#x27;)
return Promise.all(contacts.map((obj) &#x3D;&gt; ({ .getMaxSubscriberNumber());
const response &#x3D; await window
.require(&#x27;WAWebMexFetchNewsletterSubscribersJob&#x27;)
.mexFetchNewsletterSubscribers(channelId, limit);
const contacts &#x3D; window
.require(&#x27;WAWebNewsletterSubscriberListAction&#x27;)
.getSubscribersInContacts(response.subscribers);
return Promise.all(
contacts.map((obj) &#x3D;&gt; ({
...obj, ...obj,
contact: window.WWebJS.getContactModel(obj.contact) contact: window.WWebJS.getContactModel(obj.contact),
}))); })),
}, this.id._serialized, limit); );
},
this.id._serialized,
limit,
);
} }
/** /**
@ -150,7 +168,10 @@ class Channel extends Base {
* @returns {Promise&amp;lt;boolean&gt;} Returns true if the subject was properly updated. This can return false if the user does not have the necessary permissions. * @returns {Promise&amp;lt;boolean&gt;} Returns true if the subject was properly updated. This can return false if the user does not have the necessary permissions.
*/ */
async setSubject(newSubject) { async setSubject(newSubject) {
const success &#x3D; await this._setChannelMetadata({ name: newSubject }, { editName: true }); const success &#x3D; await this._setChannelMetadata(
{ name: newSubject },
{ editName: true },
);
success &amp;amp;&amp;amp; (this.name &#x3D; newSubject); success &amp;amp;&amp;amp; (this.name &#x3D; newSubject);
return success; return success;
} }
@ -161,7 +182,10 @@ class Channel extends Base {
* @returns {Promise&amp;lt;boolean&gt;} Returns true if the operation completed successfully, false otherwise * @returns {Promise&amp;lt;boolean&gt;} Returns true if the operation completed successfully, false otherwise
*/ */
async setDescription(newDescription) { async setDescription(newDescription) {
const success &#x3D; await this._setChannelMetadata({ description: newDescription }, { editDescription: true }); const success &#x3D; await this._setChannelMetadata(
{ description: newDescription },
{ editDescription: true },
);
success &amp;amp;&amp;amp; (this.description &#x3D; newDescription); success &amp;amp;&amp;amp; (this.description &#x3D; newDescription);
return success; return success;
} }
@ -172,7 +196,10 @@ class Channel extends Base {
* @returns {Promise&amp;lt;boolean&gt;} Returns true if the operation completed successfully, false otherwise * @returns {Promise&amp;lt;boolean&gt;} Returns true if the operation completed successfully, false otherwise
*/ */
async setProfilePicture(newProfilePicture) { async setProfilePicture(newProfilePicture) {
return await this._setChannelMetadata({ picture: newProfilePicture }, { editPicture: true }); return await this._setChannelMetadata(
{ picture: newProfilePicture },
{ editPicture: true },
);
} }
/** /**
@ -190,11 +217,11 @@ class Channel extends Base {
const reactionMapper &#x3D; { const reactionMapper &#x3D; {
0: 3, 0: 3,
1: 1, 1: 1,
2: 0 2: 0,
}; };
const success &#x3D; await this._setChannelMetadata( const success &#x3D; await this._setChannelMetadata(
{ reactionCodesSetting: reactionMapper[reactionCode] }, { reactionCodesSetting: reactionMapper[reactionCode] },
{ editReactionCodesSetting: true } { editReactionCodesSetting: true },
); );
success &amp;amp;&amp;amp; (this.channelMetadata.reactionCodesSetting &#x3D; reactionCode); success &amp;amp;&amp;amp; (this.channelMetadata.reactionCodesSetting &#x3D; reactionCode);
return success; return success;
@ -264,7 +291,11 @@ class Channel extends Base {
* @returns {Promise&amp;lt;boolean&gt;} Returns true if an invitation was sent successfully, false otherwise * @returns {Promise&amp;lt;boolean&gt;} Returns true if an invitation was sent successfully, false otherwise
*/ */
async sendChannelAdminInvite(chatId, options &#x3D; {}) { async sendChannelAdminInvite(chatId, options &#x3D; {}) {
return this.client.sendChannelAdminInvite(chatId, this.id._serialized, options); return this.client.sendChannelAdminInvite(
chatId,
this.id._serialized,
options,
);
} }
/** /**
@ -281,7 +312,10 @@ class Channel extends Base {
* @returns {Promise&amp;lt;boolean&gt;} Returns true if the operation completed successfully, false otherwise * @returns {Promise&amp;lt;boolean&gt;} Returns true if the operation completed successfully, false otherwise
*/ */
async revokeChannelAdminInvite(userId) { async revokeChannelAdminInvite(userId) {
return this.client.revokeChannelAdminInvite(this.id._serialized, userId); return this.client.revokeChannelAdminInvite(
this.id._serialized,
userId,
);
} }
/** /**
@ -307,7 +341,11 @@ class Channel extends Base {
* @returns {Promise&amp;lt;boolean&gt;} Returns true if the operation completed successfully, false otherwise * @returns {Promise&amp;lt;boolean&gt;} Returns true if the operation completed successfully, false otherwise
*/ */
async transferChannelOwnership(newOwnerId, options &#x3D; {}) { async transferChannelOwnership(newOwnerId, options &#x3D; {}) {
return this.client.transferChannelOwnership(this.id._serialized, newOwnerId, options); return this.client.transferChannelOwnership(
this.id._serialized,
newOwnerId,
options,
);
} }
/** /**
@ -318,36 +356,50 @@ class Channel extends Base {
* @returns {Promise&amp;lt;Array&amp;lt;Message&gt;&gt;} * @returns {Promise&amp;lt;Array&amp;lt;Message&gt;&gt;}
*/ */
async fetchMessages(searchOptions) { async fetchMessages(searchOptions) {
let messages &#x3D; await this.client.pupPage.evaluate(async (channelId, searchOptions) &#x3D;&gt; { let messages &#x3D; await this.client.pupPage.evaluate(
async (channelId, searchOptions) &#x3D;&gt; {
const msgFilter &#x3D; (m) &#x3D;&gt; { const msgFilter &#x3D; (m) &#x3D;&gt; {
if (m.isNotification || m.type &#x3D;&#x3D;&#x3D; &#x27;newsletter_notification&#x27;) { if (
m.isNotification ||
m.type &#x3D;&#x3D;&#x3D; &#x27;newsletter_notification&#x27;
) {
return false; // dont include notification messages return false; // dont include notification messages
} }
if (searchOptions &amp;amp;&amp;amp; searchOptions.fromMe !&#x3D;&#x3D; undefined &amp;amp;&amp;amp; m.id.fromMe !&#x3D;&#x3D; searchOptions.fromMe) { if (
searchOptions &amp;amp;&amp;amp;
searchOptions.fromMe !&#x3D;&#x3D; undefined &amp;amp;&amp;amp;
m.id.fromMe !&#x3D;&#x3D; searchOptions.fromMe
) {
return false; return false;
} }
return true; return true;
}; };
const channel &#x3D; await window.WWebJS.getChat(channelId, { getAsModel: false }); const channel &#x3D; await window.WWebJS.getChat(channelId, {
getAsModel: false,
});
let msgs &#x3D; channel.msgs.getModelsArray().filter(msgFilter); let msgs &#x3D; channel.msgs.getModelsArray().filter(msgFilter);
if (searchOptions &amp;amp;&amp;amp; searchOptions.limit &gt; 0) { if (searchOptions &amp;amp;&amp;amp; searchOptions.limit &gt; 0) {
while (msgs.length &amp;lt; searchOptions.limit) { while (msgs.length &amp;lt; searchOptions.limit) {
const loadedMessages &#x3D; await window.Store.ConversationMsgs.loadEarlierMsgs(channel); const loadedMessages &#x3D; await window
.require(&#x27;WAWebChatLoadMessages&#x27;)
.loadEarlierMsgs({ chat: channel });
if (!loadedMessages || !loadedMessages.length) break; if (!loadedMessages || !loadedMessages.length) break;
msgs &#x3D; [...loadedMessages.filter(msgFilter), ...msgs]; msgs &#x3D; [...loadedMessages.filter(msgFilter), ...msgs];
} }
if (msgs.length &gt; searchOptions.limit) { if (msgs.length &gt; searchOptions.limit) {
msgs.sort((a, b) &#x3D;&gt; (a.t &gt; b.t) ? 1 : -1); msgs.sort((a, b) &#x3D;&gt; (a.t &gt; b.t ? 1 : -1));
msgs &#x3D; msgs.splice(msgs.length - searchOptions.limit); msgs &#x3D; msgs.splice(msgs.length - searchOptions.limit);
} }
} }
return msgs.map(m &#x3D;&gt; window.WWebJS.getMessageModel(m)); return msgs.map((m) &#x3D;&gt; window.WWebJS.getMessageModel(m));
},
}, this.id._serialized, searchOptions); this.id._serialized,
searchOptions,
);
return messages.map((msg) &#x3D;&gt; new Message(this.client, msg)); return messages.map((msg) &#x3D;&gt; new Message(this.client, msg));
} }
@ -367,27 +419,39 @@ class Channel extends Base {
* @returns {Promise&amp;lt;boolean&gt;} Returns true if the operation completed successfully, false otherwise * @returns {Promise&amp;lt;boolean&gt;} Returns true if the operation completed successfully, false otherwise
*/ */
async _setChannelMetadata(value, property) { async _setChannelMetadata(value, property) {
return await this.client.pupPage.evaluate(async (channelId, value, property) &#x3D;&gt; { return await this.client.pupPage.evaluate(
const channel &#x3D; await window.WWebJS.getChat(channelId, { getAsModel: false }); async (channelId, value, property) &#x3D;&gt; {
const channel &#x3D; await window.WWebJS.getChat(channelId, {
getAsModel: false,
});
if (!channel) return false; if (!channel) return false;
if (property.editPicture) { if (property.editPicture) {
value.picture &#x3D; value.picture value.picture &#x3D; value.picture
? await window.WWebJS.cropAndResizeImage(value.picture, { ? await window.WWebJS.cropAndResizeImage(
value.picture,
{
asDataUrl: true, asDataUrl: true,
mimetype: &#x27;image/jpeg&#x27;, mimetype: &#x27;image/jpeg&#x27;,
size: 640, size: 640,
quality: 1 quality: 1,
}) },
)
: null; : null;
} }
try { try {
await window.Store.ChannelUtils.editNewsletterMetadataAction(channel, property, value); await window
.require(&#x27;WAWebEditNewsletterMetadataAction&#x27;)
.editNewsletterMetadataAction(channel, property, value);
return true; return true;
} catch (err) { } catch (err) {
if (err.name &#x3D;&#x3D;&#x3D; &#x27;ServerStatusCodeError&#x27;) return false; if (err.name &#x3D;&#x3D;&#x3D; &#x27;ServerStatusCodeError&#x27;) return false;
throw err; throw err;
} }
}, this.id._serialized, value, property); },
this.id._serialized,
value,
property,
);
} }
/** /**
@ -396,17 +460,35 @@ class Channel extends Base {
* @returns {Promise&amp;lt;boolean&gt;} Returns true if the operation completed successfully, false otherwise * @returns {Promise&amp;lt;boolean&gt;} Returns true if the operation completed successfully, false otherwise
*/ */
async _muteUnmuteChannel(action) { async _muteUnmuteChannel(action) {
return await this.client.pupPage.evaluate(async (channelId, action) &#x3D;&gt; { return await this.client.pupPage.evaluate(
async (channelId, action) &#x3D;&gt; {
try { try {
await window
.require(&#x27;WAWebNewsletterUpdateUserSettingJob&#x27;)
.updateNewsletterUserSetting({
newsletterJid: window
.require(&#x27;WAJids&#x27;)
.toNewsletterJid(channelId),
type: window.require(&#x27;WAWebNewsletterModelUtils&#x27;)
.ADMIN_NOTIFICATIONS,
muteExpirationValue:
action &#x3D;&#x3D;&#x3D; &#x27;MUTE&#x27; action &#x3D;&#x3D;&#x3D; &#x27;MUTE&#x27;
? await window.Store.ChannelUtils.muteNewsletter([channelId]) ? window.require(
: await window.Store.ChannelUtils.unmuteNewsletter([channelId]); &#x27;WAWebNewsletterModelUtils&#x27;,
).MUTED_STATE
: window.require(
&#x27;WAWebNewsletterModelUtils&#x27;,
).UNMUTED_STATE,
});
return true; return true;
} catch (err) { } catch (err) {
if (err.name &#x3D;&#x3D;&#x3D; &#x27;ServerStatusCodeError&#x27;) return false; if (err.name &#x3D;&#x3D;&#x3D; &#x27;ServerStatusCodeError&#x27;) return false;
throw err; throw err;
} }
}, this.id._serialized, action); },
this.id._serialized,
action,
);
} }
} }
@ -421,7 +503,7 @@ module.exports &#x3D; Channel;
<footer id="jsdoc-footer" class="jsdoc-footer"> <footer id="jsdoc-footer" class="jsdoc-footer">
<div id="jsdoc-footer-container"> <div id="jsdoc-footer-container">
<p> <p>
Generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc</a> 3.6.11 on January 30, 2026. Generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc</a> 3.6.11 on April 24, 2026.
</p> </p>
</div> </div>
</footer> </footer>

View file

@ -4,7 +4,7 @@
<head> <head>
<meta name="generator" content="JSDoc 3.6.11"> <meta name="generator" content="JSDoc 3.6.11">
<meta charset="utf-8"> <meta charset="utf-8">
<title>whatsapp-web.js 1.34.6 &raquo; Source: structures/Chat.js</title> <title>whatsapp-web.js 1.34.7 &raquo; Source: structures/Chat.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/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/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 rel="stylesheet" href="https://brick.a.ssl.fastly.net/Inconsolata:500" type="text/css">
@ -15,7 +15,7 @@
<nav id="jsdoc-navbar" role="navigation" class="jsdoc-navbar"> <nav id="jsdoc-navbar" role="navigation" class="jsdoc-navbar">
<div id="jsdoc-navbar-container"> <div id="jsdoc-navbar-container">
<div id="jsdoc-navbar-content"> <div id="jsdoc-navbar-content">
<a href="index.html" class="jsdoc-navbar-package-name">whatsapp-web.<wbr>js 1.<wbr>34.<wbr>6</a> <a href="index.html" class="jsdoc-navbar-package-name">whatsapp-web.<wbr>js 1.<wbr>34.<wbr>7</a>
</div> </div>
</div> </div>
</nav> </nav>
@ -94,6 +94,12 @@ class Chat extends Base {
*/ */
this.pinned &#x3D; !!data.pin; this.pinned &#x3D; !!data.pin;
/**
* Indicates if the Chat is locked
* @type {boolean}
*/
this.isLocked &#x3D; data.isLocked;
/** /**
* Indicates if the chat is muted or not * Indicates if the chat is muted or not
* @type {boolean} * @type {boolean}
@ -110,7 +116,9 @@ class Chat extends Base {
* Last message fo chat * Last message fo chat
* @type {Message} * @type {Message}
*/ */
this.lastMessage &#x3D; data.lastMessage ? new Message(this.client, data.lastMessage) : undefined; this.lastMessage &#x3D; data.lastMessage
? new Message(this.client, data.lastMessage)
: undefined;
return super._patch(data); return super._patch(data);
} }
@ -138,7 +146,7 @@ class Chat extends Base {
* @returns {Promise&amp;lt;boolean&gt;} result * @returns {Promise&amp;lt;boolean&gt;} result
*/ */
async clearMessages() { async clearMessages() {
return this.client.pupPage.evaluate(chatId &#x3D;&gt; { return this.client.pupPage.evaluate((chatId) &#x3D;&gt; {
return window.WWebJS.sendClearChat(chatId); return window.WWebJS.sendClearChat(chatId);
}, this.id._serialized); }, this.id._serialized);
} }
@ -148,7 +156,7 @@ class Chat extends Base {
* @returns {Promise&amp;lt;Boolean&gt;} result * @returns {Promise&amp;lt;Boolean&gt;} result
*/ */
async delete() { async delete() {
return this.client.pupPage.evaluate(chatId &#x3D;&gt; { return this.client.pupPage.evaluate((chatId) &#x3D;&gt; {
return window.WWebJS.sendDeleteChat(chatId); return window.WWebJS.sendDeleteChat(chatId);
}, this.id._serialized); }, this.id._serialized);
} }
@ -189,7 +197,10 @@ class Chat extends Base {
* @returns {Promise&amp;lt;{isMuted: boolean, muteExpiration: number}&gt;} * @returns {Promise&amp;lt;{isMuted: boolean, muteExpiration: number}&gt;}
*/ */
async mute(unmuteDate) { async mute(unmuteDate) {
const result &#x3D; await this.client.muteChat(this.id._serialized, unmuteDate); const result &#x3D; await this.client.muteChat(
this.id._serialized,
unmuteDate,
);
this.isMuted &#x3D; result.isMuted; this.isMuted &#x3D; result.isMuted;
this.muteExpiration &#x3D; result.muteExpiration; this.muteExpiration &#x3D; result.muteExpiration;
return result; return result;
@ -221,45 +232,56 @@ class Chat extends Base {
* @returns {Promise&amp;lt;Array&amp;lt;Message&gt;&gt;} * @returns {Promise&amp;lt;Array&amp;lt;Message&gt;&gt;}
*/ */
async fetchMessages(searchOptions) { async fetchMessages(searchOptions) {
let messages &#x3D; await this.client.pupPage.evaluate(async (chatId, searchOptions) &#x3D;&gt; { let messages &#x3D; await this.client.pupPage.evaluate(
async (chatId, searchOptions) &#x3D;&gt; {
const msgFilter &#x3D; (m) &#x3D;&gt; { const msgFilter &#x3D; (m) &#x3D;&gt; {
if (m.isNotification) { if (m.isNotification) {
return false; // dont include notification messages return false; // dont include notification messages
} }
if (searchOptions &amp;amp;&amp;amp; searchOptions.fromMe !&#x3D;&#x3D; undefined &amp;amp;&amp;amp; m.id.fromMe !&#x3D;&#x3D; searchOptions.fromMe) { if (
searchOptions &amp;amp;&amp;amp;
searchOptions.fromMe !&#x3D;&#x3D; undefined &amp;amp;&amp;amp;
m.id.fromMe !&#x3D;&#x3D; searchOptions.fromMe
) {
return false; return false;
} }
return true; return true;
}; };
const chat &#x3D; await window.WWebJS.getChat(chatId, { getAsModel: false }); const chat &#x3D; await window.WWebJS.getChat(chatId, {
getAsModel: false,
});
let msgs &#x3D; chat.msgs.getModelsArray().filter(msgFilter); let msgs &#x3D; chat.msgs.getModelsArray().filter(msgFilter);
if (searchOptions &amp;amp;&amp;amp; searchOptions.limit &gt; 0) { if (searchOptions &amp;amp;&amp;amp; searchOptions.limit &gt; 0) {
while (msgs.length &amp;lt; searchOptions.limit) { while (msgs.length &amp;lt; searchOptions.limit) {
const loadedMessages &#x3D; await window.Store.ConversationMsgs.loadEarlierMsgs(chat,chat.msgs); const loadedMessages &#x3D; await window
.require(&#x27;WAWebChatLoadMessages&#x27;)
.loadEarlierMsgs({ chat });
if (!loadedMessages || !loadedMessages.length) break; if (!loadedMessages || !loadedMessages.length) break;
msgs &#x3D; [...loadedMessages.filter(msgFilter), ...msgs]; msgs &#x3D; [...loadedMessages.filter(msgFilter), ...msgs];
} }
if (msgs.length &gt; searchOptions.limit) { if (msgs.length &gt; searchOptions.limit) {
msgs.sort((a, b) &#x3D;&gt; (a.t &gt; b.t) ? 1 : -1); msgs.sort((a, b) &#x3D;&gt; (a.t &gt; b.t ? 1 : -1));
msgs &#x3D; msgs.splice(msgs.length - searchOptions.limit); msgs &#x3D; msgs.splice(msgs.length - searchOptions.limit);
} }
} }
return msgs.map(m &#x3D;&gt; window.WWebJS.getMessageModel(m)); return msgs.map((m) &#x3D;&gt; window.WWebJS.getMessageModel(m));
},
this.id._serialized,
searchOptions,
);
}, this.id._serialized, searchOptions); return messages.map((m) &#x3D;&gt; new Message(this.client, m));
return messages.map(m &#x3D;&gt; new Message(this.client, m));
} }
/** /**
* Simulate typing in chat. This will last for 25 seconds. * Simulate typing in chat. This will last for 25 seconds.
*/ */
async sendStateTyping() { async sendStateTyping() {
return this.client.pupPage.evaluate(chatId &#x3D;&gt; { return this.client.pupPage.evaluate((chatId) &#x3D;&gt; {
window.WWebJS.sendChatstate(&#x27;typing&#x27;, chatId); window.WWebJS.sendChatstate(&#x27;typing&#x27;, chatId);
return true; return true;
}, this.id._serialized); }, this.id._serialized);
@ -269,7 +291,7 @@ class Chat extends Base {
* Simulate recording audio in chat. This will last for 25 seconds. * Simulate recording audio in chat. This will last for 25 seconds.
*/ */
async sendStateRecording() { async sendStateRecording() {
return this.client.pupPage.evaluate(chatId &#x3D;&gt; { return this.client.pupPage.evaluate((chatId) &#x3D;&gt; {
window.WWebJS.sendChatstate(&#x27;recording&#x27;, chatId); window.WWebJS.sendChatstate(&#x27;recording&#x27;, chatId);
return true; return true;
}, this.id._serialized); }, this.id._serialized);
@ -279,7 +301,7 @@ class Chat extends Base {
* Stops typing or recording in chat immediately. * Stops typing or recording in chat immediately.
*/ */
async clearState() { async clearState() {
return this.client.pupPage.evaluate(chatId &#x3D;&gt; { return this.client.pupPage.evaluate((chatId) &#x3D;&gt; {
window.WWebJS.sendChatstate(&#x27;stop&#x27;, chatId); window.WWebJS.sendChatstate(&#x27;stop&#x27;, chatId);
return true; return true;
}, this.id._serialized); }, this.id._serialized);
@ -368,7 +390,7 @@ module.exports &#x3D; Chat;
<footer id="jsdoc-footer" class="jsdoc-footer"> <footer id="jsdoc-footer" class="jsdoc-footer">
<div id="jsdoc-footer-container"> <div id="jsdoc-footer-container">
<p> <p>
Generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc</a> 3.6.11 on January 30, 2026. Generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc</a> 3.6.11 on April 24, 2026.
</p> </p>
</div> </div>
</footer> </footer>

View file

@ -4,7 +4,7 @@
<head> <head>
<meta name="generator" content="JSDoc 3.6.11"> <meta name="generator" content="JSDoc 3.6.11">
<meta charset="utf-8"> <meta charset="utf-8">
<title>whatsapp-web.js 1.34.6 &raquo; Source: structures/ClientInfo.js</title> <title>whatsapp-web.js 1.34.7 &raquo; Source: structures/ClientInfo.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/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/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 rel="stylesheet" href="https://brick.a.ssl.fastly.net/Inconsolata:500" type="text/css">
@ -15,7 +15,7 @@
<nav id="jsdoc-navbar" role="navigation" class="jsdoc-navbar"> <nav id="jsdoc-navbar" role="navigation" class="jsdoc-navbar">
<div id="jsdoc-navbar-container"> <div id="jsdoc-navbar-container">
<div id="jsdoc-navbar-content"> <div id="jsdoc-navbar-content">
<a href="index.html" class="jsdoc-navbar-package-name">whatsapp-web.<wbr>js 1.<wbr>34.<wbr>6</a> <a href="index.html" class="jsdoc-navbar-package-name">whatsapp-web.<wbr>js 1.<wbr>34.<wbr>7</a>
</div> </div>
</div> </div>
</nav> </nav>
@ -93,13 +93,14 @@ class ClientInfo extends Base {
*/ */
async getBatteryStatus() { async getBatteryStatus() {
return await this.client.pupPage.evaluate(() &#x3D;&gt; { return await this.client.pupPage.evaluate(() &#x3D;&gt; {
const { battery, plugged } &#x3D; window.Store.Conn; const { battery, plugged } &#x3D; window.require(&#x27;WAWebConnModel&#x27;).Conn;
return { battery, plugged }; return { battery, plugged };
}); });
} }
} }
module.exports &#x3D; ClientInfo;</code></pre> module.exports &#x3D; ClientInfo;
</code></pre>
</article> </article>
</div> </div>
</div> </div>
@ -109,7 +110,7 @@ module.exports &#x3D; ClientInfo;</code></pre>
<footer id="jsdoc-footer" class="jsdoc-footer"> <footer id="jsdoc-footer" class="jsdoc-footer">
<div id="jsdoc-footer-container"> <div id="jsdoc-footer-container">
<p> <p>
Generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc</a> 3.6.11 on January 30, 2026. Generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc</a> 3.6.11 on April 24, 2026.
</p> </p>
</div> </div>
</footer> </footer>

View file

@ -4,7 +4,7 @@
<head> <head>
<meta name="generator" content="JSDoc 3.6.11"> <meta name="generator" content="JSDoc 3.6.11">
<meta charset="utf-8"> <meta charset="utf-8">
<title>whatsapp-web.js 1.34.6 &raquo; Source: structures/Contact.js</title> <title>whatsapp-web.js 1.34.7 &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/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/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 rel="stylesheet" href="https://brick.a.ssl.fastly.net/Inconsolata:500" type="text/css">
@ -15,7 +15,7 @@
<nav id="jsdoc-navbar" role="navigation" class="jsdoc-navbar"> <nav id="jsdoc-navbar" role="navigation" class="jsdoc-navbar">
<div id="jsdoc-navbar-container"> <div id="jsdoc-navbar-container">
<div id="jsdoc-navbar-content"> <div id="jsdoc-navbar-content">
<a href="index.html" class="jsdoc-navbar-package-name">whatsapp-web.<wbr>js 1.<wbr>34.<wbr>6</a> <a href="index.html" class="jsdoc-navbar-package-name">whatsapp-web.<wbr>js 1.<wbr>34.<wbr>7</a>
</div> </div>
</div> </div>
</nav> </nav>
@ -186,8 +186,18 @@ class Contact extends Base {
if (this.isGroup) return false; if (this.isGroup) return false;
await this.client.pupPage.evaluate(async (contactId) &#x3D;&gt; { await this.client.pupPage.evaluate(async (contactId) &#x3D;&gt; {
const contact &#x3D; window.Store.Contact.get(contactId); const contact &#x3D; await window
await window.Store.BlockContact.blockContact({contact}); .require(&#x27;WAWebCollections&#x27;)
.Contact.find(contactId);
const resolved &#x3D; window
.require(&#x27;WAWebBlockContactUtils&#x27;)
.getContactToBlockOnlyUseIfNoAssociatedChat(
contact,
&#x27;ChatListBlock&#x27;,
);
await window
.require(&#x27;WAWebBlockContactAction&#x27;)
.blockContact({ contact: resolved });
}, this.id._serialized); }, this.id._serialized);
this.isBlocked &#x3D; true; this.isBlocked &#x3D; true;
@ -202,8 +212,18 @@ class Contact extends Base {
if (this.isGroup) return false; if (this.isGroup) return false;
await this.client.pupPage.evaluate(async (contactId) &#x3D;&gt; { await this.client.pupPage.evaluate(async (contactId) &#x3D;&gt; {
const contact &#x3D; window.Store.Contact.get(contactId); const contact &#x3D; await window
await window.Store.BlockContact.unblockContact(contact); .require(&#x27;WAWebCollections&#x27;)
.Contact.find(contactId);
const resolved &#x3D; window
.require(&#x27;WAWebBlockContactUtils&#x27;)
.getContactToBlockOnlyUseIfNoAssociatedChat(
contact,
&#x27;ChatListBlock&#x27;,
);
await window
.require(&#x27;WAWebBlockContactAction&#x27;)
.unblockContact(resolved);
}, this.id._serialized); }, this.id._serialized);
this.isBlocked &#x3D; false; this.isBlocked &#x3D; false;
@ -216,12 +236,13 @@ class Contact extends Base {
*/ */
async getAbout() { async getAbout() {
const about &#x3D; await this.client.pupPage.evaluate(async (contactId) &#x3D;&gt; { const about &#x3D; await this.client.pupPage.evaluate(async (contactId) &#x3D;&gt; {
const wid &#x3D; window.Store.WidFactory.createWid(contactId); const wid &#x3D; window.require(&#x27;WAWebWidFactory&#x27;).createWid(contactId);
return window.Store.StatusUtils.getStatus({&#x27;token&#x27;:&#x27;&#x27;, &#x27;wid&#x27;: wid}); return window
.require(&#x27;WAWebContactStatusBridge&#x27;)
.getStatus({ token: &#x27;&#x27;, wid: wid });
}, this.id._serialized); }, this.id._serialized);
if (typeof about.status !&#x3D;&#x3D; &#x27;string&#x27;) if (typeof about.status !&#x3D;&#x3D; &#x27;string&#x27;) return null;
return null;
return about.status; return about.status;
} }
@ -254,7 +275,7 @@ module.exports &#x3D; Contact;
<footer id="jsdoc-footer" class="jsdoc-footer"> <footer id="jsdoc-footer" class="jsdoc-footer">
<div id="jsdoc-footer-container"> <div id="jsdoc-footer-container">
<p> <p>
Generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc</a> 3.6.11 on January 30, 2026. Generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc</a> 3.6.11 on April 24, 2026.
</p> </p>
</div> </div>
</footer> </footer>

View file

@ -4,7 +4,7 @@
<head> <head>
<meta name="generator" content="JSDoc 3.6.11"> <meta name="generator" content="JSDoc 3.6.11">
<meta charset="utf-8"> <meta charset="utf-8">
<title>whatsapp-web.js 1.34.6 &raquo; Source: structures/GroupChat.js</title> <title>whatsapp-web.js 1.34.7 &raquo; Source: structures/GroupChat.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/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/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 rel="stylesheet" href="https://brick.a.ssl.fastly.net/Inconsolata:500" type="text/css">
@ -15,7 +15,7 @@
<nav id="jsdoc-navbar" role="navigation" class="jsdoc-navbar"> <nav id="jsdoc-navbar" role="navigation" class="jsdoc-navbar">
<div id="jsdoc-navbar-container"> <div id="jsdoc-navbar-container">
<div id="jsdoc-navbar-content"> <div id="jsdoc-navbar-content">
<a href="index.html" class="jsdoc-navbar-package-name">whatsapp-web.<wbr>js 1.<wbr>34.<wbr>6</a> <a href="index.html" class="jsdoc-navbar-package-name">whatsapp-web.<wbr>js 1.<wbr>34.<wbr>7</a>
</div> </div>
</div> </div>
</nav> </nav>
@ -107,31 +107,51 @@ class GroupChat extends Chat {
* @returns {Promise&amp;lt;Object.&amp;lt;string, AddParticipantsResult&gt;|string&gt;} Returns an object with the resulting data or an error message as a string * @returns {Promise&amp;lt;Object.&amp;lt;string, AddParticipantsResult&gt;|string&gt;} Returns an object with the resulting data or an error message as a string
*/ */
async addParticipants(participantIds, options &#x3D; {}) { async addParticipants(participantIds, options &#x3D; {}) {
return await this.client.pupPage.evaluate(async (groupId, participantIds, options) &#x3D;&gt; { return await this.client.pupPage.evaluate(
const { sleep &#x3D; [250, 500], autoSendInviteV4 &#x3D; true, comment &#x3D; &#x27;&#x27; } &#x3D; options; async (groupId, participantIds, options) &#x3D;&gt; {
const {
sleep &#x3D; [250, 500],
autoSendInviteV4 &#x3D; true,
comment &#x3D; &#x27;&#x27;,
} &#x3D; options;
const participantData &#x3D; {}; const participantData &#x3D; {};
!Array.isArray(participantIds) &amp;amp;&amp;amp; (participantIds &#x3D; [participantIds]); !Array.isArray(participantIds) &amp;amp;&amp;amp;
const groupWid &#x3D; window.Store.WidFactory.createWid(groupId); (participantIds &#x3D; [participantIds]);
const group &#x3D; window.Store.Chat.get(groupWid) || (await window.Store.Chat.find(groupWid)); const groupWid &#x3D; window
const participantWids &#x3D; participantIds.map((p) &#x3D;&gt; window.Store.WidFactory.createWid(p)); .require(&#x27;WAWebWidFactory&#x27;)
.createWid(groupId);
const group &#x3D;
window.require(&#x27;WAWebCollections&#x27;).Chat.get(groupWid) ||
(await window
.require(&#x27;WAWebCollections&#x27;)
.Chat.find(groupWid));
const participantWids &#x3D; participantIds.map((p) &#x3D;&gt;
window.require(&#x27;WAWebWidFactory&#x27;).createWid(p),
);
const errorCodes &#x3D; { const errorCodes &#x3D; {
default: &#x27;An unknown error occupied while adding a participant&#x27;, default:
isGroupEmpty: &#x27;AddParticipantsError: The participant can\&#x27;t be added to an empty group&#x27;, &#x27;An unknown error occupied while adding a participant&#x27;,
iAmNotAdmin: &#x27;AddParticipantsError: You have no admin rights to add a participant to a group&#x27;, isGroupEmpty:
&quot;AddParticipantsError: The participant can&#x27;t be added to an empty group&quot;,
iAmNotAdmin:
&#x27;AddParticipantsError: You have no admin rights to add a participant to a group&#x27;,
200: &#x27;The participant was added successfully&#x27;, 200: &#x27;The participant was added successfully&#x27;,
403: &#x27;The participant can be added by sending private invitation only&#x27;, 403: &#x27;The participant can be added by sending private invitation only&#x27;,
404: &#x27;The phone number is not registered on WhatsApp&#x27;, 404: &#x27;The phone number is not registered on WhatsApp&#x27;,
408: &#x27;You cannot add this participant because they recently left the group&#x27;, 408: &#x27;You cannot add this participant because they recently left the group&#x27;,
409: &#x27;The participant is already a group member&#x27;, 409: &#x27;The participant is already a group member&#x27;,
417: &#x27;The participant can\&#x27;t be added to the community. You can invite them privately to join this group through its invite link&#x27;, 417: &quot;The participant can&#x27;t be added to the community. You can invite them privately to join this group through its invite link&quot;,
419: &#x27;The participant can\&#x27;t be added because the group is full&#x27; 419: &quot;The participant can&#x27;t be added because the group is full&quot;,
}; };
await window.Store.GroupQueryAndUpdate({ id: groupId }); await window
.require(&#x27;WAWebGroupQueryJob&#x27;)
.queryAndUpdateGroupMetadataById({ id: groupId });
let groupParticipants &#x3D; group.groupMetadata?.participants.serialize(); let groupParticipants &#x3D;
group.groupMetadata?.participants.serialize();
if (!groupParticipants) { if (!groupParticipants) {
return errorCodes.isGroupEmpty; return errorCodes.isGroupEmpty;
@ -142,44 +162,68 @@ class GroupChat extends Chat {
} }
groupParticipants.map(({ id }) &#x3D;&gt; { groupParticipants.map(({ id }) &#x3D;&gt; {
return id.server &#x3D;&#x3D;&#x3D; &#x27;lid&#x27; ? window.Store.LidUtils.getPhoneNumber(id) : id; return id.server &#x3D;&#x3D;&#x3D; &#x27;lid&#x27;
? window.require(&#x27;WAWebApiContact&#x27;).getPhoneNumber(id)
: id;
}); });
const _getSleepTime &#x3D; (sleep) &#x3D;&gt; { const _getSleepTime &#x3D; (sleep) &#x3D;&gt; {
if (!Array.isArray(sleep) || sleep.length &#x3D;&#x3D;&#x3D; 2 &amp;amp;&amp;amp; sleep[0] &#x3D;&#x3D;&#x3D; sleep[1]) { if (
!Array.isArray(sleep) ||
(sleep.length &#x3D;&#x3D;&#x3D; 2 &amp;amp;&amp;amp; sleep[0] &#x3D;&#x3D;&#x3D; sleep[1])
) {
return sleep; return sleep;
} }
if (sleep.length &#x3D;&#x3D;&#x3D; 1) { if (sleep.length &#x3D;&#x3D;&#x3D; 1) {
return sleep[0]; return sleep[0];
} }
(sleep[1] - sleep[0]) &amp;lt; 100 &amp;amp;&amp;amp; (sleep[0] &#x3D; sleep[1]) &amp;amp;&amp;amp; (sleep[1] +&#x3D; 100); sleep[1] - sleep[0] &amp;lt; 100 &amp;amp;&amp;amp;
return Math.floor(Math.random() * (sleep[1] - sleep[0] + 1)) + sleep[0]; (sleep[0] &#x3D; sleep[1]) &amp;amp;&amp;amp;
(sleep[1] +&#x3D; 100);
return (
Math.floor(Math.random() * (sleep[1] - sleep[0] + 1)) +
sleep[0]
);
}; };
for (let pWid of participantWids) { for (let pWid of participantWids) {
const pId &#x3D; pWid._serialized; const pId &#x3D; pWid._serialized;
pWid &#x3D; pWid.server &#x3D;&#x3D;&#x3D; &#x27;lid&#x27; ? window.Store.LidUtils.getPhoneNumber(pWid) : pWid; pWid &#x3D;
pWid.server &#x3D;&#x3D;&#x3D; &#x27;lid&#x27;
? window
.require(&#x27;WAWebApiContact&#x27;)
.getPhoneNumber(pWid)
: pWid;
participantData[pId] &#x3D; { participantData[pId] &#x3D; {
code: undefined, code: undefined,
message: undefined, message: undefined,
isInviteV4Sent: false isInviteV4Sent: false,
}; };
if (groupParticipants.some(p &#x3D;&gt; p._serialized &#x3D;&#x3D;&#x3D; pId)) { if (groupParticipants.some((p) &#x3D;&gt; p._serialized &#x3D;&#x3D;&#x3D; pId)) {
participantData[pId].code &#x3D; 409; participantData[pId].code &#x3D; 409;
participantData[pId].message &#x3D; errorCodes[409]; participantData[pId].message &#x3D; errorCodes[409];
continue; continue;
} }
if (!(await window.Store.QueryExist(pWid))?.wid) { if (
!(
await window
.require(&#x27;WAWebQueryExistsJob&#x27;)
.queryWidExists(pWid)
)?.wid
) {
participantData[pId].code &#x3D; 404; participantData[pId].code &#x3D; 404;
participantData[pId].message &#x3D; errorCodes[404]; participantData[pId].message &#x3D; errorCodes[404];
continue; continue;
} }
const rpcResult &#x3D; const rpcResult &#x3D;
await window.WWebJS.getAddParticipantsRpcResult(groupWid, pWid); await window.WWebJS.getAddParticipantsRpcResult(
groupWid,
pWid,
);
const { code: rpcResultCode } &#x3D; rpcResult; const { code: rpcResultCode } &#x3D; rpcResult;
participantData[pId].code &#x3D; rpcResultCode; participantData[pId].code &#x3D; rpcResultCode;
@ -187,20 +231,37 @@ class GroupChat extends Chat {
errorCodes[rpcResultCode] || errorCodes.default; errorCodes[rpcResultCode] || errorCodes.default;
if (autoSendInviteV4 &amp;amp;&amp;amp; rpcResultCode &#x3D;&#x3D;&#x3D; 403) { if (autoSendInviteV4 &amp;amp;&amp;amp; rpcResultCode &#x3D;&#x3D;&#x3D; 403) {
let userChat, isInviteV4Sent &#x3D; false; let userChat,
window.Store.Contact.gadd(pWid, { silent: true }); isInviteV4Sent &#x3D; false;
window
.require(&#x27;WAWebCollections&#x27;)
.Contact.gadd(pWid, { silent: true });
if (rpcResult.name &#x3D;&#x3D;&#x3D; &#x27;ParticipantRequestCodeCanBeSent&#x27; &amp;amp;&amp;amp; if (
(userChat &#x3D; window.Store.Chat.get(pWid) || (await window.Store.Chat.find(pWid)))) { rpcResult.name &#x3D;&#x3D;&#x3D;
const groupName &#x3D; group.formattedTitle || group.name; &#x27;ParticipantRequestCodeCanBeSent&#x27; &amp;amp;&amp;amp;
const res &#x3D; await window.Store.GroupInviteV4.sendGroupInviteMessage( (userChat &#x3D;
window
.require(&#x27;WAWebCollections&#x27;)
.Chat.get(pWid) ||
(await window
.require(&#x27;WAWebCollections&#x27;)
.Chat.find(pWid)))
) {
const groupName &#x3D;
group.formattedTitle || group.name;
const res &#x3D; await window
.require(&#x27;WAWebChatSendMessages&#x27;)
.sendGroupInviteMessage(
userChat, userChat,
group.id._serialized, group.id._serialized,
groupName, groupName,
rpcResult.inviteV4Code, rpcResult.inviteV4Code,
rpcResult.inviteV4CodeExp, rpcResult.inviteV4CodeExp,
comment, comment,
await window.WWebJS.getProfilePicThumbToBase64(groupWid) await window.WWebJS.getProfilePicThumbToBase64(
groupWid,
),
); );
isInviteV4Sent &#x3D; res.messageSendResult &#x3D;&#x3D;&#x3D; &#x27;OK&#x27;; isInviteV4Sent &#x3D; res.messageSendResult &#x3D;&#x3D;&#x3D; &#x27;OK&#x27;;
} }
@ -210,12 +271,19 @@ class GroupChat extends Chat {
sleep &amp;amp;&amp;amp; sleep &amp;amp;&amp;amp;
participantWids.length &gt; 1 &amp;amp;&amp;amp; participantWids.length &gt; 1 &amp;amp;&amp;amp;
participantWids.indexOf(pWid) !&#x3D;&#x3D; participantWids.length - 1 &amp;amp;&amp;amp; participantWids.indexOf(pWid) !&#x3D;&#x3D;
(await new Promise((resolve) &#x3D;&gt; setTimeout(resolve, _getSleepTime(sleep)))); participantWids.length - 1 &amp;amp;&amp;amp;
(await new Promise((resolve) &#x3D;&gt;
setTimeout(resolve, _getSleepTime(sleep)),
));
} }
return participantData; return participantData;
}, this.id._serialized, participantIds, options); },
this.id._serialized,
participantIds,
options,
);
} }
/** /**
@ -224,17 +292,36 @@ class GroupChat extends Chat {
* @returns {Promise&amp;lt;{ status: number }&gt;} * @returns {Promise&amp;lt;{ status: number }&gt;}
*/ */
async removeParticipants(participantIds) { async removeParticipants(participantIds) {
return await this.client.pupPage.evaluate(async (chatId, participantIds) &#x3D;&gt; { return await this.client.pupPage.evaluate(
const chat &#x3D; await window.WWebJS.getChat(chatId, { getAsModel: false }); async (chatId, participantIds) &#x3D;&gt; {
const participants &#x3D; (await Promise.all(participantIds.map(async p &#x3D;&gt; { const chat &#x3D; await window.WWebJS.getChat(chatId, {
const { lid, phone } &#x3D; await window.WWebJS.enforceLidAndPnRetrieval(p); getAsModel: false,
});
const participants &#x3D; (
await Promise.all(
participantIds.map(async (p) &#x3D;&gt; {
const { lid, phone } &#x3D;
await window.WWebJS.enforceLidAndPnRetrieval(p);
return chat.groupMetadata.participants.get(lid?._serialized) || return (
chat.groupMetadata.participants.get(phone?._serialized); chat.groupMetadata.participants.get(
}))).filter(Boolean); lid?._serialized,
await window.Store.GroupParticipants.removeParticipants(chat, participants); ) ||
chat.groupMetadata.participants.get(
phone?._serialized,
)
);
}),
)
).filter(Boolean);
await window
.require(&#x27;WAWebModifyParticipantsGroupAction&#x27;)
.removeParticipants(chat, participants);
return { status: 200 }; return { status: 200 };
}, this.id._serialized, participantIds); },
this.id._serialized,
participantIds,
);
} }
/** /**
@ -243,17 +330,36 @@ class GroupChat extends Chat {
* @returns {Promise&amp;lt;{ status: number }&gt;} Object with status code indicating if the operation was successful * @returns {Promise&amp;lt;{ status: number }&gt;} Object with status code indicating if the operation was successful
*/ */
async promoteParticipants(participantIds) { async promoteParticipants(participantIds) {
return await this.client.pupPage.evaluate(async (chatId, participantIds) &#x3D;&gt; { return await this.client.pupPage.evaluate(
const chat &#x3D; await window.WWebJS.getChat(chatId, { getAsModel: false }); async (chatId, participantIds) &#x3D;&gt; {
const participants &#x3D; (await Promise.all(participantIds.map(async p &#x3D;&gt; { const chat &#x3D; await window.WWebJS.getChat(chatId, {
const { lid, phone } &#x3D; await window.WWebJS.enforceLidAndPnRetrieval(p); getAsModel: false,
});
const participants &#x3D; (
await Promise.all(
participantIds.map(async (p) &#x3D;&gt; {
const { lid, phone } &#x3D;
await window.WWebJS.enforceLidAndPnRetrieval(p);
return chat.groupMetadata.participants.get(lid?._serialized) || return (
chat.groupMetadata.participants.get(phone?._serialized); chat.groupMetadata.participants.get(
}))).filter(Boolean); lid?._serialized,
await window.Store.GroupParticipants.promoteParticipants(chat, participants); ) ||
chat.groupMetadata.participants.get(
phone?._serialized,
)
);
}),
)
).filter(Boolean);
await window
.require(&#x27;WAWebModifyParticipantsGroupAction&#x27;)
.promoteParticipants(chat, participants);
return { status: 200 }; return { status: 200 };
}, this.id._serialized, participantIds); },
this.id._serialized,
participantIds,
);
} }
/** /**
@ -262,17 +368,36 @@ class GroupChat extends Chat {
* @returns {Promise&amp;lt;{ status: number }&gt;} Object with status code indicating if the operation was successful * @returns {Promise&amp;lt;{ status: number }&gt;} Object with status code indicating if the operation was successful
*/ */
async demoteParticipants(participantIds) { async demoteParticipants(participantIds) {
return await this.client.pupPage.evaluate(async (chatId, participantIds) &#x3D;&gt; { return await this.client.pupPage.evaluate(
const chat &#x3D; await window.WWebJS.getChat(chatId, { getAsModel: false }); async (chatId, participantIds) &#x3D;&gt; {
const participants &#x3D; (await Promise.all(participantIds.map(async p &#x3D;&gt; { const chat &#x3D; await window.WWebJS.getChat(chatId, {
const { lid, phone } &#x3D; await window.WWebJS.enforceLidAndPnRetrieval(p); getAsModel: false,
});
const participants &#x3D; (
await Promise.all(
participantIds.map(async (p) &#x3D;&gt; {
const { lid, phone } &#x3D;
await window.WWebJS.enforceLidAndPnRetrieval(p);
return chat.groupMetadata.participants.get(lid?._serialized) || return (
chat.groupMetadata.participants.get(phone?._serialized); chat.groupMetadata.participants.get(
}))).filter(Boolean); lid?._serialized,
await window.Store.GroupParticipants.demoteParticipants(chat, participants); ) ||
chat.groupMetadata.participants.get(
phone?._serialized,
)
);
}),
)
).filter(Boolean);
await window
.require(&#x27;WAWebModifyParticipantsGroupAction&#x27;)
.demoteParticipants(chat, participants);
return { status: 200 }; return { status: 200 };
}, this.id._serialized, participantIds); },
this.id._serialized,
participantIds,
);
} }
/** /**
@ -281,16 +406,24 @@ class GroupChat extends Chat {
* @returns {Promise&amp;lt;boolean&gt;} Returns true if the subject was properly updated. This can return false if the user does not have the necessary permissions. * @returns {Promise&amp;lt;boolean&gt;} Returns true if the subject was properly updated. This can return false if the user does not have the necessary permissions.
*/ */
async setSubject(subject) { async setSubject(subject) {
const success &#x3D; await this.client.pupPage.evaluate(async (chatId, subject) &#x3D;&gt; { const success &#x3D; await this.client.pupPage.evaluate(
const chatWid &#x3D; window.Store.WidFactory.createWid(chatId); async (chatId, subject) &#x3D;&gt; {
const chatWid &#x3D; window
.require(&#x27;WAWebWidFactory&#x27;)
.createWid(chatId);
try { try {
await window.Store.GroupUtils.setGroupSubject(chatWid, subject); await window
.require(&#x27;WAWebGroupModifyInfoJob&#x27;)
.setGroupSubject(chatWid, subject);
return true; return true;
} catch (err) { } catch (err) {
if (err.name &#x3D;&#x3D;&#x3D; &#x27;ServerStatusCodeError&#x27;) return false; if (err.name &#x3D;&#x3D;&#x3D; &#x27;ServerStatusCodeError&#x27;) return false;
throw err; throw err;
} }
}, this.id._serialized, subject); },
this.id._serialized,
subject,
);
if (!success) return false; if (!success) return false;
this.name &#x3D; subject; this.name &#x3D; subject;
@ -303,18 +436,34 @@ class GroupChat extends Chat {
* @returns {Promise&amp;lt;boolean&gt;} Returns true if the description was properly updated. This can return false if the user does not have the necessary permissions. * @returns {Promise&amp;lt;boolean&gt;} Returns true if the description was properly updated. This can return false if the user does not have the necessary permissions.
*/ */
async setDescription(description) { async setDescription(description) {
const success &#x3D; await this.client.pupPage.evaluate(async (chatId, description) &#x3D;&gt; { const success &#x3D; await this.client.pupPage.evaluate(
const chatWid &#x3D; window.Store.WidFactory.createWid(chatId); async (chatId, description) &#x3D;&gt; {
let descId &#x3D; window.Store.GroupMetadata.get(chatWid).descId; const chatWid &#x3D; window
let newId &#x3D; await window.Store.MsgKey.newId(); .require(&#x27;WAWebWidFactory&#x27;)
.createWid(chatId);
const chat &#x3D; await window.WWebJS.getChat(chatId, {
getAsModel: false,
});
let descId &#x3D; chat.groupMetadata.descId;
let newId &#x3D; await window.require(&#x27;WAWebMsgKey&#x27;).newId();
try { try {
await window.Store.GroupUtils.setGroupDescription(chatWid, description, newId, descId); await window
.require(&#x27;WAWebGroupModifyInfoJob&#x27;)
.setGroupDescription(
chatWid,
description,
newId,
descId,
);
return true; return true;
} catch (err) { } catch (err) {
if (err.name &#x3D;&#x3D;&#x3D; &#x27;ServerStatusCodeError&#x27;) return false; if (err.name &#x3D;&#x3D;&#x3D; &#x27;ServerStatusCodeError&#x27;) return false;
throw err; throw err;
} }
}, this.id._serialized, description); },
this.id._serialized,
description,
);
if (!success) return false; if (!success) return false;
this.groupMetadata.desc &#x3D; description; this.groupMetadata.desc &#x3D; description;
@ -327,18 +476,33 @@ class GroupChat extends Chat {
* @returns {Promise&amp;lt;boolean&gt;} Returns true if the setting was properly updated. This can return false if the user does not have the necessary permissions. * @returns {Promise&amp;lt;boolean&gt;} Returns true if the setting was properly updated. This can return false if the user does not have the necessary permissions.
*/ */
async setAddMembersAdminsOnly(adminsOnly &#x3D; true) { async setAddMembersAdminsOnly(adminsOnly &#x3D; true) {
const success &#x3D; await this.client.pupPage.evaluate(async (groupId, adminsOnly) &#x3D;&gt; { const success &#x3D; await this.client.pupPage.evaluate(
const chat &#x3D; await window.WWebJS.getChat(groupId, { getAsModel: false }); async (groupId, adminsOnly) &#x3D;&gt; {
const chat &#x3D; await window.WWebJS.getChat(groupId, {
getAsModel: false,
});
try { try {
await window.Store.GroupUtils.setGroupProperty(chat, &#x27;member_add_mode&#x27;, adminsOnly ? 0 : 1); await window
.require(&#x27;WAWebSetPropertyGroupAction&#x27;)
.setGroupProperty(
chat,
&#x27;member_add_mode&#x27;,
adminsOnly ? 0 : 1,
);
return true; return true;
} catch (err) { } catch (err) {
if (err.name &#x3D;&#x3D;&#x3D; &#x27;ServerStatusCodeError&#x27;) return false; if (err.name &#x3D;&#x3D;&#x3D; &#x27;ServerStatusCodeError&#x27;) return false;
throw err; throw err;
} }
}, this.id._serialized, adminsOnly); },
this.id._serialized,
adminsOnly,
);
success &amp;amp;&amp;amp; (this.groupMetadata.memberAddMode &#x3D; adminsOnly ? &#x27;admin_add&#x27; : &#x27;all_member_add&#x27;); success &amp;amp;&amp;amp;
(this.groupMetadata.memberAddMode &#x3D; adminsOnly
? &#x27;admin_add&#x27;
: &#x27;all_member_add&#x27;);
return success; return success;
} }
@ -348,16 +512,28 @@ class GroupChat extends Chat {
* @returns {Promise&amp;lt;boolean&gt;} Returns true if the setting was properly updated. This can return false if the user does not have the necessary permissions. * @returns {Promise&amp;lt;boolean&gt;} Returns true if the setting was properly updated. This can return false if the user does not have the necessary permissions.
*/ */
async setMessagesAdminsOnly(adminsOnly &#x3D; true) { async setMessagesAdminsOnly(adminsOnly &#x3D; true) {
const success &#x3D; await this.client.pupPage.evaluate(async (chatId, adminsOnly) &#x3D;&gt; { const success &#x3D; await this.client.pupPage.evaluate(
const chat &#x3D; await window.WWebJS.getChat(chatId, { getAsModel: false }); async (chatId, adminsOnly) &#x3D;&gt; {
const chat &#x3D; await window.WWebJS.getChat(chatId, {
getAsModel: false,
});
try { try {
await window.Store.GroupUtils.setGroupProperty(chat, &#x27;announcement&#x27;, adminsOnly ? 1 : 0); await window
.require(&#x27;WAWebSetPropertyGroupAction&#x27;)
.setGroupProperty(
chat,
&#x27;announcement&#x27;,
adminsOnly ? 1 : 0,
);
return true; return true;
} catch (err) { } catch (err) {
if (err.name &#x3D;&#x3D;&#x3D; &#x27;ServerStatusCodeError&#x27;) return false; if (err.name &#x3D;&#x3D;&#x3D; &#x27;ServerStatusCodeError&#x27;) return false;
throw err; throw err;
} }
}, this.id._serialized, adminsOnly); },
this.id._serialized,
adminsOnly,
);
if (!success) return false; if (!success) return false;
@ -371,16 +547,24 @@ class GroupChat extends Chat {
* @returns {Promise&amp;lt;boolean&gt;} Returns true if the setting was properly updated. This can return false if the user does not have the necessary permissions. * @returns {Promise&amp;lt;boolean&gt;} Returns true if the setting was properly updated. This can return false if the user does not have the necessary permissions.
*/ */
async setInfoAdminsOnly(adminsOnly &#x3D; true) { async setInfoAdminsOnly(adminsOnly &#x3D; true) {
const success &#x3D; await this.client.pupPage.evaluate(async (chatId, adminsOnly) &#x3D;&gt; { const success &#x3D; await this.client.pupPage.evaluate(
const chat &#x3D; await window.WWebJS.getChat(chatId, { getAsModel: false }); async (chatId, adminsOnly) &#x3D;&gt; {
const chat &#x3D; await window.WWebJS.getChat(chatId, {
getAsModel: false,
});
try { try {
await window.Store.GroupUtils.setGroupProperty(chat, &#x27;restrict&#x27;, adminsOnly ? 1 : 0); await window
.require(&#x27;WAWebSetPropertyGroupAction&#x27;)
.setGroupProperty(chat, &#x27;restrict&#x27;, adminsOnly ? 1 : 0);
return true; return true;
} catch (err) { } catch (err) {
if (err.name &#x3D;&#x3D;&#x3D; &#x27;ServerStatusCodeError&#x27;) return false; if (err.name &#x3D;&#x3D;&#x3D; &#x27;ServerStatusCodeError&#x27;) return false;
throw err; throw err;
} }
}, this.id._serialized, adminsOnly); },
this.id._serialized,
adminsOnly,
);
if (!success) return false; if (!success) return false;
@ -406,9 +590,13 @@ class GroupChat extends Chat {
* @returns {Promise&amp;lt;boolean&gt;} Returns true if the picture was properly updated. This can return false if the user does not have the necessary permissions. * @returns {Promise&amp;lt;boolean&gt;} Returns true if the picture was properly updated. This can return false if the user does not have the necessary permissions.
*/ */
async setPicture(media) { async setPicture(media) {
const success &#x3D; await this.client.pupPage.evaluate((chatid, media) &#x3D;&gt; { const success &#x3D; await this.client.pupPage.evaluate(
(chatid, media) &#x3D;&gt; {
return window.WWebJS.setPicture(chatid, media); return window.WWebJS.setPicture(chatid, media);
}, this.id._serialized, media); },
this.id._serialized,
media,
);
return success; return success;
} }
@ -418,22 +606,18 @@ class GroupChat extends Chat {
* @returns {Promise&amp;lt;string&gt;} Group&#x27;s invite code * @returns {Promise&amp;lt;string&gt;} Group&#x27;s invite code
*/ */
async getInviteCode() { async getInviteCode() {
const codeRes &#x3D; await this.client.pupPage.evaluate(async chatId &#x3D;&gt; { const codeRes &#x3D; await this.client.pupPage.evaluate(async (chatId) &#x3D;&gt; {
const chatWid &#x3D; window.Store.WidFactory.createWid(chatId);
try { try {
return window.compareWwebVersions(window.Debug.VERSION, &#x27;&gt;&#x3D;&#x27;, &#x27;2.3000.1020730154&#x27;) return await window
? await window.Store.GroupInvite.fetchMexGroupInviteCode(chatId) .require(&#x27;WAWebMexFetchGroupInviteCodeJob&#x27;)
: await window.Store.GroupInvite.queryGroupInviteCode(chatWid, true); .fetchMexGroupInviteCode(chatId);
} } catch (err) {
catch (err) {
if (err.name &#x3D;&#x3D;&#x3D; &#x27;ServerStatusCodeError&#x27;) return undefined; if (err.name &#x3D;&#x3D;&#x3D; &#x27;ServerStatusCodeError&#x27;) return undefined;
throw err; throw err;
} }
}, this.id._serialized); }, this.id._serialized);
return codeRes?.code return codeRes?.code ? codeRes?.code : codeRes;
? codeRes?.code
: codeRes;
} }
/** /**
@ -441,9 +625,11 @@ class GroupChat extends Chat {
* @returns {Promise&amp;lt;string&gt;} New invite code * @returns {Promise&amp;lt;string&gt;} New invite code
*/ */
async revokeInvite() { async revokeInvite() {
const codeRes &#x3D; await this.client.pupPage.evaluate(chatId &#x3D;&gt; { const codeRes &#x3D; await this.client.pupPage.evaluate((chatId) &#x3D;&gt; {
const chatWid &#x3D; window.Store.WidFactory.createWid(chatId); const chatWid &#x3D; window.require(&#x27;WAWebWidFactory&#x27;).createWid(chatId);
return window.Store.GroupInvite.resetGroupInviteCode(chatWid); return window
.require(&#x27;WAWebGroupQueryJob&#x27;)
.resetGroupInviteCode(chatWid);
}, this.id._serialized); }, this.id._serialized);
return codeRes.code; return codeRes.code;
@ -464,7 +650,9 @@ class GroupChat extends Chat {
* @returns {Promise&amp;lt;Array&amp;lt;GroupMembershipRequest&gt;&gt;} An array of membership requests * @returns {Promise&amp;lt;Array&amp;lt;GroupMembershipRequest&gt;&gt;} An array of membership requests
*/ */
async getGroupMembershipRequests() { async getGroupMembershipRequests() {
return await this.client.getGroupMembershipRequests(this.id._serialized); return await this.client.getGroupMembershipRequests(
this.id._serialized,
);
} }
/** /**
@ -488,7 +676,10 @@ class GroupChat extends Chat {
* @returns {Promise&amp;lt;Array&amp;lt;MembershipRequestActionResult&gt;&gt;} Returns an array of requester IDs whose membership requests were approved and an error for each requester, if any occurred during the operation. If there are no requests, an empty array will be returned * @returns {Promise&amp;lt;Array&amp;lt;MembershipRequestActionResult&gt;&gt;} Returns an array of requester IDs whose membership requests were approved and an error for each requester, if any occurred during the operation. If there are no requests, an empty array will be returned
*/ */
async approveGroupMembershipRequests(options &#x3D; {}) { async approveGroupMembershipRequests(options &#x3D; {}) {
return await this.client.approveGroupMembershipRequests(this.id._serialized, options); return await this.client.approveGroupMembershipRequests(
this.id._serialized,
options,
);
} }
/** /**
@ -497,7 +688,10 @@ class GroupChat extends Chat {
* @returns {Promise&amp;lt;Array&amp;lt;MembershipRequestActionResult&gt;&gt;} Returns an array of requester IDs whose membership requests were rejected and an error for each requester, if any occurred during the operation. If there are no requests, an empty array will be returned * @returns {Promise&amp;lt;Array&amp;lt;MembershipRequestActionResult&gt;&gt;} Returns an array of requester IDs whose membership requests were rejected and an error for each requester, if any occurred during the operation. If there are no requests, an empty array will be returned
*/ */
async rejectGroupMembershipRequests(options &#x3D; {}) { async rejectGroupMembershipRequests(options &#x3D; {}) {
return await this.client.rejectGroupMembershipRequests(this.id._serialized, options); return await this.client.rejectGroupMembershipRequests(
this.id._serialized,
options,
);
} }
/** /**
@ -505,12 +699,13 @@ class GroupChat extends Chat {
* @returns {Promise} * @returns {Promise}
*/ */
async leave() { async leave() {
await this.client.pupPage.evaluate(async chatId &#x3D;&gt; { await this.client.pupPage.evaluate(async (chatId) &#x3D;&gt; {
const chat &#x3D; await window.WWebJS.getChat(chatId, { getAsModel: false }); const chat &#x3D; await window.WWebJS.getChat(chatId, {
return window.Store.GroupUtils.sendExitGroup(chat); getAsModel: false,
});
return window.require(&#x27;WAWebExitGroupAction&#x27;).sendExitGroup(chat);
}, this.id._serialized); }, this.id._serialized);
} }
} }
module.exports &#x3D; GroupChat; module.exports &#x3D; GroupChat;
@ -524,7 +719,7 @@ module.exports &#x3D; GroupChat;
<footer id="jsdoc-footer" class="jsdoc-footer"> <footer id="jsdoc-footer" class="jsdoc-footer">
<div id="jsdoc-footer-container"> <div id="jsdoc-footer-container">
<p> <p>
Generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc</a> 3.6.11 on January 30, 2026. Generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc</a> 3.6.11 on April 24, 2026.
</p> </p>
</div> </div>
</footer> </footer>

View file

@ -4,7 +4,7 @@
<head> <head>
<meta name="generator" content="JSDoc 3.6.11"> <meta name="generator" content="JSDoc 3.6.11">
<meta charset="utf-8"> <meta charset="utf-8">
<title>whatsapp-web.js 1.34.6 &raquo; Source: structures/GroupNotification.js</title> <title>whatsapp-web.js 1.34.7 &raquo; Source: structures/GroupNotification.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/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/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 rel="stylesheet" href="https://brick.a.ssl.fastly.net/Inconsolata:500" type="text/css">
@ -15,7 +15,7 @@
<nav id="jsdoc-navbar" role="navigation" class="jsdoc-navbar"> <nav id="jsdoc-navbar" role="navigation" class="jsdoc-navbar">
<div id="jsdoc-navbar-container"> <div id="jsdoc-navbar-container">
<div id="jsdoc-navbar-content"> <div id="jsdoc-navbar-content">
<a href="index.html" class="jsdoc-navbar-package-name">whatsapp-web.<wbr>js 1.<wbr>34.<wbr>6</a> <a href="index.html" class="jsdoc-navbar-package-name">whatsapp-web.<wbr>js 1.<wbr>34.<wbr>7</a>
</div> </div>
</div> </div>
</nav> </nav>
@ -74,13 +74,19 @@ class GroupNotification extends Base {
* *
* @type {string} * @type {string}
*/ */
this.chatId &#x3D; typeof (data.id.remote) &#x3D;&#x3D;&#x3D; &#x27;object&#x27; ? data.id.remote._serialized : data.id.remote; this.chatId &#x3D;
typeof data.id.remote &#x3D;&#x3D;&#x3D; &#x27;object&#x27;
? data.id.remote._serialized
: data.id.remote;
/** /**
* ContactId for the user that produced the GroupNotification. * ContactId for the user that produced the GroupNotification.
* @type {string} * @type {string}
*/ */
this.author &#x3D; typeof (data.author) &#x3D;&#x3D;&#x3D; &#x27;object&#x27; ? data.author._serialized : data.author; this.author &#x3D;
typeof data.author &#x3D;&#x3D;&#x3D; &#x27;object&#x27;
? data.author._serialized
: data.author;
/** /**
* Contact IDs for the users that were affected by this GroupNotification. * Contact IDs for the users that were affected by this GroupNotification.
@ -116,7 +122,11 @@ class GroupNotification extends Base {
* @returns {Promise&amp;lt;Array&amp;lt;Contact&gt;&gt;} * @returns {Promise&amp;lt;Array&amp;lt;Contact&gt;&gt;}
*/ */
async getRecipients() { async getRecipients() {
return await Promise.all(this.recipientIds.map(async m &#x3D;&gt; await this.client.getContactById(m))); return await Promise.all(
this.recipientIds.map(
async (m) &#x3D;&gt; await this.client.getContactById(m),
),
);
} }
/** /**
@ -129,7 +139,6 @@ class GroupNotification extends Base {
async reply(content, options &#x3D; {}) { async reply(content, options &#x3D; {}) {
return this.client.sendMessage(this.chatId, content, options); return this.client.sendMessage(this.chatId, content, options);
} }
} }
module.exports &#x3D; GroupNotification; module.exports &#x3D; GroupNotification;
@ -143,7 +152,7 @@ module.exports &#x3D; GroupNotification;
<footer id="jsdoc-footer" class="jsdoc-footer"> <footer id="jsdoc-footer" class="jsdoc-footer">
<div id="jsdoc-footer-container"> <div id="jsdoc-footer-container">
<p> <p>
Generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc</a> 3.6.11 on January 30, 2026. Generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc</a> 3.6.11 on April 24, 2026.
</p> </p>
</div> </div>
</footer> </footer>

View file

@ -4,7 +4,7 @@
<head> <head>
<meta name="generator" content="JSDoc 3.6.11"> <meta name="generator" content="JSDoc 3.6.11">
<meta charset="utf-8"> <meta charset="utf-8">
<title>whatsapp-web.js 1.34.6 &raquo; Source: structures/Label.js</title> <title>whatsapp-web.js 1.34.7 &raquo; Source: structures/Label.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/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/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 rel="stylesheet" href="https://brick.a.ssl.fastly.net/Inconsolata:500" type="text/css">
@ -15,7 +15,7 @@
<nav id="jsdoc-navbar" role="navigation" class="jsdoc-navbar"> <nav id="jsdoc-navbar" role="navigation" class="jsdoc-navbar">
<div id="jsdoc-navbar-container"> <div id="jsdoc-navbar-container">
<div id="jsdoc-navbar-content"> <div id="jsdoc-navbar-content">
<a href="index.html" class="jsdoc-navbar-package-name">whatsapp-web.<wbr>js 1.<wbr>34.<wbr>6</a> <a href="index.html" class="jsdoc-navbar-package-name">whatsapp-web.<wbr>js 1.<wbr>34.<wbr>7</a>
</div> </div>
</div> </div>
</nav> </nav>
@ -68,6 +68,7 @@ class Label extends Base {
*/ */
this.hexColor &#x3D; labelData.hexColor; this.hexColor &#x3D; labelData.hexColor;
} }
/** /**
* Get all chats that have been assigned this Label * Get all chats that have been assigned this Label
* @returns {Promise&amp;lt;Array&amp;lt;Chat&gt;&gt;} * @returns {Promise&amp;lt;Array&amp;lt;Chat&gt;&gt;}
@ -75,10 +76,10 @@ class Label extends Base {
async getChats() { async getChats() {
return this.client.getChatsByLabelId(this.id); return this.client.getChatsByLabelId(this.id);
} }
} }
module.exports &#x3D; Label;</code></pre> module.exports &#x3D; Label;
</code></pre>
</article> </article>
</div> </div>
</div> </div>
@ -88,7 +89,7 @@ module.exports &#x3D; Label;</code></pre>
<footer id="jsdoc-footer" class="jsdoc-footer"> <footer id="jsdoc-footer" class="jsdoc-footer">
<div id="jsdoc-footer-container"> <div id="jsdoc-footer-container">
<p> <p>
Generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc</a> 3.6.11 on January 30, 2026. Generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc</a> 3.6.11 on April 24, 2026.
</p> </p>
</div> </div>
</footer> </footer>

View file

@ -4,7 +4,7 @@
<head> <head>
<meta name="generator" content="JSDoc 3.6.11"> <meta name="generator" content="JSDoc 3.6.11">
<meta charset="utf-8"> <meta charset="utf-8">
<title>whatsapp-web.js 1.34.6 &raquo; Source: structures/List.js</title> <title>whatsapp-web.js 1.34.7 &raquo; Source: structures/List.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/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/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 rel="stylesheet" href="https://brick.a.ssl.fastly.net/Inconsolata:500" type="text/css">
@ -15,7 +15,7 @@
<nav id="jsdoc-navbar" role="navigation" class="jsdoc-navbar"> <nav id="jsdoc-navbar" role="navigation" class="jsdoc-navbar">
<div id="jsdoc-navbar-container"> <div id="jsdoc-navbar-container">
<div id="jsdoc-navbar-content"> <div id="jsdoc-navbar-content">
<a href="index.html" class="jsdoc-navbar-package-name">whatsapp-web.<wbr>js 1.<wbr>34.<wbr>6</a> <a href="index.html" class="jsdoc-navbar-package-name">whatsapp-web.<wbr>js 1.<wbr>34.<wbr>7</a>
</div> </div>
</div> </div>
</nav> </nav>
@ -63,7 +63,6 @@ class List {
*/ */
this.title &#x3D; title; this.title &#x3D; title;
/** /**
* footer of message * footer of message
* @type {string} * @type {string}
@ -75,7 +74,6 @@ class List {
* @type {Array&amp;lt;any&gt;} * @type {Array&amp;lt;any&gt;}
*/ */
this.sections &#x3D; this._format(sections); this.sections &#x3D; this._format(sections);
} }
/** /**
@ -87,24 +85,34 @@ class List {
* Returns: [{&#x27;title&#x27;:&#x27;sectionTitle&#x27;,&#x27;rows&#x27;:[{&#x27;rowId&#x27;:&#x27;customId&#x27;,&#x27;title&#x27;:&#x27;ListItem1&#x27;,&#x27;description&#x27;:&#x27;desc&#x27;},{&#x27;rowId&#x27;:&#x27;oGSRoD&#x27;,&#x27;title&#x27;:&#x27;ListItem2&#x27;,&#x27;description&#x27;:&#x27;&#x27;}]}] * Returns: [{&#x27;title&#x27;:&#x27;sectionTitle&#x27;,&#x27;rows&#x27;:[{&#x27;rowId&#x27;:&#x27;customId&#x27;,&#x27;title&#x27;:&#x27;ListItem1&#x27;,&#x27;description&#x27;:&#x27;desc&#x27;},{&#x27;rowId&#x27;:&#x27;oGSRoD&#x27;,&#x27;title&#x27;:&#x27;ListItem2&#x27;,&#x27;description&#x27;:&#x27;&#x27;}]}]
*/ */
_format(sections) { _format(sections) {
if(!sections.length){throw &#x27;[LT02] List without sections&#x27;;} if (!sections.length) {
if(sections.length &gt; 1 &amp;amp;&amp;amp; sections.filter(s &#x3D;&gt; typeof s.title &#x3D;&#x3D; &#x27;undefined&#x27;).length &gt; 1){throw &#x27;[LT05] You can\&#x27;t have more than one empty title.&#x27;;} throw &#x27;[LT02] List without sections&#x27;;
}
if (
sections.length &gt; 1 &amp;amp;&amp;amp;
sections.filter((s) &#x3D;&gt; typeof s.title &#x3D;&#x3D; &#x27;undefined&#x27;).length &gt; 1
) {
throw &quot;[LT05] You can&#x27;t have more than one empty title.&quot;;
}
return sections.map((section) &#x3D;&gt; { return sections.map((section) &#x3D;&gt; {
if(!section.rows.length){throw &#x27;[LT03] Section without rows&#x27;;} if (!section.rows.length) {
throw &#x27;[LT03] Section without rows&#x27;;
}
return { return {
title: section.title ? section.title : undefined, title: section.title ? section.title : undefined,
rows: section.rows.map((row) &#x3D;&gt; { rows: section.rows.map((row) &#x3D;&gt; {
if(!row.title){throw &#x27;[LT04] Row without title&#x27;;} if (!row.title) {
throw &#x27;[LT04] Row without title&#x27;;
}
return { return {
rowId: row.id ? row.id : Util.generateHash(6), rowId: row.id ? row.id : Util.generateHash(6),
title: row.title, title: row.title,
description: row.description ? row.description : &#x27;&#x27; description: row.description ? row.description : &#x27;&#x27;,
}; };
}) }),
}; };
}); });
} }
} }
module.exports &#x3D; List; module.exports &#x3D; List;
@ -118,7 +126,7 @@ module.exports &#x3D; List;
<footer id="jsdoc-footer" class="jsdoc-footer"> <footer id="jsdoc-footer" class="jsdoc-footer">
<div id="jsdoc-footer-container"> <div id="jsdoc-footer-container">
<p> <p>
Generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc</a> 3.6.11 on January 30, 2026. Generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc</a> 3.6.11 on April 24, 2026.
</p> </p>
</div> </div>
</footer> </footer>

View file

@ -4,7 +4,7 @@
<head> <head>
<meta name="generator" content="JSDoc 3.6.11"> <meta name="generator" content="JSDoc 3.6.11">
<meta charset="utf-8"> <meta charset="utf-8">
<title>whatsapp-web.js 1.34.6 &raquo; Source: structures/Location.js</title> <title>whatsapp-web.js 1.34.7 &raquo; Source: structures/Location.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/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/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 rel="stylesheet" href="https://brick.a.ssl.fastly.net/Inconsolata:500" type="text/css">
@ -15,7 +15,7 @@
<nav id="jsdoc-navbar" role="navigation" class="jsdoc-navbar"> <nav id="jsdoc-navbar" role="navigation" class="jsdoc-navbar">
<div id="jsdoc-navbar-container"> <div id="jsdoc-navbar-container">
<div id="jsdoc-navbar-content"> <div id="jsdoc-navbar-content">
<a href="index.html" class="jsdoc-navbar-package-name">whatsapp-web.<wbr>js 1.<wbr>34.<wbr>6</a> <a href="index.html" class="jsdoc-navbar-package-name">whatsapp-web.<wbr>js 1.<wbr>34.<wbr>7</a>
</div> </div>
</div> </div>
</nav> </nav>
@ -84,13 +84,15 @@ class Location {
* Location full description * Location full description
* @type {string|undefined} * @type {string|undefined}
*/ */
this.description &#x3D; this.name &amp;amp;&amp;amp; this.address this.description &#x3D;
this.name &amp;amp;&amp;amp; this.address
? &#x60;${this.name}\n${this.address}&#x60; ? &#x60;${this.name}\n${this.address}&#x60;
: this.name || this.address || &#x27;&#x27;; : this.name || this.address || &#x27;&#x27;;
} }
} }
module.exports &#x3D; Location;</code></pre> module.exports &#x3D; Location;
</code></pre>
</article> </article>
</div> </div>
</div> </div>
@ -100,7 +102,7 @@ module.exports &#x3D; Location;</code></pre>
<footer id="jsdoc-footer" class="jsdoc-footer"> <footer id="jsdoc-footer" class="jsdoc-footer">
<div id="jsdoc-footer-container"> <div id="jsdoc-footer-container">
<p> <p>
Generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc</a> 3.6.11 on January 30, 2026. Generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc</a> 3.6.11 on April 24, 2026.
</p> </p>
</div> </div>
</footer> </footer>

View file

@ -4,7 +4,7 @@
<head> <head>
<meta name="generator" content="JSDoc 3.6.11"> <meta name="generator" content="JSDoc 3.6.11">
<meta charset="utf-8"> <meta charset="utf-8">
<title>whatsapp-web.js 1.34.6 &raquo; Source: structures/Message.js</title> <title>whatsapp-web.js 1.34.7 &raquo; Source: structures/Message.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/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/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 rel="stylesheet" href="https://brick.a.ssl.fastly.net/Inconsolata:500" type="text/css">
@ -15,7 +15,7 @@
<nav id="jsdoc-navbar" role="navigation" class="jsdoc-navbar"> <nav id="jsdoc-navbar" role="navigation" class="jsdoc-navbar">
<div id="jsdoc-navbar-container"> <div id="jsdoc-navbar-container">
<div id="jsdoc-navbar-content"> <div id="jsdoc-navbar-content">
<a href="index.html" class="jsdoc-navbar-package-name">whatsapp-web.<wbr>js 1.<wbr>34.<wbr>6</a> <a href="index.html" class="jsdoc-navbar-package-name">whatsapp-web.<wbr>js 1.<wbr>34.<wbr>7</a>
</div> </div>
</div> </div>
</nav> </nav>
@ -83,7 +83,9 @@ class Message extends Base {
* Message content * Message content
* @type {string} * @type {string}
*/ */
this.body &#x3D; this.hasMedia ? data.caption || &#x27;&#x27; : data.body || data.pollName || data.eventName || &#x27;&#x27;; this.body &#x3D; this.hasMedia
? data.caption || &#x27;&#x27;
: data.body || data.pollName || data.eventName || &#x27;&#x27;;
/** /**
* Message type * Message type
@ -101,7 +103,10 @@ class Message extends Base {
* ID for the Chat that this message was sent to, except if the message was sent by the current user. * ID for the Chat that this message was sent to, except if the message was sent by the current user.
* @type {string} * @type {string}
*/ */
this.from &#x3D; (typeof (data.from) &#x3D;&#x3D;&#x3D; &#x27;object&#x27; &amp;amp;&amp;amp; data.from !&#x3D;&#x3D; null) ? data.from._serialized : data.from; this.from &#x3D;
typeof data.from &#x3D;&#x3D;&#x3D; &#x27;object&#x27; &amp;amp;&amp;amp; data.from !&#x3D;&#x3D; null
? data.from._serialized
: data.from;
/** /**
* ID for who this message is for. * ID for who this message is for.
@ -110,19 +115,31 @@ class Message extends Base {
* If the message is sent by another user, it will be the ID for the current user. * If the message is sent by another user, it will be the ID for the current user.
* @type {string} * @type {string}
*/ */
this.to &#x3D; (typeof (data.to) &#x3D;&#x3D;&#x3D; &#x27;object&#x27; &amp;amp;&amp;amp; data.to !&#x3D;&#x3D; null) ? data.to._serialized : data.to; this.to &#x3D;
typeof data.to &#x3D;&#x3D;&#x3D; &#x27;object&#x27; &amp;amp;&amp;amp; data.to !&#x3D;&#x3D; null
? data.to._serialized
: data.to;
/** /**
* If the message was sent to a group, this field will contain the user that sent the message. * If the message was sent to a group, this field will contain the user that sent the message.
* @type {string} * @type {string}
*/ */
this.author &#x3D; (typeof (data.author) &#x3D;&#x3D;&#x3D; &#x27;object&#x27; &amp;amp;&amp;amp; data.author !&#x3D;&#x3D; null) ? data.author._serialized : data.author; this.author &#x3D;
typeof data.author &#x3D;&#x3D;&#x3D; &#x27;object&#x27; &amp;amp;&amp;amp; data.author !&#x3D;&#x3D; null
? data.author._serialized
: data.author;
/** /**
* String that represents from which device type the message was sent * String that represents from which device type the message was sent
* @type {string} * @type {string}
*/ */
this.deviceType &#x3D; typeof data.id.id &#x3D;&#x3D;&#x3D; &#x27;string&#x27; &amp;amp;&amp;amp; data.id.id.length &gt; 21 ? &#x27;android&#x27; : typeof data.id.id &#x3D;&#x3D;&#x3D; &#x27;string&#x27; &amp;amp;&amp;amp; data.id.id.substring(0, 2) &#x3D;&#x3D;&#x3D; &#x27;3A&#x27; ? &#x27;ios&#x27; : &#x27;web&#x27;; this.deviceType &#x3D;
typeof data.id.id &#x3D;&#x3D;&#x3D; &#x27;string&#x27; &amp;amp;&amp;amp; data.id.id.length &gt; 25
? &#x27;android&#x27;
: typeof data.id.id &#x3D;&#x3D;&#x3D; &#x27;string&#x27; &amp;amp;&amp;amp;
data.id.id.substring(0, 2) &#x3D;&#x3D;&#x3D; &#x27;3A&#x27;
? &#x27;ios&#x27;
: &#x27;web&#x27;;
/** /**
* Indicates if the message was forwarded * Indicates if the message was forwarded
* @type {boolean} * @type {boolean}
@ -141,7 +158,8 @@ class Message extends Base {
* Indicates if the message is a status update * Indicates if the message is a status update
* @type {boolean} * @type {boolean}
*/ */
this.isStatus &#x3D; data.isStatusV3 || data.id.remote &#x3D;&#x3D;&#x3D; &#x27;status@broadcast&#x27;; this.isStatus &#x3D;
data.isStatusV3 || data.id.remote &#x3D;&#x3D;&#x3D; &#x27;status@broadcast&#x27;;
/** /**
* Indicates if the message was starred * Indicates if the message was starred
@ -193,7 +211,7 @@ class Message extends Base {
description &#x3D; { description &#x3D; {
name: splitted[0], name: splitted[0],
address: splitted[1], address: splitted[1],
url: data.clientUrl url: data.clientUrl,
}; };
} }
return new Location(data.lat, data.lng, description); return new Location(data.lat, data.lng, description);
@ -203,20 +221,36 @@ class Message extends Base {
* List of vCards contained in the message. * List of vCards contained in the message.
* @type {Array&amp;lt;string&gt;} * @type {Array&amp;lt;string&gt;}
*/ */
this.vCards &#x3D; data.type &#x3D;&#x3D;&#x3D; MessageTypes.CONTACT_CARD_MULTI ? data.vcardList.map((c) &#x3D;&gt; c.vcard) : data.type &#x3D;&#x3D;&#x3D; MessageTypes.CONTACT_CARD ? [data.body] : []; this.vCards &#x3D;
data.type &#x3D;&#x3D;&#x3D; MessageTypes.CONTACT_CARD_MULTI
? data.vcardList.map((c) &#x3D;&gt; c.vcard)
: data.type &#x3D;&#x3D;&#x3D; MessageTypes.CONTACT_CARD
? [data.body]
: [];
/** /**
* Group Invite Data * Group Invite Data
* @type {object} * @type {object}
*/ */
this.inviteV4 &#x3D; data.type &#x3D;&#x3D;&#x3D; MessageTypes.GROUP_INVITE ? { this.inviteV4 &#x3D;
data.type &#x3D;&#x3D;&#x3D; MessageTypes.GROUP_INVITE
? {
inviteCode: data.inviteCode, inviteCode: data.inviteCode,
inviteCodeExp: data.inviteCodeExp, inviteCodeExp: data.inviteCodeExp,
groupId: data.inviteGrp, groupId: data.inviteGrp,
groupName: data.inviteGrpName, groupName: data.inviteGrpName,
fromId: typeof data.from &#x3D;&#x3D;&#x3D; &#x27;object&#x27; &amp;amp;&amp;amp; &#x27;_serialized&#x27; in data.from ? data.from._serialized : data.from, fromId:
toId: typeof data.to &#x3D;&#x3D;&#x3D; &#x27;object&#x27; &amp;amp;&amp;amp; &#x27;_serialized&#x27; in data.to ? data.to._serialized : data.to typeof data.from &#x3D;&#x3D;&#x3D; &#x27;object&#x27; &amp;amp;&amp;amp;
} : undefined; &#x27;_serialized&#x27; in data.from
? data.from._serialized
: data.from,
toId:
typeof data.to &#x3D;&#x3D;&#x3D; &#x27;object&#x27; &amp;amp;&amp;amp;
&#x27;_serialized&#x27; in data.to
? data.to._serialized
: data.to,
}
: undefined;
/** /**
* Indicates the mentions in the message body. * Indicates the mentions in the message body.
@ -315,17 +349,27 @@ class Message extends Base {
} }
/** Selected List row Id **/ /** Selected List row Id **/
if (data.listResponse &amp;amp;&amp;amp; data.listResponse.singleSelectReply.selectedRowId) { if (
this.selectedRowId &#x3D; data.listResponse.singleSelectReply.selectedRowId; data.listResponse &amp;amp;&amp;amp;
data.listResponse.singleSelectReply.selectedRowId
) {
this.selectedRowId &#x3D;
data.listResponse.singleSelectReply.selectedRowId;
} }
if (this.type &#x3D;&#x3D;&#x3D; MessageTypes.POLL_CREATION) { if (this.type &#x3D;&#x3D;&#x3D; MessageTypes.POLL_CREATION) {
this.pollName &#x3D; data.pollName; this.pollName &#x3D; data.pollName;
this.pollOptions &#x3D; data.pollOptions; this.pollOptions &#x3D; data.pollOptions;
this.allowMultipleAnswers &#x3D; Boolean(!data.pollSelectableOptionsCount); this.allowMultipleAnswers &#x3D; Boolean(
!data.pollSelectableOptionsCount,
);
this.pollInvalidated &#x3D; data.pollInvalidated; this.pollInvalidated &#x3D; data.pollInvalidated;
this.isSentCagPollCreation &#x3D; data.isSentCagPollCreation; this.isSentCagPollCreation &#x3D; data.isSentCagPollCreation;
this.messageSecret &#x3D; data.messageSecret ? Object.keys(data.messageSecret).map((key) &#x3D;&gt; data.messageSecret[key]) : []; this.messageSecret &#x3D; data.messageSecret
? Object.keys(data.messageSecret).map(
(key) &#x3D;&gt; data.messageSecret[key],
)
: [];
} }
return super._patch(data); return super._patch(data);
@ -342,7 +386,13 @@ class Message extends Base {
*/ */
async reload() { async reload() {
const newData &#x3D; await this.client.pupPage.evaluate(async (msgId) &#x3D;&gt; { const newData &#x3D; await this.client.pupPage.evaluate(async (msgId) &#x3D;&gt; {
const msg &#x3D; window.Store.Msg.get(msgId) || (await window.Store.Msg.getMessagesById([msgId]))?.messages?.[0]; const msg &#x3D;
window.require(&#x27;WAWebCollections&#x27;).Msg.get(msgId) ||
(
await window
.require(&#x27;WAWebCollections&#x27;)
.Msg.getMessagesById([msgId])
)?.messages?.[0];
if (!msg) return null; if (!msg) return null;
return window.WWebJS.getMessageModel(msg); return window.WWebJS.getMessageModel(msg);
}, this.id._serialized); }, this.id._serialized);
@ -382,7 +432,14 @@ class Message extends Base {
* @returns {Promise&amp;lt;Array&amp;lt;Contact&gt;&gt;} * @returns {Promise&amp;lt;Array&amp;lt;Contact&gt;&gt;}
*/ */
async getMentions() { async getMentions() {
return await Promise.all(this.mentionedIds.map(async m &#x3D;&gt; await this.client.getContactById(m))); return await Promise.all(
this.mentionedIds.map(
async (m) &#x3D;&gt;
await this.client.getContactById(
typeof m &#x3D;&#x3D;&#x3D; &#x27;string&#x27; ? m : m._serialized,
),
),
);
} }
/** /**
@ -390,7 +447,12 @@ class Message extends Base {
* @returns {Promise&amp;lt;Array&amp;lt;GroupChat&gt;&gt;} * @returns {Promise&amp;lt;Array&amp;lt;GroupChat&gt;&gt;}
*/ */
async getGroupMentions() { async getGroupMentions() {
return await Promise.all(this.groupMentions.map(async (m) &#x3D;&gt; await this.client.getChatById(m.groupJid._serialized))); return await Promise.all(
this.groupMentions.map(
async (m) &#x3D;&gt;
await this.client.getChatById(m.groupJid._serialized),
),
);
} }
/** /**
@ -401,8 +463,16 @@ class Message extends Base {
if (!this.hasQuotedMsg) return undefined; if (!this.hasQuotedMsg) return undefined;
const quotedMsg &#x3D; await this.client.pupPage.evaluate(async (msgId) &#x3D;&gt; { const quotedMsg &#x3D; await this.client.pupPage.evaluate(async (msgId) &#x3D;&gt; {
const msg &#x3D; window.Store.Msg.get(msgId) || (await window.Store.Msg.getMessagesById([msgId]))?.messages?.[0]; const msg &#x3D;
const quotedMsg &#x3D; window.Store.QuotedMsg.getQuotedMsgObj(msg); window.require(&#x27;WAWebCollections&#x27;).Msg.get(msgId) ||
(
await window
.require(&#x27;WAWebCollections&#x27;)
.Msg.getMessagesById([msgId])
)?.messages?.[0];
const quotedMsg &#x3D; window
.require(&#x27;WAWebQuotedMsgModelUtils&#x27;)
.getQuotedMsgObj(msg);
return window.WWebJS.getMessageModel(quotedMsg); return window.WWebJS.getMessageModel(quotedMsg);
}, this.id._serialized); }, this.id._serialized);
@ -426,7 +496,7 @@ class Message extends Base {
options &#x3D; { options &#x3D; {
...options, ...options,
quotedMessageId: this.id._serialized quotedMessageId: this.id._serialized,
}; };
return this.client.sendMessage(chatId, content, options); return this.client.sendMessage(chatId, content, options);
@ -438,13 +508,7 @@ class Message extends Base {
* @return {Promise} * @return {Promise}
*/ */
async react(reaction) { async react(reaction) {
await this.client.pupPage.evaluate(async (messageId, reaction) &#x3D;&gt; { return this.client.sendReaction(this.id._serialized, reaction);
if (!messageId) return null;
const msg &#x3D;
window.Store.Msg.get(messageId) || (await window.Store.Msg.getMessagesById([messageId]))?.messages?.[0];
if(!msg) return null;
await window.Store.sendReactionToMsg(msg, reaction);
}, this.id._serialized, reaction);
} }
/** /**
@ -464,9 +528,13 @@ class Message extends Base {
async forward(chat) { async forward(chat) {
const chatId &#x3D; typeof chat &#x3D;&#x3D;&#x3D; &#x27;string&#x27; ? chat : chat.id._serialized; const chatId &#x3D; typeof chat &#x3D;&#x3D;&#x3D; &#x27;string&#x27; ? chat : chat.id._serialized;
await this.client.pupPage.evaluate(async (msgId, chatId) &#x3D;&gt; { await this.client.pupPage.evaluate(
async (msgId, chatId) &#x3D;&gt; {
return window.WWebJS.forwardMessage(chatId, msgId); return window.WWebJS.forwardMessage(chatId, msgId);
}, this.id._serialized, chatId); },
this.id._serialized,
chatId,
);
} }
/** /**
@ -479,48 +547,70 @@ class Message extends Base {
} }
const result &#x3D; await this.client.pupPage.evaluate(async (msgId) &#x3D;&gt; { const result &#x3D; await this.client.pupPage.evaluate(async (msgId) &#x3D;&gt; {
const msg &#x3D; window.Store.Msg.get(msgId) || (await window.Store.Msg.getMessagesById([msgId]))?.messages?.[0]; const msg &#x3D;
window.require(&#x27;WAWebCollections&#x27;).Msg.get(msgId) ||
(
await window
.require(&#x27;WAWebCollections&#x27;)
.Msg.getMessagesById([msgId])
)?.messages?.[0];
// REUPLOADING mediaStage means the media is expired and the download button is spinning, cannot be downloaded now // REUPLOADING mediaStage means the media is expired and the download button is spinning, cannot be downloaded now
if (!msg || !msg.mediaData || msg.mediaData.mediaStage &#x3D;&#x3D;&#x3D; &#x27;REUPLOADING&#x27;) { if (
!msg ||
!msg.mediaData ||
msg.mediaData.mediaStage &#x3D;&#x3D;&#x3D; &#x27;REUPLOADING&#x27;
) {
return null; return null;
} }
if (msg.mediaData.mediaStage !&#x3D; &#x27;RESOLVED&#x27;) { if (msg.mediaData.mediaStage !&#x3D; &#x27;RESOLVED&#x27;) {
// try to resolve media // try to resolve media
await msg.downloadMedia({ await msg.downloadMedia({
downloadEvenIfExpensive: true, downloadEvenIfExpensive: true,
rmrReason: 1 rmrReason: 1,
}); });
} }
if (msg.mediaData.mediaStage.includes(&#x27;ERROR&#x27;) || msg.mediaData.mediaStage &#x3D;&#x3D;&#x3D; &#x27;FETCHING&#x27;) { if (
msg.mediaData.mediaStage.includes(&#x27;ERROR&#x27;) ||
msg.mediaData.mediaStage &#x3D;&#x3D;&#x3D; &#x27;FETCHING&#x27;
) {
// media could not be downloaded // media could not be downloaded
return undefined; return undefined;
} }
try { try {
const mockQpl &#x3D; { const mockQpl &#x3D; {
addAnnotations: function() { return this; }, addAnnotations: function () {
addPoint: function() { return this; } return this;
},
addPoint: function () {
return this;
},
}; };
const decryptedMedia &#x3D; await window.Store.DownloadManager.downloadAndMaybeDecrypt({ const decryptedMedia &#x3D; await window
.require(&#x27;WAWebDownloadManager&#x27;)
.downloadManager.downloadAndMaybeDecrypt({
directPath: msg.directPath, directPath: msg.directPath,
encFilehash: msg.encFilehash, encFilehash: msg.encFilehash,
filehash: msg.filehash, filehash: msg.filehash,
mediaKey: msg.mediaKey, mediaKey: msg.mediaKey,
mediaKeyTimestamp: msg.mediaKeyTimestamp, mediaKeyTimestamp: msg.mediaKeyTimestamp,
type: msg.type, type: msg.type,
signal: (new AbortController).signal, signal: new AbortController().signal,
downloadQpl: mockQpl downloadQpl: mockQpl,
}); });
const data &#x3D; await window.WWebJS.arrayBufferToBase64Async(decryptedMedia); const data &#x3D;
await window.WWebJS.arrayBufferToBase64Async(
decryptedMedia,
);
return { return {
data, data,
mimetype: msg.mimetype, mimetype: msg.mimetype,
filename: msg.filename, filename: msg.filename,
filesize: msg.size filesize: msg.size,
}; };
} catch (e) { } catch (e) {
if (e.status &amp;amp;&amp;amp; e.status &#x3D;&#x3D;&#x3D; 404) return undefined; if (e.status &amp;amp;&amp;amp; e.status &#x3D;&#x3D;&#x3D; 404) return undefined;
@ -529,7 +619,12 @@ class Message extends Base {
}, this.id._serialized); }, this.id._serialized);
if (!result) return undefined; if (!result) return undefined;
return new MessageMedia(result.mimetype, result.data, result.filename, result.filesize); return new MessageMedia(
result.mimetype,
result.data,
result.filename,
result.filesize,
);
} }
/** /**
@ -538,23 +633,66 @@ class Message extends Base {
* @param {?boolean} [clearMedia &#x3D; true] If true, any associated media will also be deleted from a device. * @param {?boolean} [clearMedia &#x3D; true] If true, any associated media will also be deleted from a device.
*/ */
async delete(everyone, clearMedia &#x3D; true) { async delete(everyone, clearMedia &#x3D; true) {
await this.client.pupPage.evaluate(async (msgId, everyone, clearMedia) &#x3D;&gt; { await this.client.pupPage.evaluate(
const msg &#x3D; window.Store.Msg.get(msgId) || (await window.Store.Msg.getMessagesById([msgId]))?.messages?.[0]; async (msgId, everyone, clearMedia) &#x3D;&gt; {
const chat &#x3D; window.Store.Chat.get(msg.id.remote) || (await window.Store.Chat.find(msg.id.remote)); const msg &#x3D;
window.require(&#x27;WAWebCollections&#x27;).Msg.get(msgId) ||
(
await window
.require(&#x27;WAWebCollections&#x27;)
.Msg.getMessagesById([msgId])
)?.messages?.[0];
const chat &#x3D;
window
.require(&#x27;WAWebCollections&#x27;)
.Chat.get(msg.id.remote) ||
(await window
.require(&#x27;WAWebCollections&#x27;)
.Chat.find(msg.id.remote));
const canRevoke &#x3D; const canRevoke &#x3D;
window.Store.MsgActionChecks.canSenderRevokeMsg(msg) || window.Store.MsgActionChecks.canAdminRevokeMsg(msg); window
.require(&#x27;WAWebMsgActionCapability&#x27;)
.canSenderRevokeMsg(msg) ||
window
.require(&#x27;WAWebMsgActionCapability&#x27;)
.canAdminRevokeMsg(msg);
const { Cmd } &#x3D; window.require(&#x27;WAWebCmd&#x27;);
if (everyone &amp;amp;&amp;amp; canRevoke) { if (everyone &amp;amp;&amp;amp; canRevoke) {
return window.compareWwebVersions(window.Debug.VERSION, &#x27;&gt;&#x3D;&#x27;, &#x27;2.3000.0&#x27;) return window.WWebJS.compareWwebVersions(
? window.Store.Cmd.sendRevokeMsgs(chat, { list: [msg], type: &#x27;message&#x27; }, { clearMedia: clearMedia }) window.Debug.VERSION,
: window.Store.Cmd.sendRevokeMsgs(chat, [msg], { clearMedia: true, type: msg.id.fromMe ? &#x27;Sender&#x27; : &#x27;Admin&#x27; }); &#x27;&gt;&#x3D;&#x27;,
&#x27;2.3000.0&#x27;,
)
? Cmd.sendRevokeMsgs(
chat,
{ list: [msg], type: &#x27;message&#x27; },
{ clearMedia: clearMedia },
)
: Cmd.sendRevokeMsgs(chat, [msg], {
clearMedia: true,
type: msg.id.fromMe ? &#x27;Sender&#x27; : &#x27;Admin&#x27;,
});
} }
return window.compareWwebVersions(window.Debug.VERSION, &#x27;&gt;&#x3D;&#x27;, &#x27;2.3000.0&#x27;) return window.WWebJS.compareWwebVersions(
? window.Store.Cmd.sendDeleteMsgs(chat, { list: [msg], type: &#x27;message&#x27; }, clearMedia) window.Debug.VERSION,
: window.Store.Cmd.sendDeleteMsgs(chat, [msg], clearMedia); &#x27;&gt;&#x3D;&#x27;,
}, this.id._serialized, everyone, clearMedia); &#x27;2.3000.0&#x27;,
)
? Cmd.sendDeleteMsgs(
chat,
{ list: [msg], type: &#x27;message&#x27; },
clearMedia,
)
: Cmd.sendDeleteMsgs(chat, [msg], clearMedia);
},
this.id._serialized,
everyone,
clearMedia,
);
} }
/** /**
@ -562,10 +700,20 @@ class Message extends Base {
*/ */
async star() { async star() {
await this.client.pupPage.evaluate(async (msgId) &#x3D;&gt; { await this.client.pupPage.evaluate(async (msgId) &#x3D;&gt; {
const msg &#x3D; window.Store.Msg.get(msgId) || (await window.Store.Msg.getMessagesById([msgId]))?.messages?.[0]; const msg &#x3D;
if (window.Store.MsgActionChecks.canStarMsg(msg)) { window.require(&#x27;WAWebCollections&#x27;).Msg.get(msgId) ||
let chat &#x3D; await window.Store.Chat.find(msg.id.remote); (
return window.Store.Cmd.sendStarMsgs(chat, [msg], false); await window
.require(&#x27;WAWebCollections&#x27;)
.Msg.getMessagesById([msgId])
)?.messages?.[0];
if (window.require(&#x27;WAWebMsgActionCapability&#x27;).canStarMsg(msg)) {
let chat &#x3D; await window
.require(&#x27;WAWebCollections&#x27;)
.Chat.find(msg.id.remote);
return window
.require(&#x27;WAWebCmd&#x27;)
.Cmd.sendStarMsgs(chat, [msg], false);
} }
}, this.id._serialized); }, this.id._serialized);
} }
@ -575,10 +723,20 @@ class Message extends Base {
*/ */
async unstar() { async unstar() {
await this.client.pupPage.evaluate(async (msgId) &#x3D;&gt; { await this.client.pupPage.evaluate(async (msgId) &#x3D;&gt; {
const msg &#x3D; window.Store.Msg.get(msgId) || (await window.Store.Msg.getMessagesById([msgId]))?.messages?.[0]; const msg &#x3D;
if (window.Store.MsgActionChecks.canStarMsg(msg)) { window.require(&#x27;WAWebCollections&#x27;).Msg.get(msgId) ||
let chat &#x3D; await window.Store.Chat.find(msg.id.remote); (
return window.Store.Cmd.sendUnstarMsgs(chat, [msg], false); await window
.require(&#x27;WAWebCollections&#x27;)
.Msg.getMessagesById([msgId])
)?.messages?.[0];
if (window.require(&#x27;WAWebMsgActionCapability&#x27;).canStarMsg(msg)) {
let chat &#x3D; await window
.require(&#x27;WAWebCollections&#x27;)
.Chat.find(msg.id.remote);
return window
.require(&#x27;WAWebCmd&#x27;)
.Cmd.sendUnstarMsgs(chat, [msg], false);
} }
}, this.id._serialized); }, this.id._serialized);
} }
@ -589,9 +747,17 @@ class Message extends Base {
* @returns {Promise&amp;lt;boolean&gt;} Returns true if the operation completed successfully, false otherwise * @returns {Promise&amp;lt;boolean&gt;} Returns true if the operation completed successfully, false otherwise
*/ */
async pin(duration) { async pin(duration) {
return await this.client.pupPage.evaluate(async (msgId, duration) &#x3D;&gt; { return await this.client.pupPage.evaluate(
return await window.WWebJS.pinUnpinMsgAction(msgId, 1, duration); async (msgId, duration) &#x3D;&gt; {
}, this.id._serialized, duration); return await window.WWebJS.pinUnpinMsgAction(
msgId,
1,
duration,
);
},
this.id._serialized,
duration,
);
} }
/** /**
@ -622,13 +788,28 @@ class Message extends Base {
*/ */
async getInfo() { async getInfo() {
const info &#x3D; await this.client.pupPage.evaluate(async (msgId) &#x3D;&gt; { const info &#x3D; await this.client.pupPage.evaluate(async (msgId) &#x3D;&gt; {
const msg &#x3D; window.Store.Msg.get(msgId) || (await window.Store.Msg.getMessagesById([msgId]))?.messages?.[0]; const msg &#x3D;
window.require(&#x27;WAWebCollections&#x27;).Msg.get(msgId) ||
(
await window
.require(&#x27;WAWebCollections&#x27;)
.Msg.getMessagesById([msgId])
)?.messages?.[0];
if (!msg || !msg.id.fromMe) return null; if (!msg || !msg.id.fromMe) return null;
return new Promise((resolve) &#x3D;&gt; { return new Promise((resolve) &#x3D;&gt; {
setTimeout(async () &#x3D;&gt; { setTimeout(
resolve(await window.Store.getMsgInfo(msg.id)); async () &#x3D;&gt; {
}, (Date.now() - msg.t * 1000 &amp;lt; 1250) &amp;amp;&amp;amp; Math.floor(Math.random() * (1200 - 1100 + 1)) + 1100 || 0); resolve(
await window
.require(&#x27;WAWebApiMessageInfoStore&#x27;)
.queryMsgInfo(msg.id),
);
},
(Date.now() - msg.t * 1000 &amp;lt; 1250 &amp;amp;&amp;amp;
Math.floor(Math.random() * (1200 - 1100 + 1)) + 1100) ||
0,
);
}); });
}, this.id._serialized); }, this.id._serialized);
@ -641,14 +822,20 @@ class Message extends Base {
*/ */
async getOrder() { async getOrder() {
if (this.type &#x3D;&#x3D;&#x3D; MessageTypes.ORDER) { if (this.type &#x3D;&#x3D;&#x3D; MessageTypes.ORDER) {
const result &#x3D; await this.client.pupPage.evaluate((orderId, token, chatId) &#x3D;&gt; { const result &#x3D; await this.client.pupPage.evaluate(
(orderId, token, chatId) &#x3D;&gt; {
return window.WWebJS.getOrderDetail(orderId, token, chatId); return window.WWebJS.getOrderDetail(orderId, token, chatId);
}, this.orderId, this.token, this._getChatId()); },
this.orderId,
this.token,
this._getChatId(),
);
if (!result) return undefined; if (!result) return undefined;
return new Order(this.client, result); return new Order(this.client, result);
} }
return undefined; return undefined;
} }
/** /**
* Gets the payment details associated with a given message * Gets the payment details associated with a given message
* @return {Promise&amp;lt;Payment&gt;} * @return {Promise&amp;lt;Payment&gt;}
@ -656,7 +843,13 @@ class Message extends Base {
async getPayment() { async getPayment() {
if (this.type &#x3D;&#x3D;&#x3D; MessageTypes.PAYMENT) { if (this.type &#x3D;&#x3D;&#x3D; MessageTypes.PAYMENT) {
const msg &#x3D; await this.client.pupPage.evaluate(async (msgId) &#x3D;&gt; { const msg &#x3D; await this.client.pupPage.evaluate(async (msgId) &#x3D;&gt; {
const msg &#x3D; window.Store.Msg.get(msgId) || (await window.Store.Msg.getMessagesById([msgId]))?.messages?.[0]; const msg &#x3D;
window.require(&#x27;WAWebCollections&#x27;).Msg.get(msgId) ||
(
await window
.require(&#x27;WAWebCollections&#x27;)
.Msg.getMessagesById([msgId])
)?.messages?.[0];
if (!msg) return null; if (!msg) return null;
return msg.serialize(); return msg.serialize();
}, this.id._serialized); }, this.id._serialized);
@ -665,7 +858,6 @@ class Message extends Base {
return undefined; return undefined;
} }
/** /**
* Reaction List * Reaction List
* @typedef {Object} ReactionList * @typedef {Object} ReactionList
@ -685,7 +877,9 @@ class Message extends Base {
} }
const reactions &#x3D; await this.client.pupPage.evaluate(async (msgId) &#x3D;&gt; { const reactions &#x3D; await this.client.pupPage.evaluate(async (msgId) &#x3D;&gt; {
const msgReactions &#x3D; await window.Store.Reactions.find(msgId); const msgReactions &#x3D; await window
.require(&#x27;WAWebCollections&#x27;)
.Reactions.find(msgId);
if (!msgReactions || !msgReactions.reactions.length) return null; if (!msgReactions || !msgReactions.reactions.length) return null;
return msgReactions.reactions.serialize(); return msgReactions.reactions.serialize();
}, this.id._serialized); }, this.id._serialized);
@ -694,8 +888,8 @@ class Message extends Base {
return undefined; return undefined;
} }
return reactions.map(reaction &#x3D;&gt; { return reactions.map((reaction) &#x3D;&gt; {
reaction.senders &#x3D; reaction.senders.map(sender &#x3D;&gt; { reaction.senders &#x3D; reaction.senders.map((sender) &#x3D;&gt; {
sender.timestamp &#x3D; Math.round(sender.timestamp / 1000); sender.timestamp &#x3D; Math.round(sender.timestamp / 1000);
return new Reaction(this.client, sender); return new Reaction(this.client, sender);
}); });
@ -711,36 +905,68 @@ class Message extends Base {
*/ */
async edit(content, options &#x3D; {}) { async edit(content, options &#x3D; {}) {
if (options.mentions) { if (options.mentions) {
!Array.isArray(options.mentions) &amp;amp;&amp;amp; (options.mentions &#x3D; [options.mentions]); !Array.isArray(options.mentions) &amp;amp;&amp;amp;
if (options.mentions.some((possiblyContact) &#x3D;&gt; possiblyContact instanceof Contact)) { (options.mentions &#x3D; [options.mentions]);
console.warn(&#x27;Mentions with an array of Contact are now deprecated. See more at https://github.com/pedroslopez/whatsapp-web.js/pull/2166.&#x27;); if (
options.mentions &#x3D; options.mentions.map((a) &#x3D;&gt; a.id._serialized); options.mentions.some(
(possiblyContact) &#x3D;&gt; possiblyContact instanceof Contact,
)
) {
console.warn(
&#x27;Mentions with an array of Contact are now deprecated. See more at https://github.com/wwebjs/whatsapp-web.js/pull/2166.&#x27;,
);
options.mentions &#x3D; options.mentions.map(
(a) &#x3D;&gt; a.id._serialized,
);
} }
} }
options.groupMentions &amp;amp;&amp;amp; !Array.isArray(options.groupMentions) &amp;amp;&amp;amp; (options.groupMentions &#x3D; [options.groupMentions]); options.groupMentions &amp;amp;&amp;amp;
!Array.isArray(options.groupMentions) &amp;amp;&amp;amp;
(options.groupMentions &#x3D; [options.groupMentions]);
let internalOptions &#x3D; { let internalOptions &#x3D; {
linkPreview: options.linkPreview &#x3D;&#x3D;&#x3D; false ? undefined : true, linkPreview: options.linkPreview &#x3D;&#x3D;&#x3D; false ? undefined : true,
mentionedJidList: options.mentions || [], mentionedJidList: options.mentions || [],
groupMentions: options.groupMentions, groupMentions: options.groupMentions,
extraOptions: options.extra extraOptions: options.extra,
}; };
if (!this.fromMe) { if (!this.fromMe) {
return null; return null;
} }
const messageEdit &#x3D; await this.client.pupPage.evaluate(async (msgId, message, options) &#x3D;&gt; { const messageEdit &#x3D; await this.client.pupPage.evaluate(
const msg &#x3D; window.Store.Msg.get(msgId) || (await window.Store.Msg.getMessagesById([msgId]))?.messages?.[0]; async (msgId, message, options) &#x3D;&gt; {
const msg &#x3D;
window.require(&#x27;WAWebCollections&#x27;).Msg.get(msgId) ||
(
await window
.require(&#x27;WAWebCollections&#x27;)
.Msg.getMessagesById([msgId])
)?.messages?.[0];
if (!msg) return null; if (!msg) return null;
let canEdit &#x3D; window.Store.MsgActionChecks.canEditText(msg) || window.Store.MsgActionChecks.canEditCaption(msg); let canEdit &#x3D;
window
.require(&#x27;WAWebMsgActionCapability&#x27;)
.canEditText(msg) ||
window
.require(&#x27;WAWebMsgActionCapability&#x27;)
.canEditCaption(msg);
if (canEdit) { if (canEdit) {
const msgEdit &#x3D; await window.WWebJS.editMessage(msg, message, options); const msgEdit &#x3D; await window.WWebJS.editMessage(
msg,
message,
options,
);
return msgEdit.serialize(); return msgEdit.serialize();
} }
return null; return null;
}, this.id._serialized, content, internalOptions); },
this.id._serialized,
content,
internalOptions,
);
if (messageEdit) { if (messageEdit) {
return new Message(this.client, messageEdit); return new Message(this.client, messageEdit);
} }
@ -758,11 +984,19 @@ class Message extends Base {
return null; return null;
} }
const edittedEventMsg &#x3D; await this.client.pupPage.evaluate(async (msgId, editedEventObject) &#x3D;&gt; { const edittedEventMsg &#x3D; await this.client.pupPage.evaluate(
const msg &#x3D; window.Store.Msg.get(msgId) || (await window.Store.Msg.getMessagesById([msgId]))?.messages?.[0]; async (msgId, editedEventObject) &#x3D;&gt; {
const msg &#x3D;
window.require(&#x27;WAWebCollections&#x27;).Msg.get(msgId) ||
(
await window
.require(&#x27;WAWebCollections&#x27;)
.Msg.getMessagesById([msgId])
)?.messages?.[0];
if (!msg) return null; if (!msg) return null;
const { name, startTimeTs, eventSendOptions } &#x3D; editedEventObject; const { name, startTimeTs, eventSendOptions } &#x3D;
editedEventObject;
const eventOptions &#x3D; { const eventOptions &#x3D; {
name: name, name: name,
description: eventSendOptions.description, description: eventSendOptions.description,
@ -773,13 +1007,21 @@ class Message extends Base {
isEventCanceled: eventSendOptions.isEventCanceled, isEventCanceled: eventSendOptions.isEventCanceled,
}; };
await window.Store.ScheduledEventMsgUtils.sendEventEditMessage(eventOptions, msg); await window
const editedMsg &#x3D; window.Store.Msg.get(msg.id._serialized); .require(&#x27;WAWebSendEventEditMsgAction&#x27;)
.sendEventEditMessage(eventOptions, msg);
const editedMsg &#x3D; window
.require(&#x27;WAWebCollections&#x27;)
.Msg.get(msg.id._serialized);
return editedMsg?.serialize(); return editedMsg?.serialize();
}, this.id._serialized, editedEventObject); },
this.id._serialized,
editedEventObject,
);
return edittedEventMsg &amp;amp;&amp;amp; new Message(this.client, edittedEventMsg); return edittedEventMsg &amp;amp;&amp;amp; new Message(this.client, edittedEventMsg);
} }
/** /**
* Returns the PollVote this poll message * Returns the PollVote this poll message
* @returns {Promise&amp;lt;PollVote[]&gt;} * @returns {Promise&amp;lt;PollVote[]&gt;}
@ -794,24 +1036,36 @@ class Message extends Base {
* @returns {Promise} * @returns {Promise}
*/ */
async vote(selectedOptions) { async vote(selectedOptions) {
if (this.type !&#x3D; MessageTypes.POLL_CREATION) throw &#x27;Invalid usage! Can only be used with a pollCreation message&#x27;; if (this.type !&#x3D; MessageTypes.POLL_CREATION)
throw &#x27;Invalid usage! Can only be used with a pollCreation message&#x27;;
await this.client.pupPage.evaluate(async (messageId, votes) &#x3D;&gt; { await this.client.pupPage.evaluate(
async (messageId, votes) &#x3D;&gt; {
if (!messageId) return null; if (!messageId) return null;
if (!Array.isArray(votes)) votes &#x3D; [votes]; if (!Array.isArray(votes)) votes &#x3D; [votes];
let localIdSet &#x3D; new Set(); let localIdSet &#x3D; new Set();
const msg &#x3D; const msg &#x3D;
window.Store.Msg.get(messageId) || (await window.Store.Msg.getMessagesById([messageId]))?.messages?.[0]; window.require(&#x27;WAWebCollections&#x27;).Msg.get(messageId) ||
(
await window
.require(&#x27;WAWebCollections&#x27;)
.Msg.getMessagesById([messageId])
)?.messages?.[0];
if (!msg) return null; if (!msg) return null;
msg.pollOptions.forEach(a &#x3D;&gt; { msg.pollOptions.forEach((a) &#x3D;&gt; {
for (const option of votes) { for (const option of votes) {
if (a.name &#x3D;&#x3D;&#x3D; option) localIdSet.add(a.localId); if (a.name &#x3D;&#x3D;&#x3D; option) localIdSet.add(a.localId);
} }
}); });
await window.Store.PollsSendVote.sendVote(msg, localIdSet); await window
}, this.id._serialized, selectedOptions); .require(&#x27;WAWebPollsSendVoteMsgAction&#x27;)
.sendVote(msg, localIdSet);
},
this.id._serialized,
selectedOptions,
);
} }
} }
@ -826,7 +1080,7 @@ module.exports &#x3D; Message;
<footer id="jsdoc-footer" class="jsdoc-footer"> <footer id="jsdoc-footer" class="jsdoc-footer">
<div id="jsdoc-footer-container"> <div id="jsdoc-footer-container">
<p> <p>
Generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc</a> 3.6.11 on January 30, 2026. Generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc</a> 3.6.11 on April 24, 2026.
</p> </p>
</div> </div>
</footer> </footer>

View file

@ -4,7 +4,7 @@
<head> <head>
<meta name="generator" content="JSDoc 3.6.11"> <meta name="generator" content="JSDoc 3.6.11">
<meta charset="utf-8"> <meta charset="utf-8">
<title>whatsapp-web.js 1.34.6 &raquo; Source: structures/MessageMedia.js</title> <title>whatsapp-web.js 1.34.7 &raquo; Source: structures/MessageMedia.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/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/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 rel="stylesheet" href="https://brick.a.ssl.fastly.net/Inconsolata:500" type="text/css">
@ -15,7 +15,7 @@
<nav id="jsdoc-navbar" role="navigation" class="jsdoc-navbar"> <nav id="jsdoc-navbar" role="navigation" class="jsdoc-navbar">
<div id="jsdoc-navbar-container"> <div id="jsdoc-navbar-container">
<div id="jsdoc-navbar-content"> <div id="jsdoc-navbar-content">
<a href="index.html" class="jsdoc-navbar-package-name">whatsapp-web.<wbr>js 1.<wbr>34.<wbr>6</a> <a href="index.html" class="jsdoc-navbar-package-name">whatsapp-web.<wbr>js 1.<wbr>34.<wbr>7</a>
</div> </div>
</div> </div>
</nav> </nav>
@ -100,16 +100,25 @@ class MessageMedia {
let mimetype &#x3D; mime.getType(pUrl.pathname); let mimetype &#x3D; mime.getType(pUrl.pathname);
if (!mimetype &amp;amp;&amp;amp; !options.unsafeMime) if (!mimetype &amp;amp;&amp;amp; !options.unsafeMime)
throw new Error(&#x27;Unable to determine MIME type using URL. Set unsafeMime to true to download it anyway.&#x27;); throw new Error(
&#x27;Unable to determine MIME type using URL. Set unsafeMime to true to download it anyway.&#x27;,
);
async function fetchData(url, options) { async function fetchData(url, options) {
const reqOptions &#x3D; Object.assign({ headers: { accept: &#x27;image/* video/* text/* audio/*&#x27; } }, options); const reqOptions &#x3D; Object.assign(
{ headers: { accept: &#x27;image/* video/* text/* audio/*&#x27; } },
options,
);
const response &#x3D; await fetch(url, reqOptions); const response &#x3D; await fetch(url, reqOptions);
const mime &#x3D; response.headers.get(&#x27;Content-Type&#x27;); const mime &#x3D; response.headers.get(&#x27;Content-Type&#x27;);
const size &#x3D; response.headers.get(&#x27;Content-Length&#x27;); const size &#x3D; response.headers.get(&#x27;Content-Length&#x27;);
const contentDisposition &#x3D; response.headers.get(&#x27;Content-Disposition&#x27;); const contentDisposition &#x3D; response.headers.get(
const name &#x3D; contentDisposition ? contentDisposition.match(/((?&amp;lt;&#x3D;filename&#x3D;&quot;)(.*)(?&#x3D;&quot;))/) : null; &#x27;Content-Disposition&#x27;,
);
const name &#x3D; contentDisposition
? contentDisposition.match(/((?&amp;lt;&#x3D;filename&#x3D;&quot;)(.*)(?&#x3D;&quot;))/)
: null;
let data &#x3D; &#x27;&#x27;; let data &#x3D; &#x27;&#x27;;
if (response.buffer) { if (response.buffer) {
@ -126,14 +135,18 @@ class MessageMedia {
} }
const res &#x3D; options.client const res &#x3D; options.client
? (await options.client.pupPage.evaluate(fetchData, url, options.reqOptions)) ? await options.client.pupPage.evaluate(
: (await fetchData(url, options.reqOptions)); fetchData,
url,
options.reqOptions,
)
: await fetchData(url, options.reqOptions);
const filename &#x3D; options.filename || const filename &#x3D;
(res.name ? res.name[0] : (pUrl.pathname.split(&#x27;/&#x27;).pop() || &#x27;file&#x27;)); options.filename ||
(res.name ? res.name[0] : pUrl.pathname.split(&#x27;/&#x27;).pop() || &#x27;file&#x27;);
if (!mimetype) if (!mimetype) mimetype &#x3D; res.mime;
mimetype &#x3D; res.mime;
return new MessageMedia(mimetype, res.data, filename, res.size || null); return new MessageMedia(mimetype, res.data, filename, res.size || null);
} }
@ -150,7 +163,7 @@ module.exports &#x3D; MessageMedia;
<footer id="jsdoc-footer" class="jsdoc-footer"> <footer id="jsdoc-footer" class="jsdoc-footer">
<div id="jsdoc-footer-container"> <div id="jsdoc-footer-container">
<p> <p>
Generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc</a> 3.6.11 on January 30, 2026. Generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc</a> 3.6.11 on April 24, 2026.
</p> </p>
</div> </div>
</footer> </footer>

View file

@ -4,7 +4,7 @@
<head> <head>
<meta name="generator" content="JSDoc 3.6.11"> <meta name="generator" content="JSDoc 3.6.11">
<meta charset="utf-8"> <meta charset="utf-8">
<title>whatsapp-web.js 1.34.6 &raquo; Source: structures/Order.js</title> <title>whatsapp-web.js 1.34.7 &raquo; Source: structures/Order.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/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/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 rel="stylesheet" href="https://brick.a.ssl.fastly.net/Inconsolata:500" type="text/css">
@ -15,7 +15,7 @@
<nav id="jsdoc-navbar" role="navigation" class="jsdoc-navbar"> <nav id="jsdoc-navbar" role="navigation" class="jsdoc-navbar">
<div id="jsdoc-navbar-container"> <div id="jsdoc-navbar-container">
<div id="jsdoc-navbar-content"> <div id="jsdoc-navbar-content">
<a href="index.html" class="jsdoc-navbar-package-name">whatsapp-web.<wbr>js 1.<wbr>34.<wbr>6</a> <a href="index.html" class="jsdoc-navbar-package-name">whatsapp-web.<wbr>js 1.<wbr>34.<wbr>7</a>
</div> </div>
</div> </div>
</nav> </nav>
@ -51,7 +51,9 @@ class Order extends Base {
* @type {Array&amp;lt;Product&gt;} * @type {Array&amp;lt;Product&gt;}
*/ */
if (data.products) { if (data.products) {
this.products &#x3D; data.products.map(product &#x3D;&gt; new Product(this.client, product)); this.products &#x3D; data.products.map(
(product) &#x3D;&gt; new Product(this.client, product),
);
} }
/** /**
* Order Subtotal * Order Subtotal
@ -76,11 +78,10 @@ class Order extends Base {
return super._patch(data); return super._patch(data);
} }
} }
module.exports &#x3D; Order;</code></pre> module.exports &#x3D; Order;
</code></pre>
</article> </article>
</div> </div>
</div> </div>
@ -90,7 +91,7 @@ module.exports &#x3D; Order;</code></pre>
<footer id="jsdoc-footer" class="jsdoc-footer"> <footer id="jsdoc-footer" class="jsdoc-footer">
<div id="jsdoc-footer-container"> <div id="jsdoc-footer-container">
<p> <p>
Generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc</a> 3.6.11 on January 30, 2026. Generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc</a> 3.6.11 on April 24, 2026.
</p> </p>
</div> </div>
</footer> </footer>

View file

@ -4,7 +4,7 @@
<head> <head>
<meta name="generator" content="JSDoc 3.6.11"> <meta name="generator" content="JSDoc 3.6.11">
<meta charset="utf-8"> <meta charset="utf-8">
<title>whatsapp-web.js 1.34.6 &raquo; Source: structures/Payment.js</title> <title>whatsapp-web.js 1.34.7 &raquo; Source: structures/Payment.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/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/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 rel="stylesheet" href="https://brick.a.ssl.fastly.net/Inconsolata:500" type="text/css">
@ -15,7 +15,7 @@
<nav id="jsdoc-navbar" role="navigation" class="jsdoc-navbar"> <nav id="jsdoc-navbar" role="navigation" class="jsdoc-navbar">
<div id="jsdoc-navbar-container"> <div id="jsdoc-navbar-container">
<div id="jsdoc-navbar-content"> <div id="jsdoc-navbar-content">
<a href="index.html" class="jsdoc-navbar-package-name">whatsapp-web.<wbr>js 1.<wbr>34.<wbr>6</a> <a href="index.html" class="jsdoc-navbar-package-name">whatsapp-web.<wbr>js 1.<wbr>34.<wbr>7</a>
</div> </div>
</div> </div>
</nav> </nav>
@ -100,11 +100,14 @@ class Payment extends Base {
* The note sent with the payment * The note sent with the payment
* @type {string} * @type {string}
*/ */
this.paymentNote &#x3D; !data.paymentNoteMsg ? undefined : data.paymentNoteMsg.body ? data.paymentNoteMsg.body : undefined ; this.paymentNote &#x3D; !data.paymentNoteMsg
? undefined
: data.paymentNoteMsg.body
? data.paymentNoteMsg.body
: undefined;
return super._patch(data); return super._patch(data);
} }
} }
module.exports &#x3D; Payment; module.exports &#x3D; Payment;
@ -118,7 +121,7 @@ module.exports &#x3D; Payment;
<footer id="jsdoc-footer" class="jsdoc-footer"> <footer id="jsdoc-footer" class="jsdoc-footer">
<div id="jsdoc-footer-container"> <div id="jsdoc-footer-container">
<p> <p>
Generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc</a> 3.6.11 on January 30, 2026. Generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc</a> 3.6.11 on April 24, 2026.
</p> </p>
</div> </div>
</footer> </footer>

View file

@ -4,7 +4,7 @@
<head> <head>
<meta name="generator" content="JSDoc 3.6.11"> <meta name="generator" content="JSDoc 3.6.11">
<meta charset="utf-8"> <meta charset="utf-8">
<title>whatsapp-web.js 1.34.6 &raquo; Source: structures/Poll.js</title> <title>whatsapp-web.js 1.34.7 &raquo; Source: structures/Poll.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/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/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 rel="stylesheet" href="https://brick.a.ssl.fastly.net/Inconsolata:500" type="text/css">
@ -15,7 +15,7 @@
<nav id="jsdoc-navbar" role="navigation" class="jsdoc-navbar"> <nav id="jsdoc-navbar" role="navigation" class="jsdoc-navbar">
<div id="jsdoc-navbar-container"> <div id="jsdoc-navbar-container">
<div id="jsdoc-navbar-content"> <div id="jsdoc-navbar-content">
<a href="index.html" class="jsdoc-navbar-package-name">whatsapp-web.<wbr>js 1.<wbr>34.<wbr>6</a> <a href="index.html" class="jsdoc-navbar-package-name">whatsapp-web.<wbr>js 1.<wbr>34.<wbr>7</a>
</div> </div>
</div> </div>
</nav> </nav>
@ -58,7 +58,7 @@ class Poll {
*/ */
this.pollOptions &#x3D; pollOptions.map((option, index) &#x3D;&gt; ({ this.pollOptions &#x3D; pollOptions.map((option, index) &#x3D;&gt; ({
name: option.trim(), name: option.trim(),
localId: index localId: index,
})); }));
/** /**
@ -67,7 +67,7 @@ class Poll {
*/ */
this.options &#x3D; { this.options &#x3D; {
allowMultipleAnswers: options.allowMultipleAnswers &#x3D;&#x3D;&#x3D; true, allowMultipleAnswers: options.allowMultipleAnswers &#x3D;&#x3D;&#x3D; true,
messageSecret: options.messageSecret messageSecret: options.messageSecret,
}; };
} }
} }
@ -83,7 +83,7 @@ module.exports &#x3D; Poll;
<footer id="jsdoc-footer" class="jsdoc-footer"> <footer id="jsdoc-footer" class="jsdoc-footer">
<div id="jsdoc-footer-container"> <div id="jsdoc-footer-container">
<p> <p>
Generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc</a> 3.6.11 on January 30, 2026. Generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc</a> 3.6.11 on April 24, 2026.
</p> </p>
</div> </div>
</footer> </footer>

View file

@ -4,7 +4,7 @@
<head> <head>
<meta name="generator" content="JSDoc 3.6.11"> <meta name="generator" content="JSDoc 3.6.11">
<meta charset="utf-8"> <meta charset="utf-8">
<title>whatsapp-web.js 1.34.6 &raquo; Source: structures/PollVote.js</title> <title>whatsapp-web.js 1.34.7 &raquo; Source: structures/PollVote.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/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/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 rel="stylesheet" href="https://brick.a.ssl.fastly.net/Inconsolata:500" type="text/css">
@ -15,7 +15,7 @@
<nav id="jsdoc-navbar" role="navigation" class="jsdoc-navbar"> <nav id="jsdoc-navbar" role="navigation" class="jsdoc-navbar">
<div id="jsdoc-navbar-container"> <div id="jsdoc-navbar-container">
<div id="jsdoc-navbar-content"> <div id="jsdoc-navbar-content">
<a href="index.html" class="jsdoc-navbar-package-name">whatsapp-web.<wbr>js 1.<wbr>34.<wbr>6</a> <a href="index.html" class="jsdoc-navbar-package-name">whatsapp-web.<wbr>js 1.<wbr>34.<wbr>7</a>
</div> </div>
</div> </div>
</nav> </nav>
@ -66,15 +66,18 @@ class PollVote extends Base {
* @type {SelectedPollOption[]} * @type {SelectedPollOption[]}
*/ */
if (data.selectedOptionLocalIds.length &gt; 0) { if (data.selectedOptionLocalIds.length &gt; 0) {
if(data.parentMessage) { // temporary failsafe if (data.parentMessage) {
// temporary failsafe
this.selectedOptions &#x3D; data.selectedOptionLocalIds.map((e) &#x3D;&gt; ({ this.selectedOptions &#x3D; data.selectedOptionLocalIds.map((e) &#x3D;&gt; ({
name: data.parentMessage.pollOptions.find((x) &#x3D;&gt; x.localId &#x3D;&#x3D;&#x3D; e).name, name: data.parentMessage.pollOptions.find(
localId: e (x) &#x3D;&gt; x.localId &#x3D;&#x3D;&#x3D; e,
).name,
localId: e,
})); }));
} else { } else {
this.selectedOptions &#x3D; data.selectedOptionLocalIds.map((e) &#x3D;&gt; ({ this.selectedOptions &#x3D; data.selectedOptionLocalIds.map((e) &#x3D;&gt; ({
name: undefined, name: undefined,
localId: e localId: e,
})); }));
} }
} else { } else {
@ -114,7 +117,7 @@ module.exports &#x3D; PollVote;
<footer id="jsdoc-footer" class="jsdoc-footer"> <footer id="jsdoc-footer" class="jsdoc-footer">
<div id="jsdoc-footer-container"> <div id="jsdoc-footer-container">
<p> <p>
Generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc</a> 3.6.11 on January 30, 2026. Generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc</a> 3.6.11 on April 24, 2026.
</p> </p>
</div> </div>
</footer> </footer>

View file

@ -4,7 +4,7 @@
<head> <head>
<meta name="generator" content="JSDoc 3.6.11"> <meta name="generator" content="JSDoc 3.6.11">
<meta charset="utf-8"> <meta charset="utf-8">
<title>whatsapp-web.js 1.34.6 &raquo; Source: structures/PrivateChat.js</title> <title>whatsapp-web.js 1.34.7 &raquo; Source: structures/PrivateChat.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/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/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 rel="stylesheet" href="https://brick.a.ssl.fastly.net/Inconsolata:500" type="text/css">
@ -15,7 +15,7 @@
<nav id="jsdoc-navbar" role="navigation" class="jsdoc-navbar"> <nav id="jsdoc-navbar" role="navigation" class="jsdoc-navbar">
<div id="jsdoc-navbar-container"> <div id="jsdoc-navbar-container">
<div id="jsdoc-navbar-content"> <div id="jsdoc-navbar-content">
<a href="index.html" class="jsdoc-navbar-package-name">whatsapp-web.<wbr>js 1.<wbr>34.<wbr>6</a> <a href="index.html" class="jsdoc-navbar-package-name">whatsapp-web.<wbr>js 1.<wbr>34.<wbr>7</a>
</div> </div>
</div> </div>
</nav> </nav>
@ -37,11 +37,10 @@ const Chat &#x3D; require(&#x27;./Chat&#x27;);
* Represents a Private Chat on WhatsApp * Represents a Private Chat on WhatsApp
* @extends {Chat} * @extends {Chat}
*/ */
class PrivateChat extends Chat { class PrivateChat extends Chat {}
} module.exports &#x3D; PrivateChat;
</code></pre>
module.exports &#x3D; PrivateChat;</code></pre>
</article> </article>
</div> </div>
</div> </div>
@ -51,7 +50,7 @@ module.exports &#x3D; PrivateChat;</code></pre>
<footer id="jsdoc-footer" class="jsdoc-footer"> <footer id="jsdoc-footer" class="jsdoc-footer">
<div id="jsdoc-footer-container"> <div id="jsdoc-footer-container">
<p> <p>
Generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc</a> 3.6.11 on January 30, 2026. Generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc</a> 3.6.11 on April 24, 2026.
</p> </p>
</div> </div>
</footer> </footer>

View file

@ -4,7 +4,7 @@
<head> <head>
<meta name="generator" content="JSDoc 3.6.11"> <meta name="generator" content="JSDoc 3.6.11">
<meta charset="utf-8"> <meta charset="utf-8">
<title>whatsapp-web.js 1.34.6 &raquo; Source: structures/PrivateContact.js</title> <title>whatsapp-web.js 1.34.7 &raquo; Source: structures/PrivateContact.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/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/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 rel="stylesheet" href="https://brick.a.ssl.fastly.net/Inconsolata:500" type="text/css">
@ -15,7 +15,7 @@
<nav id="jsdoc-navbar" role="navigation" class="jsdoc-navbar"> <nav id="jsdoc-navbar" role="navigation" class="jsdoc-navbar">
<div id="jsdoc-navbar-container"> <div id="jsdoc-navbar-container">
<div id="jsdoc-navbar-content"> <div id="jsdoc-navbar-content">
<a href="index.html" class="jsdoc-navbar-package-name">whatsapp-web.<wbr>js 1.<wbr>34.<wbr>6</a> <a href="index.html" class="jsdoc-navbar-package-name">whatsapp-web.<wbr>js 1.<wbr>34.<wbr>7</a>
</div> </div>
</div> </div>
</nav> </nav>
@ -37,11 +37,10 @@ const Contact &#x3D; require(&#x27;./Contact&#x27;);
* Represents a Private Contact on WhatsApp * Represents a Private Contact on WhatsApp
* @extends {Contact} * @extends {Contact}
*/ */
class PrivateContact extends Contact { class PrivateContact extends Contact {}
} module.exports &#x3D; PrivateContact;
</code></pre>
module.exports &#x3D; PrivateContact;</code></pre>
</article> </article>
</div> </div>
</div> </div>
@ -51,7 +50,7 @@ module.exports &#x3D; PrivateContact;</code></pre>
<footer id="jsdoc-footer" class="jsdoc-footer"> <footer id="jsdoc-footer" class="jsdoc-footer">
<div id="jsdoc-footer-container"> <div id="jsdoc-footer-container">
<p> <p>
Generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc</a> 3.6.11 on January 30, 2026. Generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc</a> 3.6.11 on April 24, 2026.
</p> </p>
</div> </div>
</footer> </footer>

View file

@ -4,7 +4,7 @@
<head> <head>
<meta name="generator" content="JSDoc 3.6.11"> <meta name="generator" content="JSDoc 3.6.11">
<meta charset="utf-8"> <meta charset="utf-8">
<title>whatsapp-web.js 1.34.6 &raquo; Source: structures/Product.js</title> <title>whatsapp-web.js 1.34.7 &raquo; Source: structures/Product.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/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/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 rel="stylesheet" href="https://brick.a.ssl.fastly.net/Inconsolata:500" type="text/css">
@ -15,7 +15,7 @@
<nav id="jsdoc-navbar" role="navigation" class="jsdoc-navbar"> <nav id="jsdoc-navbar" role="navigation" class="jsdoc-navbar">
<div id="jsdoc-navbar-container"> <div id="jsdoc-navbar-container">
<div id="jsdoc-navbar-content"> <div id="jsdoc-navbar-content">
<a href="index.html" class="jsdoc-navbar-package-name">whatsapp-web.<wbr>js 1.<wbr>34.<wbr>6</a> <a href="index.html" class="jsdoc-navbar-package-name">whatsapp-web.<wbr>js 1.<wbr>34.<wbr>7</a>
</div> </div>
</div> </div>
</nav> </nav>
@ -96,7 +96,8 @@ class Product extends Base {
} }
} }
module.exports &#x3D; Product;</code></pre> module.exports &#x3D; Product;
</code></pre>
</article> </article>
</div> </div>
</div> </div>
@ -106,7 +107,7 @@ module.exports &#x3D; Product;</code></pre>
<footer id="jsdoc-footer" class="jsdoc-footer"> <footer id="jsdoc-footer" class="jsdoc-footer">
<div id="jsdoc-footer-container"> <div id="jsdoc-footer-container">
<p> <p>
Generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc</a> 3.6.11 on January 30, 2026. Generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc</a> 3.6.11 on April 24, 2026.
</p> </p>
</div> </div>
</footer> </footer>

View file

@ -4,7 +4,7 @@
<head> <head>
<meta name="generator" content="JSDoc 3.6.11"> <meta name="generator" content="JSDoc 3.6.11">
<meta charset="utf-8"> <meta charset="utf-8">
<title>whatsapp-web.js 1.34.6 &raquo; Source: structures/ProductMetadata.js</title> <title>whatsapp-web.js 1.34.7 &raquo; Source: structures/ProductMetadata.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/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/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 rel="stylesheet" href="https://brick.a.ssl.fastly.net/Inconsolata:500" type="text/css">
@ -15,7 +15,7 @@
<nav id="jsdoc-navbar" role="navigation" class="jsdoc-navbar"> <nav id="jsdoc-navbar" role="navigation" class="jsdoc-navbar">
<div id="jsdoc-navbar-container"> <div id="jsdoc-navbar-container">
<div id="jsdoc-navbar-content"> <div id="jsdoc-navbar-content">
<a href="index.html" class="jsdoc-navbar-package-name">whatsapp-web.<wbr>js 1.<wbr>34.<wbr>6</a> <a href="index.html" class="jsdoc-navbar-package-name">whatsapp-web.<wbr>js 1.<wbr>34.<wbr>7</a>
</div> </div>
</div> </div>
</nav> </nav>
@ -50,10 +50,10 @@ class ProductMetadata extends Base {
return super._patch(data); return super._patch(data);
} }
} }
module.exports &#x3D; ProductMetadata;</code></pre> module.exports &#x3D; ProductMetadata;
</code></pre>
</article> </article>
</div> </div>
</div> </div>
@ -63,7 +63,7 @@ module.exports &#x3D; ProductMetadata;</code></pre>
<footer id="jsdoc-footer" class="jsdoc-footer"> <footer id="jsdoc-footer" class="jsdoc-footer">
<div id="jsdoc-footer-container"> <div id="jsdoc-footer-container">
<p> <p>
Generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc</a> 3.6.11 on January 30, 2026. Generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc</a> 3.6.11 on April 24, 2026.
</p> </p>
</div> </div>
</footer> </footer>

View file

@ -4,7 +4,7 @@
<head> <head>
<meta name="generator" content="JSDoc 3.6.11"> <meta name="generator" content="JSDoc 3.6.11">
<meta charset="utf-8"> <meta charset="utf-8">
<title>whatsapp-web.js 1.34.6 &raquo; Source: structures/Reaction.js</title> <title>whatsapp-web.js 1.34.7 &raquo; Source: structures/Reaction.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/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/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 rel="stylesheet" href="https://brick.a.ssl.fastly.net/Inconsolata:500" type="text/css">
@ -15,7 +15,7 @@
<nav id="jsdoc-navbar" role="navigation" class="jsdoc-navbar"> <nav id="jsdoc-navbar" role="navigation" class="jsdoc-navbar">
<div id="jsdoc-navbar-container"> <div id="jsdoc-navbar-container">
<div id="jsdoc-navbar-content"> <div id="jsdoc-navbar-content">
<a href="index.html" class="jsdoc-navbar-package-name">whatsapp-web.<wbr>js 1.<wbr>34.<wbr>6</a> <a href="index.html" class="jsdoc-navbar-package-name">whatsapp-web.<wbr>js 1.<wbr>34.<wbr>7</a>
</div> </div>
</div> </div>
</nav> </nav>
@ -91,13 +91,12 @@ class Reaction extends Base {
*/ */
this.ack &#x3D; data.ack; this.ack &#x3D; data.ack;
return super._patch(data); return super._patch(data);
} }
} }
module.exports &#x3D; Reaction;</code></pre> module.exports &#x3D; Reaction;
</code></pre>
</article> </article>
</div> </div>
</div> </div>
@ -107,7 +106,7 @@ module.exports &#x3D; Reaction;</code></pre>
<footer id="jsdoc-footer" class="jsdoc-footer"> <footer id="jsdoc-footer" class="jsdoc-footer">
<div id="jsdoc-footer-container"> <div id="jsdoc-footer-container">
<p> <p>
Generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc</a> 3.6.11 on January 30, 2026. Generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc</a> 3.6.11 on April 24, 2026.
</p> </p>
</div> </div>
</footer> </footer>

View file

@ -4,7 +4,7 @@
<head> <head>
<meta name="generator" content="JSDoc 3.6.11"> <meta name="generator" content="JSDoc 3.6.11">
<meta charset="utf-8"> <meta charset="utf-8">
<title>whatsapp-web.js 1.34.6 &raquo; Source: structures/ScheduledEvent.js</title> <title>whatsapp-web.js 1.34.7 &raquo; Source: structures/ScheduledEvent.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/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/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 rel="stylesheet" href="https://brick.a.ssl.fastly.net/Inconsolata:500" type="text/css">
@ -15,7 +15,7 @@
<nav id="jsdoc-navbar" role="navigation" class="jsdoc-navbar"> <nav id="jsdoc-navbar" role="navigation" class="jsdoc-navbar">
<div id="jsdoc-navbar-container"> <div id="jsdoc-navbar-container">
<div id="jsdoc-navbar-content"> <div id="jsdoc-navbar-content">
<a href="index.html" class="jsdoc-navbar-package-name">whatsapp-web.<wbr>js 1.<wbr>34.<wbr>6</a> <a href="index.html" class="jsdoc-navbar-package-name">whatsapp-web.<wbr>js 1.<wbr>34.<wbr>7</a>
</div> </div>
</div> </div>
</nav> </nav>
@ -68,11 +68,13 @@ class ScheduledEvent {
*/ */
this.eventSendOptions &#x3D; { this.eventSendOptions &#x3D; {
description: options.description?.trim(), description: options.description?.trim(),
endTimeTs: options.endTime ? Math.floor(options.endTime.getTime() / 1000) : null, endTimeTs: options.endTime
? Math.floor(options.endTime.getTime() / 1000)
: null,
location: options.location?.trim(), location: options.location?.trim(),
callType: this._validateInputs(&#x27;callType&#x27;, options.callType), callType: this._validateInputs(&#x27;callType&#x27;, options.callType),
isEventCanceled: options.isEventCanceled ?? false, isEventCanceled: options.isEventCanceled ?? false,
messageSecret: options.messageSecret messageSecret: options.messageSecret,
}; };
} }
@ -84,15 +86,25 @@ class ScheduledEvent {
*/ */
_validateInputs(propName, propValue) { _validateInputs(propName, propValue) {
if (propName &#x3D;&#x3D;&#x3D; &#x27;name&#x27; &amp;amp;&amp;amp; !propValue) { if (propName &#x3D;&#x3D;&#x3D; &#x27;name&#x27; &amp;amp;&amp;amp; !propValue) {
throw new class CreateScheduledEventError extends Error { throw new (class CreateScheduledEventError extends Error {
constructor(m) { super(m); } constructor(m) {
}(&#x60;Empty &#x27;${propName}&#x27; parameter value is provided.&#x60;); super(m);
}
})(&#x60;Empty &#x27;${propName}&#x27; parameter value is provided.&#x60;);
} }
if (propName &#x3D;&#x3D;&#x3D; &#x27;callType&#x27; &amp;amp;&amp;amp; propValue &amp;amp;&amp;amp; ![&#x27;video&#x27;, &#x27;voice&#x27;, &#x27;none&#x27;].includes(propValue)) { if (
throw new class CreateScheduledEventError extends Error { propName &#x3D;&#x3D;&#x3D; &#x27;callType&#x27; &amp;amp;&amp;amp;
constructor(m) { super(m); } propValue &amp;amp;&amp;amp;
}(&#x60;Invalid &#x27;${propName}&#x27; parameter value is provided. Valid values are: &#x27;voice&#x27; | &#x27;video&#x27; | &#x27;none&#x27;.&#x60;); ![&#x27;video&#x27;, &#x27;voice&#x27;, &#x27;none&#x27;].includes(propValue)
) {
throw new (class CreateScheduledEventError extends Error {
constructor(m) {
super(m);
}
})(
&#x60;Invalid &#x27;${propName}&#x27; parameter value is provided. Valid values are: &#x27;voice&#x27; | &#x27;video&#x27; | &#x27;none&#x27;.&#x60;,
);
} }
return propValue; return propValue;
@ -110,7 +122,7 @@ module.exports &#x3D; ScheduledEvent;
<footer id="jsdoc-footer" class="jsdoc-footer"> <footer id="jsdoc-footer" class="jsdoc-footer">
<div id="jsdoc-footer-container"> <div id="jsdoc-footer-container">
<p> <p>
Generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc</a> 3.6.11 on January 30, 2026. Generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc</a> 3.6.11 on April 24, 2026.
</p> </p>
</div> </div>
</footer> </footer>

View file

@ -4,7 +4,7 @@
<head> <head>
<meta name="generator" content="JSDoc 3.6.11"> <meta name="generator" content="JSDoc 3.6.11">
<meta charset="utf-8"> <meta charset="utf-8">
<title>whatsapp-web.js 1.34.6 &raquo; Source: util/Constants.js</title> <title>whatsapp-web.js 1.34.7 &raquo; Source: util/Constants.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/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/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 rel="stylesheet" href="https://brick.a.ssl.fastly.net/Inconsolata:500" type="text/css">
@ -15,7 +15,7 @@
<nav id="jsdoc-navbar" role="navigation" class="jsdoc-navbar"> <nav id="jsdoc-navbar" role="navigation" class="jsdoc-navbar">
<div id="jsdoc-navbar-container"> <div id="jsdoc-navbar-container">
<div id="jsdoc-navbar-content"> <div id="jsdoc-navbar-content">
<a href="index.html" class="jsdoc-navbar-package-name">whatsapp-web.<wbr>js 1.<wbr>34.<wbr>6</a> <a href="index.html" class="jsdoc-navbar-package-name">whatsapp-web.<wbr>js 1.<wbr>34.<wbr>7</a>
</div> </div>
</div> </div>
</nav> </nav>
@ -36,7 +36,7 @@ exports.WhatsWebURL &#x3D; &#x27;https://web.whatsapp.com/&#x27;;
exports.DefaultOptions &#x3D; { exports.DefaultOptions &#x3D; {
puppeteer: { puppeteer: {
headless: true, headless: true,
defaultViewport: null defaultViewport: null,
}, },
webVersion: &#x27;2.3000.1017054665&#x27;, webVersion: &#x27;2.3000.1017054665&#x27;,
webVersionCache: { webVersionCache: {
@ -46,7 +46,8 @@ exports.DefaultOptions &#x3D; {
qrMaxRetries: 0, qrMaxRetries: 0,
takeoverOnConflict: false, takeoverOnConflict: false,
takeoverTimeoutMs: 0, takeoverTimeoutMs: 0,
userAgent: &#x27;Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.4951.67 Safari/537.36&#x27;, userAgent:
&#x27;Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.4951.67 Safari/537.36&#x27;,
ffmpegPath: &#x27;ffmpeg&#x27;, ffmpegPath: &#x27;ffmpeg&#x27;,
bypassCSP: false, bypassCSP: false,
proxyAuthentication: undefined, proxyAuthentication: undefined,
@ -65,7 +66,7 @@ exports.DefaultOptions &#x3D; {
exports.Status &#x3D; { exports.Status &#x3D; {
INITIALIZING: 0, INITIALIZING: 0,
AUTHENTICATING: 1, AUTHENTICATING: 1,
READY: 3 READY: 3,
}; };
/** /**
@ -81,6 +82,7 @@ exports.Events &#x3D; {
CHAT_ARCHIVED: &#x27;chat_archived&#x27;, CHAT_ARCHIVED: &#x27;chat_archived&#x27;,
MESSAGE_RECEIVED: &#x27;message&#x27;, MESSAGE_RECEIVED: &#x27;message&#x27;,
MESSAGE_CIPHERTEXT: &#x27;message_ciphertext&#x27;, MESSAGE_CIPHERTEXT: &#x27;message_ciphertext&#x27;,
MESSAGE_CIPHERTEXT_FAILED: &#x27;message_ciphertext_failed&#x27;,
MESSAGE_CREATE: &#x27;message_create&#x27;, MESSAGE_CREATE: &#x27;message_create&#x27;,
MESSAGE_REVOKED_EVERYONE: &#x27;message_revoke_everyone&#x27;, MESSAGE_REVOKED_EVERYONE: &#x27;message_revoke_everyone&#x27;,
MESSAGE_REVOKED_ME: &#x27;message_revoke_me&#x27;, MESSAGE_REVOKED_ME: &#x27;message_revoke_me&#x27;,
@ -103,7 +105,7 @@ exports.Events &#x3D; {
BATTERY_CHANGED: &#x27;change_battery&#x27;, BATTERY_CHANGED: &#x27;change_battery&#x27;,
INCOMING_CALL: &#x27;call&#x27;, INCOMING_CALL: &#x27;call&#x27;,
REMOTE_SESSION_SAVED: &#x27;remote_session_saved&#x27;, REMOTE_SESSION_SAVED: &#x27;remote_session_saved&#x27;,
VOTE_UPDATE: &#x27;vote_update&#x27; VOTE_UPDATE: &#x27;vote_update&#x27;,
}; };
/** /**
@ -179,7 +181,7 @@ exports.GroupNotificationTypes &#x3D; {
exports.ChatTypes &#x3D; { exports.ChatTypes &#x3D; {
SOLO: &#x27;solo&#x27;, SOLO: &#x27;solo&#x27;,
GROUP: &#x27;group&#x27;, GROUP: &#x27;group&#x27;,
UNKNOWN: &#x27;unknown&#x27; UNKNOWN: &#x27;unknown&#x27;,
}; };
/** /**
@ -199,7 +201,7 @@ exports.WAState &#x3D; {
TOS_BLOCK: &#x27;TOS_BLOCK&#x27;, TOS_BLOCK: &#x27;TOS_BLOCK&#x27;,
UNLAUNCHED: &#x27;UNLAUNCHED&#x27;, UNLAUNCHED: &#x27;UNLAUNCHED&#x27;,
UNPAIRED: &#x27;UNPAIRED&#x27;, UNPAIRED: &#x27;UNPAIRED&#x27;,
UNPAIRED_IDLE: &#x27;UNPAIRED_IDLE&#x27; UNPAIRED_IDLE: &#x27;UNPAIRED_IDLE&#x27;,
}; };
/** /**
@ -225,7 +227,7 @@ exports.MessageAck &#x3D; {
<footer id="jsdoc-footer" class="jsdoc-footer"> <footer id="jsdoc-footer" class="jsdoc-footer">
<div id="jsdoc-footer-container"> <div id="jsdoc-footer-container">
<p> <p>
Generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc</a> 3.6.11 on January 30, 2026. Generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc</a> 3.6.11 on April 24, 2026.
</p> </p>
</div> </div>
</footer> </footer>

File diff suppressed because it is too large Load diff

View file

@ -4,7 +4,7 @@
<head> <head>
<meta name="generator" content="JSDoc 3.6.11"> <meta name="generator" content="JSDoc 3.6.11">
<meta charset="utf-8"> <meta charset="utf-8">
<title>whatsapp-web.js 1.34.6 &raquo; Source: util/InterfaceController.js</title> <title>whatsapp-web.js 1.34.7 &raquo; Source: util/InterfaceController.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/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/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 rel="stylesheet" href="https://brick.a.ssl.fastly.net/Inconsolata:500" type="text/css">
@ -15,7 +15,7 @@
<nav id="jsdoc-navbar" role="navigation" class="jsdoc-navbar"> <nav id="jsdoc-navbar" role="navigation" class="jsdoc-navbar">
<div id="jsdoc-navbar-container"> <div id="jsdoc-navbar-container">
<div id="jsdoc-navbar-content"> <div id="jsdoc-navbar-content">
<a href="index.html" class="jsdoc-navbar-package-name">whatsapp-web.<wbr>js 1.<wbr>34.<wbr>6</a> <a href="index.html" class="jsdoc-navbar-package-name">whatsapp-web.<wbr>js 1.<wbr>34.<wbr>7</a>
</div> </div>
</div> </div>
</nav> </nav>
@ -35,7 +35,6 @@
* Interface Controller * Interface Controller
*/ */
class InterfaceController { class InterfaceController {
constructor(props) { constructor(props) {
this.pupPage &#x3D; props.pupPage; this.pupPage &#x3D; props.pupPage;
} }
@ -46,8 +45,12 @@ class InterfaceController {
*/ */
async openChatWindow(chatId) { async openChatWindow(chatId) {
return await this.pupPage.evaluate(async (chatId) &#x3D;&gt; { return await this.pupPage.evaluate(async (chatId) &#x3D;&gt; {
const chat &#x3D; await window.WWebJS.getChat(chatId, { getAsModel: false }); const chat &#x3D; await window.WWebJS.getChat(chatId, {
return await window.Store.Cmd.openChatBottom({&#x27;chat&#x27;:chat}); getAsModel: false,
});
return await window
.require(&#x27;WAWebCmd&#x27;)
.Cmd.openChatBottom({ chat: chat });
}, chatId); }, chatId);
} }
@ -56,9 +59,11 @@ class InterfaceController {
* @param {string} chatId ID of the chat drawer that will be opened * @param {string} chatId ID of the chat drawer that will be opened
*/ */
async openChatDrawer(chatId) { async openChatDrawer(chatId) {
await this.pupPage.evaluate(async chatId &#x3D;&gt; { await this.pupPage.evaluate(async (chatId) &#x3D;&gt; {
let chat &#x3D; await window.WWebJS.getChat(chatId, { getAsModel: false }); let chat &#x3D; await window.WWebJS.getChat(chatId, {
await window.Store.Cmd.openDrawerMid(chat); getAsModel: false,
});
await window.require(&#x27;WAWebCmd&#x27;).Cmd.openDrawerMid(chat);
}, chatId); }, chatId);
} }
@ -67,9 +72,11 @@ class InterfaceController {
* @param {string} chatId ID of the chat search that will be opened * @param {string} chatId ID of the chat search that will be opened
*/ */
async openChatSearch(chatId) { async openChatSearch(chatId) {
await this.pupPage.evaluate(async chatId &#x3D;&gt; { await this.pupPage.evaluate(async (chatId) &#x3D;&gt; {
let chat &#x3D; await window.WWebJS.getChat(chatId, { getAsModel: false }); let chat &#x3D; await window.WWebJS.getChat(chatId, {
await window.Store.Cmd.chatSearch(chat); getAsModel: false,
});
await window.require(&#x27;WAWebCmd&#x27;).Cmd.chatSearch(chat);
}, chatId); }, chatId);
} }
@ -79,10 +86,24 @@ class InterfaceController {
*/ */
async openChatWindowAt(msgId) { async openChatWindowAt(msgId) {
await this.pupPage.evaluate(async (msgId) &#x3D;&gt; { await this.pupPage.evaluate(async (msgId) &#x3D;&gt; {
const msg &#x3D; window.Store.Msg.get(msgId) || (await window.Store.Msg.getMessagesById([msgId]))?.messages?.[0]; const msg &#x3D;
const chat &#x3D; window.Store.Chat.get(msg.id.remote) ?? await window.Store.Chat.find(msg.id.remote); window.require(&#x27;WAWebCollections&#x27;).Msg.get(msgId) ||
const searchContext &#x3D; await window.Store.SearchContext.getSearchContext(chat, msg.id); (
await window.Store.Cmd.openChatAt({ chat: chat, msgContext: searchContext }); await window
.require(&#x27;WAWebCollections&#x27;)
.Msg.getMessagesById([msgId])
)?.messages?.[0];
const chat &#x3D;
window.require(&#x27;WAWebCollections&#x27;).Chat.get(msg.id.remote) ??
(await window
.require(&#x27;WAWebCollections&#x27;)
.Chat.find(msg.id.remote));
const searchContext &#x3D; await window
.require(&#x27;WAWebChatMessageSearch&#x27;)
.getSearchContext(chat, msg.id);
await window
.require(&#x27;WAWebCmd&#x27;)
.Cmd.openChatAt({ chat: chat, msgContext: searchContext });
}, msgId); }, msgId);
} }
@ -91,9 +112,15 @@ class InterfaceController {
* @param {string} msgId ID of the message drawer that will be opened * @param {string} msgId ID of the message drawer that will be opened
*/ */
async openMessageDrawer(msgId) { async openMessageDrawer(msgId) {
await this.pupPage.evaluate(async msgId &#x3D;&gt; { await this.pupPage.evaluate(async (msgId) &#x3D;&gt; {
const msg &#x3D; window.Store.Msg.get(msgId) || (await window.Store.Msg.getMessagesById([msgId]))?.messages?.[0]; const msg &#x3D;
await window.Store.Cmd.msgInfoDrawer(msg); window.require(&#x27;WAWebCollections&#x27;).Msg.get(msgId) ||
(
await window
.require(&#x27;WAWebCollections&#x27;)
.Msg.getMessagesById([msgId])
)?.messages?.[0];
await window.require(&#x27;WAWebCmd&#x27;).Cmd.msgInfoDrawer(msg);
}, msgId); }, msgId);
} }
@ -102,7 +129,9 @@ class InterfaceController {
*/ */
async closeRightDrawer() { async closeRightDrawer() {
await this.pupPage.evaluate(async () &#x3D;&gt; { await this.pupPage.evaluate(async () &#x3D;&gt; {
await window.Store.DrawerManager.closeDrawerRight(); await window
.require(&#x27;WAWebDrawerManager&#x27;)
.DrawerManager.closeDrawerRight();
}); });
} }
@ -111,8 +140,11 @@ class InterfaceController {
*/ */
async getFeatures() { async getFeatures() {
return await this.pupPage.evaluate(() &#x3D;&gt; { return await this.pupPage.evaluate(() &#x3D;&gt; {
if(!window.Store.Features) throw new Error(&#x27;This version of Whatsapp Web does not support features&#x27;); if (!window.require(&#x27;WAWebCollections&#x27;).Features)
return window.Store.Features.F; throw new Error(
&#x27;This version of Whatsapp Web does not support features&#x27;,
);
return window.require(&#x27;WAWebCollections&#x27;).Features.F;
}); });
} }
@ -122,8 +154,13 @@ class InterfaceController {
*/ */
async checkFeatureStatus(feature) { async checkFeatureStatus(feature) {
return await this.pupPage.evaluate((feature) &#x3D;&gt; { return await this.pupPage.evaluate((feature) &#x3D;&gt; {
if(!window.Store.Features) throw new Error(&#x27;This version of Whatsapp Web does not support features&#x27;); if (!window.require(&#x27;WAWebCollections&#x27;).Features)
return window.Store.Features.supportsFeature(feature); throw new Error(
&#x27;This version of Whatsapp Web does not support features&#x27;,
);
return window
.require(&#x27;WAWebCollections&#x27;)
.Features.supportsFeature(feature);
}, feature); }, feature);
} }
@ -133,9 +170,14 @@ class InterfaceController {
*/ */
async enableFeatures(features) { async enableFeatures(features) {
await this.pupPage.evaluate((features) &#x3D;&gt; { await this.pupPage.evaluate((features) &#x3D;&gt; {
if(!window.Store.Features) throw new Error(&#x27;This version of Whatsapp Web does not support features&#x27;); if (!window.require(&#x27;WAWebCollections&#x27;).Features)
throw new Error(
&#x27;This version of Whatsapp Web does not support features&#x27;,
);
for (const feature in features) { for (const feature in features) {
window.Store.Features.setFeature(features[feature], true); window
.require(&#x27;WAWebCollections&#x27;)
.Features.setFeature(features[feature], true);
} }
}, features); }, features);
} }
@ -146,9 +188,14 @@ class InterfaceController {
*/ */
async disableFeatures(features) { async disableFeatures(features) {
await this.pupPage.evaluate((features) &#x3D;&gt; { await this.pupPage.evaluate((features) &#x3D;&gt; {
if(!window.Store.Features) throw new Error(&#x27;This version of Whatsapp Web does not support features&#x27;); if (!window.require(&#x27;WAWebCollections&#x27;).Features)
throw new Error(
&#x27;This version of Whatsapp Web does not support features&#x27;,
);
for (const feature in features) { for (const feature in features) {
window.Store.Features.setFeature(features[feature], false); window
.require(&#x27;WAWebCollections&#x27;)
.Features.setFeature(features[feature], false);
} }
}, features); }, features);
} }
@ -165,7 +212,7 @@ module.exports &#x3D; InterfaceController;
<footer id="jsdoc-footer" class="jsdoc-footer"> <footer id="jsdoc-footer" class="jsdoc-footer">
<div id="jsdoc-footer-container"> <div id="jsdoc-footer-container">
<p> <p>
Generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc</a> 3.6.11 on January 30, 2026. Generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc</a> 3.6.11 on April 24, 2026.
</p> </p>
</div> </div>
</footer> </footer>

View file

@ -4,7 +4,7 @@
<head> <head>
<meta name="generator" content="JSDoc 3.6.11"> <meta name="generator" content="JSDoc 3.6.11">
<meta charset="utf-8"> <meta charset="utf-8">
<title>whatsapp-web.js 1.34.6 &raquo; Source: util/Puppeteer.js</title> <title>whatsapp-web.js 1.34.7 &raquo; Source: util/Puppeteer.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/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/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 rel="stylesheet" href="https://brick.a.ssl.fastly.net/Inconsolata:500" type="text/css">
@ -15,7 +15,7 @@
<nav id="jsdoc-navbar" role="navigation" class="jsdoc-navbar"> <nav id="jsdoc-navbar" role="navigation" class="jsdoc-navbar">
<div id="jsdoc-navbar-container"> <div id="jsdoc-navbar-container">
<div id="jsdoc-navbar-content"> <div id="jsdoc-navbar-content">
<a href="index.html" class="jsdoc-navbar-package-name">whatsapp-web.<wbr>js 1.<wbr>34.<wbr>6</a> <a href="index.html" class="jsdoc-navbar-package-name">whatsapp-web.<wbr>js 1.<wbr>34.<wbr>7</a>
</div> </div>
</div> </div>
</nav> </nav>
@ -62,7 +62,7 @@ module.exports &#x3D; {exposeFunctionIfAbsent};
<footer id="jsdoc-footer" class="jsdoc-footer"> <footer id="jsdoc-footer" class="jsdoc-footer">
<div id="jsdoc-footer-container"> <div id="jsdoc-footer-container">
<p> <p>
Generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc</a> 3.6.11 on January 30, 2026. Generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc</a> 3.6.11 on April 24, 2026.
</p> </p>
</div> </div>
</footer> </footer>

39
docs/util_Util.js.html generated
View file

@ -4,7 +4,7 @@
<head> <head>
<meta name="generator" content="JSDoc 3.6.11"> <meta name="generator" content="JSDoc 3.6.11">
<meta charset="utf-8"> <meta charset="utf-8">
<title>whatsapp-web.js 1.34.6 &raquo; Source: util/Util.js</title> <title>whatsapp-web.js 1.34.7 &raquo; Source: util/Util.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/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/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 rel="stylesheet" href="https://brick.a.ssl.fastly.net/Inconsolata:500" type="text/css">
@ -15,7 +15,7 @@
<nav id="jsdoc-navbar" role="navigation" class="jsdoc-navbar"> <nav id="jsdoc-navbar" role="navigation" class="jsdoc-navbar">
<div id="jsdoc-navbar-container"> <div id="jsdoc-navbar-container">
<div id="jsdoc-navbar-content"> <div id="jsdoc-navbar-content">
<a href="index.html" class="jsdoc-navbar-package-name">whatsapp-web.<wbr>js 1.<wbr>34.<wbr>6</a> <a href="index.html" class="jsdoc-navbar-package-name">whatsapp-web.<wbr>js 1.<wbr>34.<wbr>7</a>
</div> </div>
</div> </div>
</nav> </nav>
@ -44,15 +44,20 @@ const has &#x3D; (o, k) &#x3D;&gt; Object.prototype.hasOwnProperty.call(o, k);
*/ */
class Util { class Util {
constructor() { constructor() {
throw new Error(&#x60;The ${this.constructor.name} class may not be instantiated.&#x60;); throw new Error(
&#x60;The ${this.constructor.name} class may not be instantiated.&#x60;,
);
} }
static generateHash(length) { static generateHash(length) {
var result &#x3D; &#x27;&#x27;; var result &#x3D; &#x27;&#x27;;
var characters &#x3D; &#x27;ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789&#x27;; var characters &#x3D;
&#x27;ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789&#x27;;
var charactersLength &#x3D; characters.length; var charactersLength &#x3D; characters.length;
for (var i &#x3D; 0; i &amp;lt; length; i++) { for (var i &#x3D; 0; i &amp;lt; length; i++) {
result +&#x3D; characters.charAt(Math.floor(Math.random() * charactersLength)); result +&#x3D; characters.charAt(
Math.floor(Math.random() * charactersLength),
);
} }
return result; return result;
} }
@ -110,13 +115,13 @@ class Util {
const tempFile &#x3D; path.join( const tempFile &#x3D; path.join(
tmpdir(), tmpdir(),
&#x60;${Crypto.randomBytes(6).readUIntLE(0, 6).toString(36)}.webp&#x60; &#x60;${Crypto.randomBytes(6).readUIntLE(0, 6).toString(36)}.webp&#x60;,
); );
const stream &#x3D; new (require(&#x27;stream&#x27;).Readable)(); const stream &#x3D; new (require(&#x27;stream&#x27;).Readable)();
const buffer &#x3D; Buffer.from( const buffer &#x3D; Buffer.from(
media.data.replace(&#x60;data:${media.mimetype};base64,&#x60;, &#x27;&#x27;), media.data.replace(&#x60;data:${media.mimetype};base64,&#x60;, &#x27;&#x27;),
&#x27;base64&#x27; &#x27;base64&#x27;,
); );
stream.push(buffer); stream.push(buffer);
stream.push(null); stream.push(null);
@ -131,7 +136,7 @@ class Util {
&#x27;libwebp&#x27;, &#x27;libwebp&#x27;,
&#x27;-vf&#x27;, &#x27;-vf&#x27;,
// eslint-disable-next-line no-useless-escape // eslint-disable-next-line no-useless-escape
&#x27;scale&#x3D;\&#x27;iw*min(300/iw\,300/ih)\&#x27;:\&#x27;ih*min(300/iw\,300/ih)\&#x27;,format&#x3D;rgba,pad&#x3D;300:300:\&#x27;(300-iw)/2\&#x27;:\&#x27;(300-ih)/2\&#x27;:\&#x27;#00000000\&#x27;,setsar&#x3D;1,fps&#x3D;10&#x27;, &quot;scale&#x3D;&#x27;iw*min(300/iw\,300/ih)&#x27;:&#x27;ih*min(300/iw\,300/ih)&#x27;,format&#x3D;rgba,pad&#x3D;300:300:&#x27;(300-iw)/2&#x27;:&#x27;(300-ih)/2&#x27;:&#x27;#00000000&#x27;,setsar&#x3D;1,fps&#x3D;10&quot;,
&#x27;-loop&#x27;, &#x27;-loop&#x27;,
&#x27;0&#x27;, &#x27;0&#x27;,
&#x27;-ss&#x27;, &#x27;-ss&#x27;,
@ -182,8 +187,7 @@ class Util {
webpMedia &#x3D; await this.formatImageToWebpSticker(media, pupPage); webpMedia &#x3D; await this.formatImageToWebpSticker(media, pupPage);
else if (media.mimetype.includes(&#x27;video&#x27;)) else if (media.mimetype.includes(&#x27;video&#x27;))
webpMedia &#x3D; await this.formatVideoToWebpSticker(media); webpMedia &#x3D; await this.formatVideoToWebpSticker(media);
else else throw new Error(&#x27;Invalid media format&#x27;);
throw new Error(&#x27;Invalid media format&#x27;);
if (metadata.name || metadata.author) { if (metadata.name || metadata.author) {
const img &#x3D; new webp.Image(); const img &#x3D; new webp.Image();
@ -192,8 +196,17 @@ class Util {
const packname &#x3D; metadata.name; const packname &#x3D; metadata.name;
const author &#x3D; metadata.author; const author &#x3D; metadata.author;
const categories &#x3D; metadata.categories || [&#x27;&#x27;]; const categories &#x3D; metadata.categories || [&#x27;&#x27;];
const json &#x3D; { &#x27;sticker-pack-id&#x27;: stickerPackId, &#x27;sticker-pack-name&#x27;: packname, &#x27;sticker-pack-publisher&#x27;: author, &#x27;emojis&#x27;: categories }; const json &#x3D; {
let exifAttr &#x3D; Buffer.from([0x49, 0x49, 0x2A, 0x00, 0x08, 0x00, 0x00, 0x00, 0x01, 0x00, 0x41, 0x57, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00]); &#x27;sticker-pack-id&#x27;: stickerPackId,
&#x27;sticker-pack-name&#x27;: packname,
&#x27;sticker-pack-publisher&#x27;: author,
emojis: categories,
};
let exifAttr &#x3D; Buffer.from([
0x49, 0x49, 0x2a, 0x00, 0x08, 0x00, 0x00, 0x00, 0x01, 0x00,
0x41, 0x57, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x16, 0x00,
0x00, 0x00,
]);
let jsonBuffer &#x3D; Buffer.from(JSON.stringify(json), &#x27;utf8&#x27;); let jsonBuffer &#x3D; Buffer.from(JSON.stringify(json), &#x27;utf8&#x27;);
let exif &#x3D; Buffer.concat([exifAttr, jsonBuffer]); let exif &#x3D; Buffer.concat([exifAttr, jsonBuffer]);
exif.writeUIntLE(jsonBuffer.length, 14, 4); exif.writeUIntLE(jsonBuffer.length, 14, 4);
@ -225,7 +238,7 @@ module.exports &#x3D; Util;
<footer id="jsdoc-footer" class="jsdoc-footer"> <footer id="jsdoc-footer" class="jsdoc-footer">
<div id="jsdoc-footer-container"> <div id="jsdoc-footer-container">
<p> <p>
Generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc</a> 3.6.11 on January 30, 2026. Generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc</a> 3.6.11 on April 24, 2026.
</p> </p>
</div> </div>
</footer> </footer>

View file

@ -4,7 +4,7 @@
<head> <head>
<meta name="generator" content="JSDoc 3.6.11"> <meta name="generator" content="JSDoc 3.6.11">
<meta charset="utf-8"> <meta charset="utf-8">
<title>whatsapp-web.js 1.34.6 &raquo; Source: webCache/LocalWebCache.js</title> <title>whatsapp-web.js 1.34.7 &raquo; Source: webCache/LocalWebCache.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/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/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 rel="stylesheet" href="https://brick.a.ssl.fastly.net/Inconsolata:500" type="text/css">
@ -15,7 +15,7 @@
<nav id="jsdoc-navbar" role="navigation" class="jsdoc-navbar"> <nav id="jsdoc-navbar" role="navigation" class="jsdoc-navbar">
<div id="jsdoc-navbar-container"> <div id="jsdoc-navbar-container">
<div id="jsdoc-navbar-content"> <div id="jsdoc-navbar-content">
<a href="index.html" class="jsdoc-navbar-package-name">whatsapp-web.<wbr>js 1.<wbr>34.<wbr>6</a> <a href="index.html" class="jsdoc-navbar-package-name">whatsapp-web.<wbr>js 1.<wbr>34.<wbr>7</a>
</div> </div>
</div> </div>
</nav> </nav>
@ -53,9 +53,11 @@ class LocalWebCache extends WebCache {
try { try {
return fs.readFileSync(filePath, &#x27;utf-8&#x27;); return fs.readFileSync(filePath, &#x27;utf-8&#x27;);
} } catch (ignoredError) {
catch (err) { if (this.strict)
if (this.strict) throw new VersionResolveError(&#x60;Couldn&#x27;t load version ${version} from the cache&#x60;); throw new VersionResolveError(
&#x60;Couldn&#x27;t load version ${version} from the cache&#x60;,
);
return null; return null;
} }
} }
@ -79,7 +81,7 @@ module.exports &#x3D; LocalWebCache;
<footer id="jsdoc-footer" class="jsdoc-footer"> <footer id="jsdoc-footer" class="jsdoc-footer">
<div id="jsdoc-footer-container"> <div id="jsdoc-footer-container">
<p> <p>
Generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc</a> 3.6.11 on January 30, 2026. Generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc</a> 3.6.11 on April 24, 2026.
</p> </p>
</div> </div>
</footer> </footer>

View file

@ -4,7 +4,7 @@
<head> <head>
<meta name="generator" content="JSDoc 3.6.11"> <meta name="generator" content="JSDoc 3.6.11">
<meta charset="utf-8"> <meta charset="utf-8">
<title>whatsapp-web.js 1.34.6 &raquo; Source: webCache/RemoteWebCache.js</title> <title>whatsapp-web.js 1.34.7 &raquo; Source: webCache/RemoteWebCache.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/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/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 rel="stylesheet" href="https://brick.a.ssl.fastly.net/Inconsolata:500" type="text/css">
@ -15,7 +15,7 @@
<nav id="jsdoc-navbar" role="navigation" class="jsdoc-navbar"> <nav id="jsdoc-navbar" role="navigation" class="jsdoc-navbar">
<div id="jsdoc-navbar-container"> <div id="jsdoc-navbar-container">
<div id="jsdoc-navbar-content"> <div id="jsdoc-navbar-content">
<a href="index.html" class="jsdoc-navbar-package-name">whatsapp-web.<wbr>js 1.<wbr>34.<wbr>6</a> <a href="index.html" class="jsdoc-navbar-package-name">whatsapp-web.<wbr>js 1.<wbr>34.<wbr>7</a>
</div> </div>
</div> </div>
</nav> </nav>
@ -42,7 +42,10 @@ class RemoteWebCache extends WebCache {
constructor(options &#x3D; {}) { constructor(options &#x3D; {}) {
super(); super();
if (!options.remotePath) throw new Error(&#x27;webVersionCache.remotePath is required when using the remote cache&#x27;); if (!options.remotePath)
throw new Error(
&#x27;webVersionCache.remotePath is required when using the remote cache&#x27;,
);
this.remotePath &#x3D; options.remotePath; this.remotePath &#x3D; options.remotePath;
this.strict &#x3D; options.strict || false; this.strict &#x3D; options.strict || false;
} }
@ -59,7 +62,10 @@ class RemoteWebCache extends WebCache {
console.error(&#x60;Error fetching version ${version} from remote&#x60;, err); console.error(&#x60;Error fetching version ${version} from remote&#x60;, err);
} }
if (this.strict) throw new VersionResolveError(&#x60;Couldn&#x27;t load version ${version} from the archive&#x60;); if (this.strict)
throw new VersionResolveError(
&#x60;Couldn&#x27;t load version ${version} from the archive&#x60;,
);
return null; return null;
} }
@ -68,7 +74,8 @@ class RemoteWebCache extends WebCache {
} }
} }
module.exports &#x3D; RemoteWebCache;</code></pre> module.exports &#x3D; RemoteWebCache;
</code></pre>
</article> </article>
</div> </div>
</div> </div>
@ -78,7 +85,7 @@ module.exports &#x3D; RemoteWebCache;</code></pre>
<footer id="jsdoc-footer" class="jsdoc-footer"> <footer id="jsdoc-footer" class="jsdoc-footer">
<div id="jsdoc-footer-container"> <div id="jsdoc-footer-container">
<p> <p>
Generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc</a> 3.6.11 on January 30, 2026. Generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc</a> 3.6.11 on April 24, 2026.
</p> </p>
</div> </div>
</footer> </footer>

View file

@ -4,7 +4,7 @@
<head> <head>
<meta name="generator" content="JSDoc 3.6.11"> <meta name="generator" content="JSDoc 3.6.11">
<meta charset="utf-8"> <meta charset="utf-8">
<title>whatsapp-web.js 1.34.6 &raquo; Source: webCache/WebCache.js</title> <title>whatsapp-web.js 1.34.7 &raquo; Source: webCache/WebCache.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/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/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 rel="stylesheet" href="https://brick.a.ssl.fastly.net/Inconsolata:500" type="text/css">
@ -15,7 +15,7 @@
<nav id="jsdoc-navbar" role="navigation" class="jsdoc-navbar"> <nav id="jsdoc-navbar" role="navigation" class="jsdoc-navbar">
<div id="jsdoc-navbar-container"> <div id="jsdoc-navbar-container">
<div id="jsdoc-navbar-content"> <div id="jsdoc-navbar-content">
<a href="index.html" class="jsdoc-navbar-package-name">whatsapp-web.<wbr>js 1.<wbr>34.<wbr>6</a> <a href="index.html" class="jsdoc-navbar-package-name">whatsapp-web.<wbr>js 1.<wbr>34.<wbr>7</a>
</div> </div>
</div> </div>
</nav> </nav>
@ -33,7 +33,10 @@
* Default implementation of a web version cache that does nothing. * Default implementation of a web version cache that does nothing.
*/ */
class WebCache { class WebCache {
async resolve() { return null; } async resolve() {
return null;
}
async persist() {} async persist() {}
} }
@ -41,8 +44,9 @@ class VersionResolveError extends Error { }
module.exports &#x3D; { module.exports &#x3D; {
WebCache, WebCache,
VersionResolveError VersionResolveError,
};</code></pre> };
</code></pre>
</article> </article>
</div> </div>
</div> </div>
@ -52,7 +56,7 @@ module.exports &#x3D; {
<footer id="jsdoc-footer" class="jsdoc-footer"> <footer id="jsdoc-footer" class="jsdoc-footer">
<div id="jsdoc-footer-container"> <div id="jsdoc-footer-container">
<p> <p>
Generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc</a> 3.6.11 on January 30, 2026. Generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc</a> 3.6.11 on April 24, 2026.
</p> </p>
</div> </div>
</footer> </footer>

24
package-lock.json generated
View file

@ -1,12 +1,12 @@
{ {
"name": "whatsapp-web.js", "name": "whatsapp-web.js",
"version": "1.34.6", "version": "1.34.7",
"lockfileVersion": 3, "lockfileVersion": 3,
"requires": true, "requires": true,
"packages": { "packages": {
"": { "": {
"name": "whatsapp-web.js", "name": "whatsapp-web.js",
"version": "1.34.6", "version": "1.34.7",
"license": "Apache-2.0", "license": "Apache-2.0",
"dependencies": { "dependencies": {
"fluent-ffmpeg": "2.1.3", "fluent-ffmpeg": "2.1.3",
@ -925,7 +925,6 @@
"integrity": "sha512-Rs1bVAIdBs5gbTIKza/tgpMuG1k3U/UMJLWecIMxNdJFDMzcM5LOiLVRYh3PilWEYDIeUDv7bpiHPLPsbydGcw==", "integrity": "sha512-Rs1bVAIdBs5gbTIKza/tgpMuG1k3U/UMJLWecIMxNdJFDMzcM5LOiLVRYh3PilWEYDIeUDv7bpiHPLPsbydGcw==",
"devOptional": true, "devOptional": true,
"license": "MIT", "license": "MIT",
"peer": true,
"dependencies": { "dependencies": {
"undici-types": "~6.21.0" "undici-types": "~6.21.0"
} }
@ -980,7 +979,6 @@
"integrity": "sha512-UVJyE9MttOsBQIDKw1skb9nAwQuR5wuGD3+82K6JgJlm/Y+KI92oNsMNGZCYdDsVtRHSak0pcV5Dno5+4jh9sw==", "integrity": "sha512-UVJyE9MttOsBQIDKw1skb9nAwQuR5wuGD3+82K6JgJlm/Y+KI92oNsMNGZCYdDsVtRHSak0pcV5Dno5+4jh9sw==",
"dev": true, "dev": true,
"license": "MIT", "license": "MIT",
"peer": true,
"bin": { "bin": {
"acorn": "bin/acorn" "acorn": "bin/acorn"
}, },
@ -1177,7 +1175,6 @@
"resolved": "https://registry.npmjs.org/bare-events/-/bare-events-2.8.2.tgz", "resolved": "https://registry.npmjs.org/bare-events/-/bare-events-2.8.2.tgz",
"integrity": "sha512-riJjyv1/mHLIPX4RwiK+oW9/4c3TEUeORHKefKAKnZ5kyslbN+HXowtbaVEqt4IMUB7OXlfixcs6gsFeo/jhiQ==", "integrity": "sha512-riJjyv1/mHLIPX4RwiK+oW9/4c3TEUeORHKefKAKnZ5kyslbN+HXowtbaVEqt4IMUB7OXlfixcs6gsFeo/jhiQ==",
"license": "Apache-2.0", "license": "Apache-2.0",
"peer": true,
"peerDependencies": { "peerDependencies": {
"bare-abort-controller": "*" "bare-abort-controller": "*"
}, },
@ -1409,7 +1406,6 @@
"integrity": "sha512-RITGBfijLkBddZvnn8jdqoTypxvqbOLYQkGGxXzeFjVHvudaPw0HNFD9x928/eUwYWd2dPCugVqspGALTZZQKw==", "integrity": "sha512-RITGBfijLkBddZvnn8jdqoTypxvqbOLYQkGGxXzeFjVHvudaPw0HNFD9x928/eUwYWd2dPCugVqspGALTZZQKw==",
"dev": true, "dev": true,
"license": "MIT", "license": "MIT",
"peer": true,
"dependencies": { "dependencies": {
"assertion-error": "^1.1.0", "assertion-error": "^1.1.0",
"check-error": "^1.0.3", "check-error": "^1.0.3",
@ -1753,7 +1749,6 @@
"resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-9.0.1.tgz", "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-9.0.1.tgz",
"integrity": "sha512-hr4ihw+DBqcvrsEDioRO31Z17x71pUYoNe/4h6Z0wB72p7MU7/9gH8Q3s12NFhHPfYBBOV3qyfUxmr/Yn3shnQ==", "integrity": "sha512-hr4ihw+DBqcvrsEDioRO31Z17x71pUYoNe/4h6Z0wB72p7MU7/9gH8Q3s12NFhHPfYBBOV3qyfUxmr/Yn3shnQ==",
"license": "MIT", "license": "MIT",
"peer": true,
"dependencies": { "dependencies": {
"env-paths": "^2.2.1", "env-paths": "^2.2.1",
"import-fresh": "^3.3.0", "import-fresh": "^3.3.0",
@ -1932,8 +1927,7 @@
"version": "0.0.1581282", "version": "0.0.1581282",
"resolved": "https://registry.npmjs.org/devtools-protocol/-/devtools-protocol-0.0.1581282.tgz", "resolved": "https://registry.npmjs.org/devtools-protocol/-/devtools-protocol-0.0.1581282.tgz",
"integrity": "sha512-nv7iKtNZQshSW2hKzYNr46nM/Cfh5SEvE2oV0/SEGgc9XupIY5ggf84Cz8eJIkBce7S3bmTAauFD6aysMpnqsQ==", "integrity": "sha512-nv7iKtNZQshSW2hKzYNr46nM/Cfh5SEvE2oV0/SEGgc9XupIY5ggf84Cz8eJIkBce7S3bmTAauFD6aysMpnqsQ==",
"license": "BSD-3-Clause", "license": "BSD-3-Clause"
"peer": true
}, },
"node_modules/diff": { "node_modules/diff": {
"version": "7.0.0", "version": "7.0.0",
@ -2102,6 +2096,7 @@
"integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==",
"dev": true, "dev": true,
"license": "BSD-2-Clause", "license": "BSD-2-Clause",
"peer": true,
"engines": { "engines": {
"node": ">=0.12" "node": ">=0.12"
}, },
@ -2238,7 +2233,6 @@
"integrity": "sha512-XoMjdBOwe/esVgEvLmNsD3IRHkm7fbKIUGvrleloJXUZgDHig2IPWNniv+GwjyJXzuNqVjlr5+4yVUZjycJwfQ==", "integrity": "sha512-XoMjdBOwe/esVgEvLmNsD3IRHkm7fbKIUGvrleloJXUZgDHig2IPWNniv+GwjyJXzuNqVjlr5+4yVUZjycJwfQ==",
"dev": true, "dev": true,
"license": "MIT", "license": "MIT",
"peer": true,
"dependencies": { "dependencies": {
"@eslint-community/eslint-utils": "^4.8.0", "@eslint-community/eslint-utils": "^4.8.0",
"@eslint-community/regexpp": "^4.12.1", "@eslint-community/regexpp": "^4.12.1",
@ -2299,7 +2293,6 @@
"integrity": "sha512-82GZUjRS0p/jganf6q1rEO25VSoHH0hKPCTrgillPjdI/3bgBhAE1QzHrHTizjpRvy6pGAvKjDJtk2pF9NDq8w==", "integrity": "sha512-82GZUjRS0p/jganf6q1rEO25VSoHH0hKPCTrgillPjdI/3bgBhAE1QzHrHTizjpRvy6pGAvKjDJtk2pF9NDq8w==",
"dev": true, "dev": true,
"license": "MIT", "license": "MIT",
"peer": true,
"bin": { "bin": {
"eslint-config-prettier": "bin/cli.js" "eslint-config-prettier": "bin/cli.js"
}, },
@ -3749,6 +3742,7 @@
"integrity": "sha512-5aHCbzQRADcdP+ATqnDuhhJ/MRIqDkZX5pyjFHRRysS8vZ5AbqGEoFIb6pYHPZ+L/OC2Lc+xT8uHVVR5CAK/wQ==", "integrity": "sha512-5aHCbzQRADcdP+ATqnDuhhJ/MRIqDkZX5pyjFHRRysS8vZ5AbqGEoFIb6pYHPZ+L/OC2Lc+xT8uHVVR5CAK/wQ==",
"dev": true, "dev": true,
"license": "MIT", "license": "MIT",
"peer": true,
"dependencies": { "dependencies": {
"uc.micro": "^2.0.0" "uc.micro": "^2.0.0"
} }
@ -4174,7 +4168,8 @@
"resolved": "https://registry.npmjs.org/mdurl/-/mdurl-2.0.0.tgz", "resolved": "https://registry.npmjs.org/mdurl/-/mdurl-2.0.0.tgz",
"integrity": "sha512-Lf+9+2r+Tdp5wXDXC4PcIBjTDtq4UKjCPMQhKIuzpJNW0b96kVqSwW0bT7FhRSfmAiFYgP+SCRvdrDozfh0U5w==", "integrity": "sha512-Lf+9+2r+Tdp5wXDXC4PcIBjTDtq4UKjCPMQhKIuzpJNW0b96kVqSwW0bT7FhRSfmAiFYgP+SCRvdrDozfh0U5w==",
"dev": true, "dev": true,
"license": "MIT" "license": "MIT",
"peer": true
}, },
"node_modules/meow": { "node_modules/meow": {
"version": "13.2.0", "version": "13.2.0",
@ -4722,7 +4717,6 @@
"integrity": "sha512-UOnG6LftzbdaHZcKoPFtOcCKztrQ57WkHDeRD9t/PTQtmT0NHSeWWepj6pS0z/N7+08BHFDQVUrfmfMRcZwbMg==", "integrity": "sha512-UOnG6LftzbdaHZcKoPFtOcCKztrQ57WkHDeRD9t/PTQtmT0NHSeWWepj6pS0z/N7+08BHFDQVUrfmfMRcZwbMg==",
"dev": true, "dev": true,
"license": "MIT", "license": "MIT",
"peer": true,
"bin": { "bin": {
"prettier": "bin/prettier.cjs" "prettier": "bin/prettier.cjs"
}, },
@ -4830,6 +4824,7 @@
"integrity": "sha512-uxFIHU0YlHYhDQtV4R9J6a52SLx28BCjT+4ieh7IGbgwVJWO+km431c4yRlREUAsAmt/uMjQUyQHNEPf0M39CA==", "integrity": "sha512-uxFIHU0YlHYhDQtV4R9J6a52SLx28BCjT+4ieh7IGbgwVJWO+km431c4yRlREUAsAmt/uMjQUyQHNEPf0M39CA==",
"dev": true, "dev": true,
"license": "MIT", "license": "MIT",
"peer": true,
"engines": { "engines": {
"node": ">=6" "node": ">=6"
} }
@ -5480,7 +5475,8 @@
"resolved": "https://registry.npmjs.org/uc.micro/-/uc.micro-2.1.0.tgz", "resolved": "https://registry.npmjs.org/uc.micro/-/uc.micro-2.1.0.tgz",
"integrity": "sha512-ARDJmphmdvUk6Glw7y9DQ2bFkKBHwQHLi2lsaH6PPmz/Ka9sFOBsBluozhDltWmnv9u/cF6Rt87znRTPV+yp/A==", "integrity": "sha512-ARDJmphmdvUk6Glw7y9DQ2bFkKBHwQHLi2lsaH6PPmz/Ka9sFOBsBluozhDltWmnv9u/cF6Rt87znRTPV+yp/A==",
"dev": true, "dev": true,
"license": "MIT" "license": "MIT",
"peer": true
}, },
"node_modules/uglify-js": { "node_modules/uglify-js": {
"version": "3.19.3", "version": "3.19.3",

View file

@ -1,6 +1,6 @@
{ {
"name": "whatsapp-web.js", "name": "whatsapp-web.js",
"version": "1.34.6", "version": "1.34.7",
"description": "A Node.js library for interacting with WhatsApp Web", "description": "A Node.js library for interacting with WhatsApp Web",
"main": "./index.js", "main": "./index.js",
"typings": "./index.d.ts", "typings": "./index.d.ts",