innovators-bot2 1.0.3 → 1.0.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/index.js +39 -10
- package/package.json +1 -1
package/index.js
CHANGED
|
@@ -130,11 +130,35 @@ class WhatsAppClient extends EventEmitter {
|
|
|
130
130
|
* Extract message text from different possible locations in the message object
|
|
131
131
|
* @type {string}
|
|
132
132
|
*/
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
133
|
+
let messageText = '';
|
|
134
|
+
let isButtonResponse = false;
|
|
135
|
+
|
|
136
|
+
// Check for list response first
|
|
137
|
+
if (message.message?.listResponseMessage) {
|
|
138
|
+
messageText = message.message.listResponseMessage.title ||
|
|
139
|
+
message.message.listResponseMessage.description || '';
|
|
140
|
+
isButtonResponse = true;
|
|
141
|
+
}
|
|
142
|
+
// Check for button response
|
|
143
|
+
else if (message.message?.templateButtonReplyMessage) {
|
|
144
|
+
messageText = message.message.templateButtonReplyMessage.selectedDisplayText ||
|
|
145
|
+
message.message.templateButtonReplyMessage.selectedId || '';
|
|
146
|
+
isButtonResponse = true;
|
|
147
|
+
}
|
|
148
|
+
// Check for classic button response
|
|
149
|
+
else if (message.message?.buttonsResponseMessage) {
|
|
150
|
+
messageText = message.message.buttonsResponseMessage.selectedDisplayText ||
|
|
151
|
+
message.message.buttonsResponseMessage.selectedButtonId || '';
|
|
152
|
+
isButtonResponse = true;
|
|
153
|
+
}
|
|
154
|
+
// Regular message
|
|
155
|
+
else {
|
|
156
|
+
messageText = message.message?.conversation ||
|
|
157
|
+
message.message?.extendedTextMessage?.text ||
|
|
158
|
+
message.message?.imageMessage?.caption ||
|
|
159
|
+
message.message?.videoMessage?.caption ||
|
|
160
|
+
'';
|
|
161
|
+
}
|
|
138
162
|
|
|
139
163
|
/** @type {string|null} */
|
|
140
164
|
let buttonType = null;
|
|
@@ -222,13 +246,18 @@ class WhatsAppClient extends EventEmitter {
|
|
|
222
246
|
(msg?.listResponseMessage?.description) ||
|
|
223
247
|
'';
|
|
224
248
|
|
|
225
|
-
// Emit the message event with all
|
|
249
|
+
// Emit the message event with all extracted data
|
|
226
250
|
this.emit('message', {
|
|
227
251
|
from: message.key.remoteJid,
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
252
|
+
body: messageText,
|
|
253
|
+
hasMedia: Boolean(msg?.imageMessage || msg?.videoMessage || msg?.audioMessage || msg?.documentMessage),
|
|
254
|
+
isGroup: message.key.remoteJid.endsWith('@g.us'),
|
|
255
|
+
timestamp: message.messageTimestamp ? new Date(message.messageTimestamp * 1000) : new Date(),
|
|
256
|
+
isButtonResponse: isButtonResponse,
|
|
257
|
+
buttonId: message.message?.listResponseMessage?.singleSelectReply?.selectedRowId ||
|
|
258
|
+
message.message?.templateButtonReplyMessage?.selectedId ||
|
|
259
|
+
message.message?.buttonsResponseMessage?.selectedButtonId || null,
|
|
260
|
+
buttonText: messageText,
|
|
232
261
|
raw: message,
|
|
233
262
|
reply: async (replyText) => {
|
|
234
263
|
try {
|