natureco-cli 1.0.34 → 1.0.36

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "natureco-cli",
3
- "version": "1.0.34",
3
+ "version": "1.0.36",
4
4
  "description": "NatureCo AI Bot Terminal Interface",
5
5
  "main": "bin/natureco.js",
6
6
  "bin": {
@@ -218,13 +218,20 @@ async function startWhatsAppProvider(sessionDir, config) {
218
218
  }
219
219
  } else if (connection === 'open') {
220
220
  const phone = sock.user?.id?.split(':')[0].replace('@s.whatsapp.net', '') || 'unknown';
221
+ log('whatsapp', `Connected successfully`, 'green');
221
222
  log('whatsapp', `Listening for inbound messages.`, 'cyan');
223
+ log('whatsapp', `Phone: +${phone}`, 'gray');
222
224
  }
223
225
  });
224
226
 
225
227
  sock.ev.on('messages.upsert', async ({ messages }) => {
228
+ log('whatsapp', `messages.upsert event triggered, ${messages.length} message(s)`, 'gray');
229
+
226
230
  for (const msg of messages) {
227
- if (msg.key.fromMe) continue;
231
+ if (msg.key.fromMe) {
232
+ log('whatsapp', 'skipping own message', 'gray');
233
+ continue;
234
+ }
228
235
 
229
236
  const sender = msg.key.remoteJid?.split('@')[0].split(':')[0];
230
237
  const allowedNumbers = config.whatsappAllowedNumbers || [];
@@ -237,32 +244,41 @@ async function startWhatsAppProvider(sessionDir, config) {
237
244
 
238
245
  const messageText = msg.message?.conversation ||
239
246
  msg.message?.extendedTextMessage?.text ||
247
+ msg.message?.imageMessage?.caption ||
248
+ msg.message?.videoMessage?.caption ||
249
+ msg.message?.buttonsResponseMessage?.selectedDisplayText ||
250
+ msg.message?.listResponseMessage?.title ||
251
+ msg.message?.ephemeralMessage?.message?.conversation ||
252
+ msg.message?.viewOnceMessage?.message?.conversation ||
240
253
  '';
241
254
 
242
- if (messageText) {
243
- const ownNumber = sock.user?.id?.split(':')[0].replace('@s.whatsapp.net', '') || 'unknown';
244
- log('whatsapp', `Inbound message +${sender} -> +${ownNumber}`, 'cyan');
245
- log('whatsapp', `Message: "${messageText.substring(0, 100)}${messageText.length > 100 ? '...' : ''}"`, 'gray');
255
+ if (!messageText) {
256
+ log('whatsapp', `Message without text content. Keys: ${Object.keys(msg.message || {}).join(', ')}`, 'gray');
257
+ continue;
258
+ }
259
+
260
+ const ownNumber = sock.user?.id?.split(':')[0].replace('@s.whatsapp.net', '') || 'unknown';
261
+ log('whatsapp', `Inbound message +${sender} -> +${ownNumber} (${messageText.length} chars)`, 'cyan');
262
+ log('whatsapp', `Message: "${messageText.substring(0, 100)}${messageText.length > 100 ? '...' : ''}"`, 'gray');
263
+
264
+ try {
265
+ const { sendMessage } = require('../utils/api');
266
+ log('whatsapp', 'Sending to NatureCo API...', 'cyan');
246
267
 
247
- try {
248
- const { sendMessage } = require('../utils/api');
249
- log('whatsapp', 'Sending to NatureCo API...', 'cyan');
250
-
251
- const response = await sendMessage(config.apiKey, config.whatsappBotId, messageText, null, '');
252
- const reply = response?.reply || response?.message || '';
268
+ const response = await sendMessage(config.apiKey, config.whatsappBotId, messageText, null, '');
269
+ const reply = response?.reply || response?.message || '';
270
+
271
+ if (reply) {
272
+ log('whatsapp', `API response: "${reply.substring(0, 100)}${reply.length > 100 ? '...' : ''}"`, 'gray');
273
+ log('whatsapp', 'Sending reply...', 'cyan');
253
274
 
254
- if (reply) {
255
- log('whatsapp', `API response: "${reply.substring(0, 100)}${reply.length > 100 ? '...' : ''}"`, 'gray');
256
- log('whatsapp', 'Sending reply...', 'cyan');
257
-
258
- await sock.sendMessage(msg.key.remoteJid, { text: reply });
259
- log('whatsapp', `Reply sent (${reply.length} chars)`, 'green');
260
- } else {
261
- log('whatsapp', 'No reply from API', 'yellow');
262
- }
263
- } catch (err) {
264
- log('whatsapp', `API error: ${err.message}`, 'red');
275
+ await sock.sendMessage(msg.key.remoteJid, { text: reply });
276
+ log('whatsapp', `Reply sent (${reply.length} chars)`, 'green');
277
+ } else {
278
+ log('whatsapp', 'No reply from API', 'yellow');
265
279
  }
280
+ } catch (err) {
281
+ log('whatsapp', `API error: ${err.message}`, 'red');
266
282
  }
267
283
  }
268
284
  });