@arcaelas/whatsapp 3.0.2 → 3.2.0

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 (37) hide show
  1. package/build/cjs/_index.d.ts +14 -0
  2. package/build/cjs/_index.js +346 -0
  3. package/build/cjs/_index.js.map +1 -0
  4. package/build/cjs/index.d.ts +2 -0
  5. package/build/cjs/index.js +4 -1
  6. package/build/cjs/index.js.map +1 -1
  7. package/build/cjs/lib/chat/index.d.ts +36 -3
  8. package/build/cjs/lib/chat/index.js +20 -3
  9. package/build/cjs/lib/chat/index.js.map +1 -1
  10. package/build/cjs/lib/message/index.d.ts +49 -9
  11. package/build/cjs/lib/message/index.js +106 -24
  12. package/build/cjs/lib/message/index.js.map +1 -1
  13. package/build/cjs/lib/status/index.d.ts +85 -0
  14. package/build/cjs/lib/status/index.js +137 -0
  15. package/build/cjs/lib/status/index.js.map +1 -0
  16. package/build/cjs/lib/whatsapp/index.d.ts +7 -1
  17. package/build/cjs/lib/whatsapp/index.js +132 -16
  18. package/build/cjs/lib/whatsapp/index.js.map +1 -1
  19. package/build/esm/_index.d.ts +14 -0
  20. package/build/esm/_index.js +344 -0
  21. package/build/esm/_index.js.map +1 -0
  22. package/build/esm/index.d.ts +2 -0
  23. package/build/esm/index.js +1 -0
  24. package/build/esm/index.js.map +1 -1
  25. package/build/esm/lib/chat/index.d.ts +36 -3
  26. package/build/esm/lib/chat/index.js +20 -3
  27. package/build/esm/lib/chat/index.js.map +1 -1
  28. package/build/esm/lib/message/index.d.ts +49 -9
  29. package/build/esm/lib/message/index.js +107 -25
  30. package/build/esm/lib/message/index.js.map +1 -1
  31. package/build/esm/lib/status/index.d.ts +85 -0
  32. package/build/esm/lib/status/index.js +133 -0
  33. package/build/esm/lib/status/index.js.map +1 -0
  34. package/build/esm/lib/whatsapp/index.d.ts +7 -1
  35. package/build/esm/lib/whatsapp/index.js +133 -17
  36. package/build/esm/lib/whatsapp/index.js.map +1 -1
  37. package/package.json +1 -1
@@ -0,0 +1,14 @@
1
+ /**
2
+ * @file _index.ts
3
+ * @description Bot de prueba manual de @arcaelas/whatsapp v3. Engancha cada evento del
4
+ * cliente con un console.log para inspeccionar el ciclo de vida real. No se publica
5
+ * (archivo prefijado con underscore — excluir de build cuando se versione).
6
+ *
7
+ * Ejecutar:
8
+ * npx tsx src/_index.ts
9
+ *
10
+ * Variables de entorno:
11
+ * PHONE → número (solo dígitos) para pairing por PIN. Si falta, se usa QR.
12
+ * SESSION → carpeta de sesión (default: ./.session)
13
+ */
14
+ export {};
@@ -0,0 +1,346 @@
1
+ "use strict";
2
+ /**
3
+ * @file _index.ts
4
+ * @description Bot de prueba manual de @arcaelas/whatsapp v3. Engancha cada evento del
5
+ * cliente con un console.log para inspeccionar el ciclo de vida real. No se publica
6
+ * (archivo prefijado con underscore — excluir de build cuando se versione).
7
+ *
8
+ * Ejecutar:
9
+ * npx tsx src/_index.ts
10
+ *
11
+ * Variables de entorno:
12
+ * PHONE → número (solo dígitos) para pairing por PIN. Si falta, se usa QR.
13
+ * SESSION → carpeta de sesión (default: ./.session)
14
+ */
15
+ var __runInitializers = (this && this.__runInitializers) || function (thisArg, initializers, value) {
16
+ var useValue = arguments.length > 2;
17
+ for (var i = 0; i < initializers.length; i++) {
18
+ value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);
19
+ }
20
+ return useValue ? value : void 0;
21
+ };
22
+ var __esDecorate = (this && this.__esDecorate) || function (ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {
23
+ function accept(f) { if (f !== void 0 && typeof f !== "function") throw new TypeError("Function expected"); return f; }
24
+ var kind = contextIn.kind, key = kind === "getter" ? "get" : kind === "setter" ? "set" : "value";
25
+ var target = !descriptorIn && ctor ? contextIn["static"] ? ctor : ctor.prototype : null;
26
+ var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});
27
+ var _, done = false;
28
+ for (var i = decorators.length - 1; i >= 0; i--) {
29
+ var context = {};
30
+ for (var p in contextIn) context[p] = p === "access" ? {} : contextIn[p];
31
+ for (var p in contextIn.access) context.access[p] = contextIn.access[p];
32
+ context.addInitializer = function (f) { if (done) throw new TypeError("Cannot add initializers after decoration has completed"); extraInitializers.push(accept(f || null)); };
33
+ var result = (0, decorators[i])(kind === "accessor" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);
34
+ if (kind === "accessor") {
35
+ if (result === void 0) continue;
36
+ if (result === null || typeof result !== "object") throw new TypeError("Object expected");
37
+ if (_ = accept(result.get)) descriptor.get = _;
38
+ if (_ = accept(result.set)) descriptor.set = _;
39
+ if (_ = accept(result.init)) initializers.unshift(_);
40
+ }
41
+ else if (_ = accept(result)) {
42
+ if (kind === "field") initializers.unshift(_);
43
+ else descriptor[key] = _;
44
+ }
45
+ }
46
+ if (target) Object.defineProperty(target, contextIn.name, descriptor);
47
+ done = true;
48
+ };
49
+ Object.defineProperty(exports, "__esModule", { value: true });
50
+ const promises_1 = require("node:fs/promises");
51
+ const node_path_1 = require("node:path");
52
+ const store_1 = require("./lib/store");
53
+ const bot_1 = require("./lib/bot");
54
+ const SESSION_DIR = process.env.SESSION ?? (0, node_path_1.join)(__dirname, '..', '.session');
55
+ const PHONE = process.env.PHONE;
56
+ const QR_FILE = (0, node_path_1.join)(__dirname, '..', '.session.qr.png');
57
+ const log = (event, ...rest) => console.log(`[${new Date().toISOString()}] ${event}`, ...rest);
58
+ let TestBot = (() => {
59
+ let _classDecorators = [(0, bot_1.Bot)({
60
+ engine: new store_1.FileSystemEngine(SESSION_DIR),
61
+ phone: PHONE,
62
+ reconnect: true,
63
+ autoclean: true,
64
+ })];
65
+ let _classDescriptor;
66
+ let _classExtraInitializers = [];
67
+ let _classThis;
68
+ let _classSuper = bot_1.WhatsAppBot;
69
+ let _instanceExtraInitializers = [];
70
+ let _on_pair_decorators;
71
+ let _on_connected_decorators;
72
+ let _on_disconnected_decorators;
73
+ let _heartbeat_decorators;
74
+ let _on_contact_created_decorators;
75
+ let _on_contact_updated_decorators;
76
+ let _on_contact_deleted_decorators;
77
+ let _on_chat_created_decorators;
78
+ let _on_chat_deleted_decorators;
79
+ let _on_chat_pinned_decorators;
80
+ let _on_chat_unpinned_decorators;
81
+ let _on_chat_archived_decorators;
82
+ let _on_chat_unarchived_decorators;
83
+ let _on_chat_muted_decorators;
84
+ let _on_chat_unmuted_decorators;
85
+ let _on_message_created_decorators;
86
+ let _on_message_updated_decorators;
87
+ let _on_message_deleted_decorators;
88
+ let _on_message_reacted_decorators;
89
+ let _on_msg_starred_decorators;
90
+ let _on_msg_unstarred_decorators;
91
+ let _on_msg_forwarded_decorators;
92
+ let _on_msg_seen_decorators;
93
+ let _on_feed_created_decorators;
94
+ let _on_feed_updated_decorators;
95
+ let _on_feed_deleted_decorators;
96
+ let _cmd_ping_decorators;
97
+ let _cmd_echo_decorators;
98
+ let _cmd_info_decorators;
99
+ let _cmd_poll_decorators;
100
+ let _cmd_vote_decorators;
101
+ let _cmd_polls_decorators;
102
+ var TestBot = class extends _classSuper {
103
+ static { _classThis = this; }
104
+ static {
105
+ const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
106
+ _on_pair_decorators = [(0, bot_1.pair)()];
107
+ _on_connected_decorators = [(0, bot_1.connect)()];
108
+ _on_disconnected_decorators = [(0, bot_1.disconnect)()];
109
+ _heartbeat_decorators = [(0, bot_1.every)(60_000)];
110
+ _on_contact_created_decorators = [(0, bot_1.on)('contact:created')];
111
+ _on_contact_updated_decorators = [(0, bot_1.on)('contact:updated')];
112
+ _on_contact_deleted_decorators = [(0, bot_1.on)('contact:deleted')];
113
+ _on_chat_created_decorators = [(0, bot_1.on)('chat:created')];
114
+ _on_chat_deleted_decorators = [(0, bot_1.on)('chat:deleted')];
115
+ _on_chat_pinned_decorators = [(0, bot_1.on)('chat:pinned')];
116
+ _on_chat_unpinned_decorators = [(0, bot_1.on)('chat:unpinned')];
117
+ _on_chat_archived_decorators = [(0, bot_1.on)('chat:archived')];
118
+ _on_chat_unarchived_decorators = [(0, bot_1.on)('chat:unarchived')];
119
+ _on_chat_muted_decorators = [(0, bot_1.on)('chat:muted')];
120
+ _on_chat_unmuted_decorators = [(0, bot_1.on)('chat:unmuted')];
121
+ _on_message_created_decorators = [(0, bot_1.on)('message:created')];
122
+ _on_message_updated_decorators = [(0, bot_1.on)('message:updated')];
123
+ _on_message_deleted_decorators = [(0, bot_1.on)('message:deleted')];
124
+ _on_message_reacted_decorators = [(0, bot_1.on)('message:reacted')];
125
+ _on_msg_starred_decorators = [(0, bot_1.on)('message:starred')];
126
+ _on_msg_unstarred_decorators = [(0, bot_1.on)('message:unstarred')];
127
+ _on_msg_forwarded_decorators = [(0, bot_1.on)('message:forwarded')];
128
+ _on_msg_seen_decorators = [(0, bot_1.on)('message:seen')];
129
+ _on_feed_created_decorators = [(0, bot_1.on)('feed:created')];
130
+ _on_feed_updated_decorators = [(0, bot_1.on)('feed:updated')];
131
+ _on_feed_deleted_decorators = [(0, bot_1.on)('feed:deleted')];
132
+ _cmd_ping_decorators = [(0, bot_1.command)('!ping')];
133
+ _cmd_echo_decorators = [(0, bot_1.command)('!echo')];
134
+ _cmd_info_decorators = [(0, bot_1.command)(/^!info\b/)];
135
+ _cmd_poll_decorators = [(0, bot_1.command)(/^!poll\s+(.+)/s)];
136
+ _cmd_vote_decorators = [(0, bot_1.command)(/^!vote\s+(.+)/)];
137
+ _cmd_polls_decorators = [(0, bot_1.command)('!polls')];
138
+ __esDecorate(this, null, _on_pair_decorators, { kind: "method", name: "on_pair", static: false, private: false, access: { has: obj => "on_pair" in obj, get: obj => obj.on_pair }, metadata: _metadata }, null, _instanceExtraInitializers);
139
+ __esDecorate(this, null, _on_connected_decorators, { kind: "method", name: "on_connected", static: false, private: false, access: { has: obj => "on_connected" in obj, get: obj => obj.on_connected }, metadata: _metadata }, null, _instanceExtraInitializers);
140
+ __esDecorate(this, null, _on_disconnected_decorators, { kind: "method", name: "on_disconnected", static: false, private: false, access: { has: obj => "on_disconnected" in obj, get: obj => obj.on_disconnected }, metadata: _metadata }, null, _instanceExtraInitializers);
141
+ __esDecorate(this, null, _heartbeat_decorators, { kind: "method", name: "heartbeat", static: false, private: false, access: { has: obj => "heartbeat" in obj, get: obj => obj.heartbeat }, metadata: _metadata }, null, _instanceExtraInitializers);
142
+ __esDecorate(this, null, _on_contact_created_decorators, { kind: "method", name: "on_contact_created", static: false, private: false, access: { has: obj => "on_contact_created" in obj, get: obj => obj.on_contact_created }, metadata: _metadata }, null, _instanceExtraInitializers);
143
+ __esDecorate(this, null, _on_contact_updated_decorators, { kind: "method", name: "on_contact_updated", static: false, private: false, access: { has: obj => "on_contact_updated" in obj, get: obj => obj.on_contact_updated }, metadata: _metadata }, null, _instanceExtraInitializers);
144
+ __esDecorate(this, null, _on_contact_deleted_decorators, { kind: "method", name: "on_contact_deleted", static: false, private: false, access: { has: obj => "on_contact_deleted" in obj, get: obj => obj.on_contact_deleted }, metadata: _metadata }, null, _instanceExtraInitializers);
145
+ __esDecorate(this, null, _on_chat_created_decorators, { kind: "method", name: "on_chat_created", static: false, private: false, access: { has: obj => "on_chat_created" in obj, get: obj => obj.on_chat_created }, metadata: _metadata }, null, _instanceExtraInitializers);
146
+ __esDecorate(this, null, _on_chat_deleted_decorators, { kind: "method", name: "on_chat_deleted", static: false, private: false, access: { has: obj => "on_chat_deleted" in obj, get: obj => obj.on_chat_deleted }, metadata: _metadata }, null, _instanceExtraInitializers);
147
+ __esDecorate(this, null, _on_chat_pinned_decorators, { kind: "method", name: "on_chat_pinned", static: false, private: false, access: { has: obj => "on_chat_pinned" in obj, get: obj => obj.on_chat_pinned }, metadata: _metadata }, null, _instanceExtraInitializers);
148
+ __esDecorate(this, null, _on_chat_unpinned_decorators, { kind: "method", name: "on_chat_unpinned", static: false, private: false, access: { has: obj => "on_chat_unpinned" in obj, get: obj => obj.on_chat_unpinned }, metadata: _metadata }, null, _instanceExtraInitializers);
149
+ __esDecorate(this, null, _on_chat_archived_decorators, { kind: "method", name: "on_chat_archived", static: false, private: false, access: { has: obj => "on_chat_archived" in obj, get: obj => obj.on_chat_archived }, metadata: _metadata }, null, _instanceExtraInitializers);
150
+ __esDecorate(this, null, _on_chat_unarchived_decorators, { kind: "method", name: "on_chat_unarchived", static: false, private: false, access: { has: obj => "on_chat_unarchived" in obj, get: obj => obj.on_chat_unarchived }, metadata: _metadata }, null, _instanceExtraInitializers);
151
+ __esDecorate(this, null, _on_chat_muted_decorators, { kind: "method", name: "on_chat_muted", static: false, private: false, access: { has: obj => "on_chat_muted" in obj, get: obj => obj.on_chat_muted }, metadata: _metadata }, null, _instanceExtraInitializers);
152
+ __esDecorate(this, null, _on_chat_unmuted_decorators, { kind: "method", name: "on_chat_unmuted", static: false, private: false, access: { has: obj => "on_chat_unmuted" in obj, get: obj => obj.on_chat_unmuted }, metadata: _metadata }, null, _instanceExtraInitializers);
153
+ __esDecorate(this, null, _on_message_created_decorators, { kind: "method", name: "on_message_created", static: false, private: false, access: { has: obj => "on_message_created" in obj, get: obj => obj.on_message_created }, metadata: _metadata }, null, _instanceExtraInitializers);
154
+ __esDecorate(this, null, _on_message_updated_decorators, { kind: "method", name: "on_message_updated", static: false, private: false, access: { has: obj => "on_message_updated" in obj, get: obj => obj.on_message_updated }, metadata: _metadata }, null, _instanceExtraInitializers);
155
+ __esDecorate(this, null, _on_message_deleted_decorators, { kind: "method", name: "on_message_deleted", static: false, private: false, access: { has: obj => "on_message_deleted" in obj, get: obj => obj.on_message_deleted }, metadata: _metadata }, null, _instanceExtraInitializers);
156
+ __esDecorate(this, null, _on_message_reacted_decorators, { kind: "method", name: "on_message_reacted", static: false, private: false, access: { has: obj => "on_message_reacted" in obj, get: obj => obj.on_message_reacted }, metadata: _metadata }, null, _instanceExtraInitializers);
157
+ __esDecorate(this, null, _on_msg_starred_decorators, { kind: "method", name: "on_msg_starred", static: false, private: false, access: { has: obj => "on_msg_starred" in obj, get: obj => obj.on_msg_starred }, metadata: _metadata }, null, _instanceExtraInitializers);
158
+ __esDecorate(this, null, _on_msg_unstarred_decorators, { kind: "method", name: "on_msg_unstarred", static: false, private: false, access: { has: obj => "on_msg_unstarred" in obj, get: obj => obj.on_msg_unstarred }, metadata: _metadata }, null, _instanceExtraInitializers);
159
+ __esDecorate(this, null, _on_msg_forwarded_decorators, { kind: "method", name: "on_msg_forwarded", static: false, private: false, access: { has: obj => "on_msg_forwarded" in obj, get: obj => obj.on_msg_forwarded }, metadata: _metadata }, null, _instanceExtraInitializers);
160
+ __esDecorate(this, null, _on_msg_seen_decorators, { kind: "method", name: "on_msg_seen", static: false, private: false, access: { has: obj => "on_msg_seen" in obj, get: obj => obj.on_msg_seen }, metadata: _metadata }, null, _instanceExtraInitializers);
161
+ __esDecorate(this, null, _on_feed_created_decorators, { kind: "method", name: "on_feed_created", static: false, private: false, access: { has: obj => "on_feed_created" in obj, get: obj => obj.on_feed_created }, metadata: _metadata }, null, _instanceExtraInitializers);
162
+ __esDecorate(this, null, _on_feed_updated_decorators, { kind: "method", name: "on_feed_updated", static: false, private: false, access: { has: obj => "on_feed_updated" in obj, get: obj => obj.on_feed_updated }, metadata: _metadata }, null, _instanceExtraInitializers);
163
+ __esDecorate(this, null, _on_feed_deleted_decorators, { kind: "method", name: "on_feed_deleted", static: false, private: false, access: { has: obj => "on_feed_deleted" in obj, get: obj => obj.on_feed_deleted }, metadata: _metadata }, null, _instanceExtraInitializers);
164
+ __esDecorate(this, null, _cmd_ping_decorators, { kind: "method", name: "cmd_ping", static: false, private: false, access: { has: obj => "cmd_ping" in obj, get: obj => obj.cmd_ping }, metadata: _metadata }, null, _instanceExtraInitializers);
165
+ __esDecorate(this, null, _cmd_echo_decorators, { kind: "method", name: "cmd_echo", static: false, private: false, access: { has: obj => "cmd_echo" in obj, get: obj => obj.cmd_echo }, metadata: _metadata }, null, _instanceExtraInitializers);
166
+ __esDecorate(this, null, _cmd_info_decorators, { kind: "method", name: "cmd_info", static: false, private: false, access: { has: obj => "cmd_info" in obj, get: obj => obj.cmd_info }, metadata: _metadata }, null, _instanceExtraInitializers);
167
+ __esDecorate(this, null, _cmd_poll_decorators, { kind: "method", name: "cmd_poll", static: false, private: false, access: { has: obj => "cmd_poll" in obj, get: obj => obj.cmd_poll }, metadata: _metadata }, null, _instanceExtraInitializers);
168
+ __esDecorate(this, null, _cmd_vote_decorators, { kind: "method", name: "cmd_vote", static: false, private: false, access: { has: obj => "cmd_vote" in obj, get: obj => obj.cmd_vote }, metadata: _metadata }, null, _instanceExtraInitializers);
169
+ __esDecorate(this, null, _cmd_polls_decorators, { kind: "method", name: "cmd_polls", static: false, private: false, access: { has: obj => "cmd_polls" in obj, get: obj => obj.cmd_polls }, metadata: _metadata }, null, _instanceExtraInitializers);
170
+ __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
171
+ TestBot = _classThis = _classDescriptor.value;
172
+ if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
173
+ __runInitializers(_classThis, _classExtraInitializers);
174
+ }
175
+ async on_pair(auth) {
176
+ if (typeof auth === 'string') {
177
+ log('pair:pin', auth);
178
+ }
179
+ else {
180
+ await (0, promises_1.writeFile)(QR_FILE, auth);
181
+ log('pair:qr', `wrote PNG → ${QR_FILE} (open it and scan)`);
182
+ }
183
+ }
184
+ on_connected() {
185
+ log('connected', { socket_user: this._socket?.user?.id ?? null });
186
+ }
187
+ on_disconnected() {
188
+ log('disconnected');
189
+ }
190
+ heartbeat() {
191
+ log('heartbeat', { connected: this._socket !== null });
192
+ }
193
+ on_contact_created(c) {
194
+ log('contact:created', { id: c.id, name: c.name ?? null });
195
+ }
196
+ on_contact_updated(c) {
197
+ log('contact:updated', { id: c.id, name: c.name ?? null });
198
+ }
199
+ on_contact_deleted(c) {
200
+ log('contact:deleted', { id: c.id });
201
+ }
202
+ on_chat_created(chat) {
203
+ log('chat:created', { id: chat.id, name: chat.name ?? null });
204
+ }
205
+ on_chat_deleted(chat) {
206
+ log('chat:deleted', { id: chat.id });
207
+ }
208
+ on_chat_pinned(chat) { log('chat:pinned', chat.id); }
209
+ on_chat_unpinned(chat) { log('chat:unpinned', chat.id); }
210
+ on_chat_archived(chat) { log('chat:archived', chat.id); }
211
+ on_chat_unarchived(chat) { log('chat:unarchived', chat.id); }
212
+ on_chat_muted(chat) { log('chat:muted', chat.id); }
213
+ on_chat_unmuted(chat) { log('chat:unmuted', chat.id); }
214
+ on_message_created(msg, chat) {
215
+ const base = {
216
+ id: msg.id,
217
+ chat: chat.name ?? chat.id,
218
+ from: msg.from,
219
+ me: msg.me,
220
+ type: msg.type,
221
+ mime: msg.mime,
222
+ caption: msg.caption,
223
+ };
224
+ if (msg.type === 'poll') {
225
+ const poll = msg;
226
+ log('message:created', { ...base, multiple: poll.multiple, options: poll.options });
227
+ }
228
+ else {
229
+ log('message:created', base);
230
+ }
231
+ }
232
+ on_message_updated(msg) {
233
+ const base = { id: msg.id, cid: msg.cid, edited: msg.edited, caption: msg.caption };
234
+ if (msg.type === 'poll') {
235
+ const poll = msg;
236
+ log('message:updated', { ...base, multiple: poll.multiple, options: poll.options });
237
+ }
238
+ else {
239
+ log('message:updated', base);
240
+ }
241
+ }
242
+ on_message_deleted(msg) {
243
+ log('message:deleted', { id: msg.id, cid: msg.cid });
244
+ }
245
+ on_message_reacted(msg, _chat, emoji) {
246
+ log('message:reacted', { id: msg.id, cid: msg.cid, emoji });
247
+ }
248
+ on_msg_starred(msg) { log('message:starred', msg.id); }
249
+ on_msg_unstarred(msg) { log('message:unstarred', msg.id); }
250
+ on_msg_forwarded(msg) { log('message:forwarded', msg.id); }
251
+ on_msg_seen(msg) { log('message:seen', msg.id); }
252
+ async on_feed_created(feed) {
253
+ const author = await feed.author();
254
+ log('feed:created', {
255
+ id: feed.id,
256
+ type: feed.type,
257
+ viewed: feed.viewed,
258
+ caption: feed.caption,
259
+ author: { id: author.id, name: author.name ?? null },
260
+ });
261
+ }
262
+ on_feed_updated(feed) {
263
+ log('feed:updated', { id: feed.id, viewed: feed.viewed });
264
+ }
265
+ on_feed_deleted(feed) {
266
+ log('feed:deleted', { id: feed.id });
267
+ }
268
+ async cmd_ping(msg) {
269
+ log('command:!ping');
270
+ await msg.text('pong');
271
+ }
272
+ async cmd_echo(msg, _chat, args) {
273
+ log('command:!echo', args);
274
+ await msg.text(args.length > 0 ? args.join(' ') : '(empty)');
275
+ }
276
+ async cmd_info(msg) {
277
+ log('command:!info', { id: msg.id, cid: msg.cid, from: msg.from, type: msg.type });
278
+ await msg.text(`id=${msg.id}\ncid=${msg.cid}\nfrom=${msg.from}\ntype=${msg.type}`);
279
+ }
280
+ async cmd_poll(msg, _chat, [rest]) {
281
+ const multi_prefix = /^multi:\s*/i;
282
+ const multiple = multi_prefix.test(rest);
283
+ const body = rest.replace(multi_prefix, '');
284
+ const parts = body.split('|').map((s) => s.trim()).filter((s) => s.length > 0);
285
+ const [question, ...options] = parts;
286
+ log('command:!poll', { multiple, question, options });
287
+ if (!question || options.length < 2) {
288
+ await msg.text('Uso: !poll [multi:] Pregunta? | Opcion1 | Opcion2 [| Opcion3 ...]');
289
+ return;
290
+ }
291
+ const sent = await msg.poll({ content: question, options: options.map((content) => ({ content })) }, { multiple });
292
+ log(' poll sent:', { id: sent?.id ?? null, multiple: sent?.multiple ?? null });
293
+ }
294
+ async cmd_vote(msg, chat, [rest]) {
295
+ const indices = rest.split(',').map((s) => parseInt(s.trim(), 10)).filter((n) => Number.isFinite(n));
296
+ log('command:!vote', { chat: chat.id, indices });
297
+ if (indices.length === 0) {
298
+ await msg.text('Uso: !vote 0 o !vote 0,2');
299
+ return;
300
+ }
301
+ const messages = await this.Message.list(chat.id, 0, 50);
302
+ const last_poll = messages.find((m) => m.type === 'poll');
303
+ if (!last_poll) {
304
+ await msg.text('No hay polls en este chat');
305
+ return;
306
+ }
307
+ const ok = await last_poll.select(indices.length === 1 ? indices[0] : indices);
308
+ log(' vote result:', { poll: last_poll.id, ok });
309
+ await msg.text(`vote ${ok ? 'ok' : 'failed'} on ${last_poll.id}`);
310
+ }
311
+ async cmd_polls(msg, chat) {
312
+ const messages = await this.Message.list(chat.id, 0, 50);
313
+ const polls = messages.filter((m) => m.type === 'poll');
314
+ log('command:!polls', { count: polls.length });
315
+ if (polls.length === 0) {
316
+ await msg.text('No hay polls en este chat');
317
+ return;
318
+ }
319
+ const summary = polls.map((p) => {
320
+ const opts = p.options.map((o, i) => ` ${i}. ${o.content} [${o.count}]`).join('\n');
321
+ return `${p.id} (${p.multiple ? 'multi' : 'single'}): ${p.caption}\n${opts}`;
322
+ }).join('\n\n');
323
+ await msg.text(summary);
324
+ }
325
+ constructor() {
326
+ super(...arguments);
327
+ __runInitializers(this, _instanceExtraInitializers);
328
+ }
329
+ };
330
+ return TestBot = _classThis;
331
+ })();
332
+ const bot = new TestBot();
333
+ process.on('SIGINT', async () => {
334
+ log('signal', 'SIGINT — disconnecting');
335
+ await bot.disconnect();
336
+ process.exit(0);
337
+ });
338
+ process.on('uncaughtException', (err) => log('uncaughtException', err));
339
+ process.on('unhandledRejection', (err) => log('unhandledRejection', err));
340
+ bot.connect()
341
+ .then(() => log('boot', 'connect() resolved (session ready)'))
342
+ .catch((err) => {
343
+ log('boot', 'connect() failed', err);
344
+ process.exit(1);
345
+ });
346
+ //# sourceMappingURL=_index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"_index.js","sourceRoot":"","sources":["../../src/_index.ts"],"names":[],"mappings":"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"}
@@ -7,3 +7,5 @@ export { WhatsApp, default } from './lib/whatsapp';
7
7
  export type { IWhatsApp, DisconnectOptions, ReconnectOption } from './lib/whatsapp';
8
8
  export { FileSystemEngine, RedisEngine } from './lib/store';
9
9
  export type { Engine, RedisClient } from './lib/store';
10
+ export { default as Feed, TTL_MS as FEED_TTL_MS } from './lib/status';
11
+ export type { IFeedRaw, FeedType } from './lib/status';
@@ -8,11 +8,14 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
8
8
  return (mod && mod.__esModule) ? mod : { "default": mod };
9
9
  };
10
10
  Object.defineProperty(exports, "__esModule", { value: true });
11
- exports.RedisEngine = exports.FileSystemEngine = exports.default = exports.WhatsApp = void 0;
11
+ exports.FEED_TTL_MS = exports.Feed = exports.RedisEngine = exports.FileSystemEngine = exports.default = exports.WhatsApp = void 0;
12
12
  var whatsapp_1 = require("./lib/whatsapp");
13
13
  Object.defineProperty(exports, "WhatsApp", { enumerable: true, get: function () { return whatsapp_1.WhatsApp; } });
14
14
  Object.defineProperty(exports, "default", { enumerable: true, get: function () { return __importDefault(whatsapp_1).default; } });
15
15
  var store_1 = require("./lib/store");
16
16
  Object.defineProperty(exports, "FileSystemEngine", { enumerable: true, get: function () { return store_1.FileSystemEngine; } });
17
17
  Object.defineProperty(exports, "RedisEngine", { enumerable: true, get: function () { return store_1.RedisEngine; } });
18
+ var status_1 = require("./lib/status");
19
+ Object.defineProperty(exports, "Feed", { enumerable: true, get: function () { return __importDefault(status_1).default; } });
20
+ Object.defineProperty(exports, "FEED_TTL_MS", { enumerable: true, get: function () { return status_1.TTL_MS; } });
18
21
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;;;;AAEH,2CAAmD;AAA1C,oGAAA,QAAQ,OAAA;AAAE,oHAAA,OAAO,OAAA;AAG1B,qCAA4D;AAAnD,yGAAA,gBAAgB,OAAA;AAAE,oGAAA,WAAW,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;;;;AAEH,2CAAmD;AAA1C,oGAAA,QAAQ,OAAA;AAAE,oHAAA,OAAO,OAAA;AAG1B,qCAA4D;AAAnD,yGAAA,gBAAgB,OAAA;AAAE,oGAAA,WAAW,OAAA;AAGtC,uCAAsE;AAA7D,+GAAA,OAAO,OAAQ;AAAE,qGAAA,MAAM,OAAe"}
@@ -70,6 +70,10 @@ export declare class Chat {
70
70
  */
71
71
  export declare function chat(wa: WhatsApp): {
72
72
  new (raw: IChatRaw): {
73
+ /** @internal Cache TTL (15s) de la promesa de participants del grupo. Evita round-trips a `groupMetadata` y deduplica llamadas concurrentes. */
74
+ _members_cache: Promise<{
75
+ id: string;
76
+ }[]> | null;
73
77
  /** Re-hidrata metadata del chat desde el socket. / Re-hydrates chat metadata from the socket. */
74
78
  refresh(): Promise</*elided*/ any | null>;
75
79
  /** Fija/desfija el chat. / Pins or unpins the chat. */
@@ -88,7 +92,14 @@ export declare function chat(wa: WhatsApp): {
88
92
  clear(): Promise<boolean>;
89
93
  /** Elimina el chat y sus mensajes (remoto + local). / Deletes the chat and its messages (remote + local). */
90
94
  delete(): Promise<boolean>;
91
- /** Participantes del chat paginados (incluyéndome en grupos). / Chat participants paginated (self included in groups). */
95
+ /**
96
+ * Participantes del chat paginados (incluyéndome en grupos). Para grupos,
97
+ * el `groupMetadata` se memoiza en la instancia con TTL de 15s para evitar
98
+ * round-trips repetidos al socket.
99
+ * Chat participants paginated (self included in groups). For groups,
100
+ * `groupMetadata` is memoized on the instance with a 15s TTL to avoid
101
+ * repeated socket round-trips.
102
+ */
92
103
  members(offset?: number, limit?: number): Promise<InstanceType<typeof wa.Contact>[]>;
93
104
  /** Mensajes del chat paginados por mtime DESC. / Chat messages paginated by mtime DESC. */
94
105
  messages(offset?: number, limit?: number): Promise<Message[]>;
@@ -120,6 +131,10 @@ export declare function chat(wa: WhatsApp): {
120
131
  * Retrieves a chat by CID. If not persisted, creates it from the contact.
121
132
  */
122
133
  get(cid: string): Promise<{
134
+ /** @internal Cache TTL (15s) de la promesa de participants del grupo. Evita round-trips a `groupMetadata` y deduplica llamadas concurrentes. */
135
+ _members_cache: Promise<{
136
+ id: string;
137
+ }[]> | null;
123
138
  /** Re-hidrata metadata del chat desde el socket. / Re-hydrates chat metadata from the socket. */
124
139
  refresh(): Promise</*elided*/ any | null>;
125
140
  /** Fija/desfija el chat. / Pins or unpins the chat. */
@@ -138,7 +153,14 @@ export declare function chat(wa: WhatsApp): {
138
153
  clear(): Promise<boolean>;
139
154
  /** Elimina el chat y sus mensajes (remoto + local). / Deletes the chat and its messages (remote + local). */
140
155
  delete(): Promise<boolean>;
141
- /** Participantes del chat paginados (incluyéndome en grupos). / Chat participants paginated (self included in groups). */
156
+ /**
157
+ * Participantes del chat paginados (incluyéndome en grupos). Para grupos,
158
+ * el `groupMetadata` se memoiza en la instancia con TTL de 15s para evitar
159
+ * round-trips repetidos al socket.
160
+ * Chat participants paginated (self included in groups). For groups,
161
+ * `groupMetadata` is memoized on the instance with a 15s TTL to avoid
162
+ * repeated socket round-trips.
163
+ */
142
164
  members(offset?: number, limit?: number): Promise<InstanceType<typeof wa.Contact>[]>;
143
165
  /** Mensajes del chat paginados por mtime DESC. / Chat messages paginated by mtime DESC. */
144
166
  messages(offset?: number, limit?: number): Promise<Message[]>;
@@ -167,6 +189,10 @@ export declare function chat(wa: WhatsApp): {
167
189
  } | null>;
168
190
  /** Pagina los chats persistidos por mtime DESC. / Paginates persisted chats by mtime DESC. */
169
191
  list(offset?: number, limit?: number): Promise<{
192
+ /** @internal Cache TTL (15s) de la promesa de participants del grupo. Evita round-trips a `groupMetadata` y deduplica llamadas concurrentes. */
193
+ _members_cache: Promise<{
194
+ id: string;
195
+ }[]> | null;
170
196
  /** Re-hidrata metadata del chat desde el socket. / Re-hydrates chat metadata from the socket. */
171
197
  refresh(): Promise</*elided*/ any | null>;
172
198
  /** Fija/desfija el chat. / Pins or unpins the chat. */
@@ -185,7 +211,14 @@ export declare function chat(wa: WhatsApp): {
185
211
  clear(): Promise<boolean>;
186
212
  /** Elimina el chat y sus mensajes (remoto + local). / Deletes the chat and its messages (remote + local). */
187
213
  delete(): Promise<boolean>;
188
- /** Participantes del chat paginados (incluyéndome en grupos). / Chat participants paginated (self included in groups). */
214
+ /**
215
+ * Participantes del chat paginados (incluyéndome en grupos). Para grupos,
216
+ * el `groupMetadata` se memoiza en la instancia con TTL de 15s para evitar
217
+ * round-trips repetidos al socket.
218
+ * Chat participants paginated (self included in groups). For groups,
219
+ * `groupMetadata` is memoized on the instance with a 15s TTL to avoid
220
+ * repeated socket round-trips.
221
+ */
189
222
  members(offset?: number, limit?: number): Promise<InstanceType<typeof wa.Contact>[]>;
190
223
  /** Mensajes del chat paginados por mtime DESC. / Chat messages paginated by mtime DESC. */
191
224
  messages(offset?: number, limit?: number): Promise<Message[]>;
@@ -88,6 +88,11 @@ function chat(wa) {
88
88
  : [];
89
89
  }
90
90
  return class _Chat extends Chat {
91
+ constructor() {
92
+ super(...arguments);
93
+ /** @internal Cache TTL (15s) de la promesa de participants del grupo. Evita round-trips a `groupMetadata` y deduplica llamadas concurrentes. */
94
+ this._members_cache = null;
95
+ }
91
96
  /**
92
97
  * Obtiene un chat por CID. Si no está persistido, lo crea a partir del contacto.
93
98
  * Retrieves a chat by CID. If not persisted, creates it from the contact.
@@ -287,7 +292,14 @@ function chat(wa) {
287
292
  await wa.engine.unset(`/chat/${this.id}`);
288
293
  return true;
289
294
  }
290
- /** Participantes del chat paginados (incluyéndome en grupos). / Chat participants paginated (self included in groups). */
295
+ /**
296
+ * Participantes del chat paginados (incluyéndome en grupos). Para grupos,
297
+ * el `groupMetadata` se memoiza en la instancia con TTL de 15s para evitar
298
+ * round-trips repetidos al socket.
299
+ * Chat participants paginated (self included in groups). For groups,
300
+ * `groupMetadata` is memoized on the instance with a 15s TTL to avoid
301
+ * repeated socket round-trips.
302
+ */
291
303
  async members(offset = 0, limit = 50) {
292
304
  const result = [];
293
305
  if (this.type !== 'group') {
@@ -300,8 +312,13 @@ function chat(wa) {
300
312
  }
301
313
  else if (wa._socket) {
302
314
  try {
303
- const meta = await wa._socket.groupMetadata(this.id);
304
- const slice = meta.participants.slice(offset, offset + limit);
315
+ const socket = wa._socket;
316
+ const participants = await (this._members_cache ??= (async () => {
317
+ const meta = await socket.groupMetadata(this.id);
318
+ setTimeout(() => { this._members_cache = null; }, 15_000);
319
+ return meta.participants;
320
+ })());
321
+ const slice = participants.slice(offset, offset + limit);
305
322
  for (const p of slice) {
306
323
  const existing = await wa.Contact.get(p.id);
307
324
  if (existing) {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/lib/chat/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/lib/chat/index.ts"],"names":[],"mappings":"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"}