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.
Files changed (2) hide show
  1. package/index.js +39 -10
  2. 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
- const messageText = message.message?.conversation ||
134
- message.message?.extendedTextMessage?.text ||
135
- message.message?.imageMessage?.caption ||
136
- message.message?.videoMessage?.caption ||
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 the extracted information
249
+ // Emit the message event with all extracted data
226
250
  this.emit('message', {
227
251
  from: message.key.remoteJid,
228
- id: message.key.id,
229
- body: messageBody,
230
- buttonType: buttonType,
231
- messageType: update.type,
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 {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "innovators-bot2",
3
- "version": "1.0.3",
3
+ "version": "1.0.4",
4
4
  "description": "",
5
5
  "main": "index.js",
6
6
  "scripts": {