whatsapp-web.js/docs/structures_PollVote.js.html
2025-12-13 04:56:03 +00:00

129 lines
No EOL
4 KiB
HTML

<!doctype html>
<html>
<head>
<meta name="generator" content="JSDoc 3.6.11">
<meta charset="utf-8">
<title>whatsapp-web.js 1.34.3 &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/Noto+Serif:400,400i,700,700i" type="text/css">
<link rel="stylesheet" href="https://brick.a.ssl.fastly.net/Inconsolata:500" type="text/css">
<link href="css/baseline.css" rel="stylesheet">
</head>
<body onload="prettyPrint()">
<nav id="jsdoc-navbar" role="navigation" class="jsdoc-navbar">
<div id="jsdoc-navbar-container">
<div id="jsdoc-navbar-content">
<a href="index.html" class="jsdoc-navbar-package-name">whatsapp-web.<wbr>js 1.<wbr>34.<wbr>3</a>
</div>
</div>
</nav>
<div id="jsdoc-body-container">
<div id="jsdoc-content">
<div id="jsdoc-content-container">
<div id="jsdoc-banner" role="banner">
</div>
<div id="jsdoc-main" role="main">
<header class="page-header">
<h1>Source: structures/PollVote.js</h1>
</header>
<article>
<pre class="prettyprint linenums"><code>&#x27;use strict&#x27;;
const Message &#x3D; require(&#x27;./Message&#x27;);
const Base &#x3D; require(&#x27;./Base&#x27;);
/**
* Selected poll option structure
* @typedef {Object} SelectedPollOption
* @property {number} id The local selected or deselected option ID
* @property {string} name The option name
*/
/**
* Represents a Poll Vote on WhatsApp
* @extends {Base}
*/
class PollVote extends Base {
constructor(client, data) {
super(client);
if (data) this._patch(data);
}
_patch(data) {
/**
* The person who voted
* @type {string}
*/
this.voter &#x3D; data.sender;
/**
* The selected poll option(s)
* If it&#x27;s an empty array, the user hasn&#x27;t selected any options on the poll,
* may occur when they deselected all poll options
* @type {SelectedPollOption[]}
*/
if (data.selectedOptionLocalIds.length &gt; 0) {
if(data.parentMessage) { // temporary failsafe
this.selectedOptions &#x3D; data.selectedOptionLocalIds.map((e) &#x3D;&gt; ({
name: data.parentMessage.pollOptions.find((x) &#x3D;&gt; x.localId &#x3D;&#x3D;&#x3D; e).name,
localId: e
}));
} else {
this.selectedOptions &#x3D; data.selectedOptionLocalIds.map((e) &#x3D;&gt; ({
name: undefined,
localId: e
}));
}
} else {
this.selectedOptions &#x3D; [];
}
/**
* Timestamp the option was selected or deselected at
* @type {number}
*/
this.interractedAtTs &#x3D; data.senderTimestampMs;
/**
* The poll creation message associated with the poll vote
* @type {Message}
*/
this.parentMessage &#x3D; new Message(this.client, data.parentMessage);
/**
* The poll creation message id
* @type {Object}
*/
this.parentMsgKey &#x3D; data.parentMsgKey;
return super._patch(data);
}
}
module.exports &#x3D; PollVote;
</code></pre>
</article>
</div>
</div>
<nav id="jsdoc-toc-nav" role="navigation"></nav>
</div>
</div>
<footer id="jsdoc-footer" class="jsdoc-footer">
<div id="jsdoc-footer-container">
<p>
Generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc</a> 3.6.11 on December 13, 2025.
</p>
</div>
</footer>
<script src="scripts/jquery.min.js"></script>
<script src="scripts/tree.jquery.js"></script>
<script src="scripts/prettify.js"></script>
<script src="scripts/jsdoc-toc.js"></script>
<script src="scripts/linenumber.js"></script>
<script src="scripts/scrollanchor.js"></script>
</body>
</html>