@arcaelas/whatsapp 1.2.3 → 2.0.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 (78) hide show
  1. package/build/cjs/Chat.d.ts +317 -0
  2. package/build/cjs/Chat.js +273 -0
  3. package/build/cjs/Chat.js.map +1 -0
  4. package/build/{Contact.d.ts → cjs/Contact.d.ts} +317 -304
  5. package/build/cjs/Contact.js +144 -0
  6. package/build/cjs/Contact.js.map +1 -0
  7. package/build/cjs/Message.d.ts +882 -0
  8. package/build/cjs/Message.js +483 -0
  9. package/build/cjs/Message.js.map +1 -0
  10. package/build/{WhatsApp.d.ts → cjs/WhatsApp.d.ts} +16 -4
  11. package/build/{WhatsApp.js → cjs/WhatsApp.js} +84 -81
  12. package/build/cjs/WhatsApp.js.map +1 -0
  13. package/build/{index.d.ts → cjs/index.d.ts} +2 -2
  14. package/build/cjs/index.js +17 -0
  15. package/build/cjs/index.js.map +1 -0
  16. package/build/cjs/package.json +1 -0
  17. package/build/cjs/store/driver/FileEngine.d.ts +34 -0
  18. package/build/{store → cjs/store}/driver/FileEngine.js +16 -20
  19. package/build/cjs/store/driver/FileEngine.js.map +1 -0
  20. package/build/{store → cjs/store}/driver/RedisEngine.d.ts +14 -5
  21. package/build/{store → cjs/store}/driver/RedisEngine.js +23 -22
  22. package/build/cjs/store/driver/RedisEngine.js.map +1 -0
  23. package/build/{store → cjs/store}/engine.d.ts +9 -10
  24. package/build/cjs/store/engine.js.map +1 -0
  25. package/build/cjs/store/index.d.ts +8 -0
  26. package/build/{store → cjs/store}/index.js +2 -2
  27. package/build/cjs/store/index.js.map +1 -0
  28. package/build/esm/Chat.d.ts +317 -0
  29. package/build/esm/Chat.js +268 -0
  30. package/build/esm/Chat.js.map +1 -0
  31. package/build/esm/Contact.d.ts +869 -0
  32. package/build/esm/Contact.js +139 -0
  33. package/build/esm/Contact.js.map +1 -0
  34. package/build/esm/Message.d.ts +882 -0
  35. package/build/esm/Message.js +478 -0
  36. package/build/esm/Message.js.map +1 -0
  37. package/build/esm/WhatsApp.d.ts +80 -0
  38. package/build/esm/WhatsApp.js +362 -0
  39. package/build/esm/WhatsApp.js.map +1 -0
  40. package/build/esm/index.d.ts +13 -0
  41. package/build/esm/index.js +10 -0
  42. package/build/esm/index.js.map +1 -0
  43. package/build/esm/package.json +1 -0
  44. package/build/esm/store/driver/FileEngine.d.ts +34 -0
  45. package/build/esm/store/driver/FileEngine.js +82 -0
  46. package/build/esm/store/driver/FileEngine.js.map +1 -0
  47. package/build/esm/store/driver/RedisEngine.d.ts +47 -0
  48. package/build/esm/store/driver/RedisEngine.js +66 -0
  49. package/build/esm/store/driver/RedisEngine.js.map +1 -0
  50. package/build/esm/store/engine.d.ts +53 -0
  51. package/build/esm/store/engine.js +6 -0
  52. package/build/{store → esm/store}/engine.js.map +1 -1
  53. package/build/esm/store/index.d.ts +8 -0
  54. package/build/esm/store/index.js +7 -0
  55. package/build/esm/store/index.js.map +1 -0
  56. package/package.json +70 -58
  57. package/API.md +0 -776
  58. package/CHANGELOG.md +0 -53
  59. package/DOC.md +0 -532
  60. package/build/Chat.d.ts +0 -335
  61. package/build/Chat.js +0 -396
  62. package/build/Chat.js.map +0 -1
  63. package/build/Contact.js +0 -188
  64. package/build/Contact.js.map +0 -1
  65. package/build/Message.d.ts +0 -580
  66. package/build/Message.js +0 -463
  67. package/build/Message.js.map +0 -1
  68. package/build/WhatsApp.js.map +0 -1
  69. package/build/index.js +0 -2
  70. package/build/index.js.map +0 -7
  71. package/build/store/driver/FileEngine.d.ts +0 -23
  72. package/build/store/driver/FileEngine.js.map +0 -1
  73. package/build/store/driver/RedisEngine.js.map +0 -1
  74. package/build/store/index.d.ts +0 -8
  75. package/build/store/index.js.map +0 -1
  76. package/context7.json +0 -4
  77. package/tsconfig.json +0 -27
  78. /package/build/{store → cjs/store}/engine.js +0 -0
@@ -1,580 +0,0 @@
1
- /**
2
- * @file Message.ts
3
- * @description Clase Message para gestión de mensajes de WhatsApp
4
- */
5
- import type { WAMessage } from 'baileys';
6
- import { Readable } from 'node:stream';
7
- import type { WhatsApp } from './WhatsApp';
8
- /**
9
- * @description Tipos de mensaje soportados.
10
- */
11
- export type MessageType = 'text' | 'image' | 'video' | 'audio' | 'location' | 'poll';
12
- /**
13
- * @description Estados de un mensaje.
14
- */
15
- export declare enum MESSAGE_STATUS {
16
- /** Error al enviar */
17
- ERROR = 0,
18
- /** Mensaje pendiente de envío */
19
- PENDING = 1,
20
- /** Servidor recibió el mensaje */
21
- SERVER_ACK = 2,
22
- /** Mensaje entregado al destinatario */
23
- DELIVERED = 3,
24
- /** Mensaje leído por el destinatario */
25
- READ = 4,
26
- /** Mensaje reproducido (audio/video) */
27
- PLAYED = 5
28
- }
29
- /**
30
- * @description Opciones para crear encuesta.
31
- */
32
- export interface PollOptions {
33
- /** Pregunta o título de la encuesta */
34
- content: string;
35
- /** Opciones de respuesta */
36
- options: Array<{
37
- content: string;
38
- }>;
39
- }
40
- /**
41
- * @description Opciones para enviar ubicación.
42
- */
43
- export interface LocationOptions {
44
- /** Latitud en grados */
45
- lat: number;
46
- /** Longitud en grados */
47
- lng: number;
48
- /** true para ubicación en tiempo real */
49
- live?: boolean;
50
- }
51
- /**
52
- * @description Datos del índice de mensaje (sin content ni raw completo).
53
- */
54
- export interface IMessageIndex {
55
- /** ID único del mensaje */
56
- id: string;
57
- /** ID del chat */
58
- cid: string;
59
- /** ID del mensaje padre (reply) */
60
- mid: string | null;
61
- /** Si el mensaje es propio */
62
- me: boolean;
63
- /** Tipo de mensaje */
64
- type: MessageType;
65
- /** Autor del mensaje */
66
- author: string;
67
- /** Estado de entrega */
68
- status: MESSAGE_STATUS;
69
- /** Si está destacado */
70
- starred: boolean;
71
- /** Si fue reenviado */
72
- forwarded: boolean;
73
- /** Timestamp de creación (ms) */
74
- created_at: number;
75
- /** Timestamp de expiración (ms) o null */
76
- deleted_at: number | null;
77
- /** Tipo MIME */
78
- mime: string;
79
- /** Caption del mensaje */
80
- caption: string;
81
- /** true si fue editado */
82
- edited: boolean;
83
- }
84
- /**
85
- * @description Datos completos del mensaje.
86
- */
87
- export interface IMessage {
88
- /** Índice del mensaje */
89
- index: IMessageIndex;
90
- /** WAMessage raw del protocolo */
91
- raw: WAMessage;
92
- }
93
- /**
94
- * @description Mapeo de tipos de contenido de Baileys a MessageType.
95
- */
96
- export declare const MESSAGE_TYPE_MAP: Record<string, MessageType>;
97
- /**
98
- * @description Construye IMessageIndex desde WAMessage.
99
- * @param raw WAMessage del protocolo.
100
- * @param edited Si el mensaje fue editado.
101
- * @returns IMessageIndex normalizado.
102
- */
103
- export declare function build_message_index(raw: WAMessage, edited?: boolean): IMessageIndex;
104
- /**
105
- * @description
106
- * Clase base para representar un mensaje de WhatsApp.
107
- * Expone getters sobre el índice, raw accesible para operaciones avanzadas.
108
- */
109
- export declare class Message {
110
- /** Índice del mensaje */
111
- readonly index: IMessageIndex;
112
- /** WAMessage raw del protocolo */
113
- readonly raw: WAMessage;
114
- constructor(data: IMessage);
115
- /** ID único del mensaje */
116
- get id(): string;
117
- /** JID del chat al que pertenece */
118
- get cid(): string;
119
- /** ID del mensaje padre (reply) */
120
- get mid(): string | null;
121
- /** true si el mensaje fue enviado por el usuario autenticado */
122
- get me(): boolean;
123
- /** Autor del mensaje */
124
- get author(): string;
125
- /** true si el mensaje fue editado */
126
- get edited(): boolean;
127
- /** Tipo de contenido del mensaje */
128
- get type(): MessageType;
129
- /** Texto o caption del mensaje */
130
- get caption(): string;
131
- /** Tipo MIME del contenido */
132
- get mime(): string;
133
- /** Estado del mensaje */
134
- get status(): MESSAGE_STATUS;
135
- /** true si el mensaje está destacado */
136
- get starred(): boolean;
137
- /** true si el mensaje fue reenviado */
138
- get forwarded(): boolean;
139
- /** Timestamp de creación (ms) */
140
- get created_at(): number;
141
- /** Timestamp de expiración (ms) o null */
142
- get deleted_at(): number | null;
143
- /**
144
- * @description Obtiene el contenido como Readable stream.
145
- * @returns Readable stream (vacío en clase base).
146
- */
147
- stream(): Promise<Readable>;
148
- /**
149
- * @description Obtiene el contenido del mensaje como Buffer.
150
- * @returns Buffer con el contenido (vacío en clase base).
151
- */
152
- content(): Promise<Buffer>;
153
- }
154
- /**
155
- * @description Factory que retorna la clase Message enlazada al contexto.
156
- * @param wa Instancia de WhatsApp.
157
- * @returns Clase _Message que extiende Message.
158
- */
159
- export declare function message(wa: WhatsApp): {
160
- new (data: IMessage): {
161
- /**
162
- * @description Obtiene el contenido como Readable stream.
163
- * Para media (image/video/audio) retorna stream directo de Baileys sin cargar en memoria.
164
- * Para text/location/poll retorna stream desde buffer pequeño.
165
- * @returns Readable stream con el contenido.
166
- */
167
- stream(): Promise<Readable>;
168
- /**
169
- * @description Obtiene el contenido del mensaje como Buffer.
170
- * Usa stream() internamente y cachea el resultado en el engine.
171
- * @returns Buffer con el contenido.
172
- */
173
- content(): Promise<Buffer>;
174
- /** Índice del mensaje */
175
- readonly index: IMessageIndex;
176
- /** WAMessage raw del protocolo */
177
- readonly raw: WAMessage;
178
- /** ID único del mensaje */
179
- get id(): string;
180
- /** JID del chat al que pertenece */
181
- get cid(): string;
182
- /** ID del mensaje padre (reply) */
183
- get mid(): string | null;
184
- /** true si el mensaje fue enviado por el usuario autenticado */
185
- get me(): boolean;
186
- /** Autor del mensaje */
187
- get author(): string;
188
- /** true si el mensaje fue editado */
189
- get edited(): boolean;
190
- /** Tipo de contenido del mensaje */
191
- get type(): MessageType;
192
- /** Texto o caption del mensaje */
193
- get caption(): string;
194
- /** Tipo MIME del contenido */
195
- get mime(): string;
196
- /** Estado del mensaje */
197
- get status(): MESSAGE_STATUS;
198
- /** true si el mensaje está destacado */
199
- get starred(): boolean;
200
- /** true si el mensaje fue reenviado */
201
- get forwarded(): boolean;
202
- /** Timestamp de creación (ms) */
203
- get created_at(): number;
204
- /** Timestamp de expiración (ms) o null */
205
- get deleted_at(): number | null;
206
- };
207
- /**
208
- * @description Obtiene un mensaje por CID y MID.
209
- * @param cid ID del chat.
210
- * @param mid ID del mensaje.
211
- * @returns Mensaje o null si no existe.
212
- */
213
- get(cid: string, mid: string): Promise<InstanceType</*elided*/ any> | null>;
214
- /**
215
- * @description Reacciona a un mensaje.
216
- * @param cid ID del chat.
217
- * @param mid ID del mensaje.
218
- * @param emoji Emoji de reacción (vacío para quitar).
219
- * @returns true si se envió correctamente.
220
- */
221
- react(cid: string, mid: string, emoji: string): Promise<boolean>;
222
- /**
223
- * @description Elimina un mensaje para todos.
224
- * @param cid ID del chat.
225
- * @param mid ID del mensaje.
226
- * @returns true si se eliminó correctamente.
227
- */
228
- remove(cid: string, mid: string): Promise<boolean>;
229
- /**
230
- * @description Reenvía un mensaje a otro chat.
231
- * @param cid ID del chat origen.
232
- * @param mid ID del mensaje.
233
- * @param to_cid ID del chat destino.
234
- * @returns true si se reenvió correctamente.
235
- */
236
- forward(cid: string, mid: string, to_cid: string): Promise<boolean>;
237
- /**
238
- * @description Edita un mensaje (solo texto o caption).
239
- * @param cid ID del chat.
240
- * @param mid ID del mensaje.
241
- * @param text Nuevo contenido.
242
- * @returns true si se editó correctamente.
243
- */
244
- edit(cid: string, mid: string, text: string): Promise<boolean>;
245
- /**
246
- * @description Envía un mensaje de texto.
247
- * @param cid ID del chat destino.
248
- * @param text Contenido del mensaje.
249
- * @returns Mensaje enviado o null.
250
- */
251
- text(cid: string, text: string): Promise<{
252
- /**
253
- * @description Obtiene el contenido como Readable stream.
254
- * Para media (image/video/audio) retorna stream directo de Baileys sin cargar en memoria.
255
- * Para text/location/poll retorna stream desde buffer pequeño.
256
- * @returns Readable stream con el contenido.
257
- */
258
- stream(): Promise<Readable>;
259
- /**
260
- * @description Obtiene el contenido del mensaje como Buffer.
261
- * Usa stream() internamente y cachea el resultado en el engine.
262
- * @returns Buffer con el contenido.
263
- */
264
- content(): Promise<Buffer>;
265
- /** Índice del mensaje */
266
- readonly index: IMessageIndex;
267
- /** WAMessage raw del protocolo */
268
- readonly raw: WAMessage;
269
- /** ID único del mensaje */
270
- get id(): string;
271
- /** JID del chat al que pertenece */
272
- get cid(): string;
273
- /** ID del mensaje padre (reply) */
274
- get mid(): string | null;
275
- /** true si el mensaje fue enviado por el usuario autenticado */
276
- get me(): boolean;
277
- /** Autor del mensaje */
278
- get author(): string;
279
- /** true si el mensaje fue editado */
280
- get edited(): boolean;
281
- /** Tipo de contenido del mensaje */
282
- get type(): MessageType;
283
- /** Texto o caption del mensaje */
284
- get caption(): string;
285
- /** Tipo MIME del contenido */
286
- get mime(): string;
287
- /** Estado del mensaje */
288
- get status(): MESSAGE_STATUS;
289
- /** true si el mensaje está destacado */
290
- get starred(): boolean;
291
- /** true si el mensaje fue reenviado */
292
- get forwarded(): boolean;
293
- /** Timestamp de creación (ms) */
294
- get created_at(): number;
295
- /** Timestamp de expiración (ms) o null */
296
- get deleted_at(): number | null;
297
- } | null>;
298
- /**
299
- * @description Envía una imagen.
300
- * @param cid ID del chat destino.
301
- * @param buffer Buffer de la imagen.
302
- * @param caption Caption opcional.
303
- * @returns Mensaje enviado o null.
304
- */
305
- image(cid: string, buffer: Buffer, caption?: string): Promise<{
306
- /**
307
- * @description Obtiene el contenido como Readable stream.
308
- * Para media (image/video/audio) retorna stream directo de Baileys sin cargar en memoria.
309
- * Para text/location/poll retorna stream desde buffer pequeño.
310
- * @returns Readable stream con el contenido.
311
- */
312
- stream(): Promise<Readable>;
313
- /**
314
- * @description Obtiene el contenido del mensaje como Buffer.
315
- * Usa stream() internamente y cachea el resultado en el engine.
316
- * @returns Buffer con el contenido.
317
- */
318
- content(): Promise<Buffer>;
319
- /** Índice del mensaje */
320
- readonly index: IMessageIndex;
321
- /** WAMessage raw del protocolo */
322
- readonly raw: WAMessage;
323
- /** ID único del mensaje */
324
- get id(): string;
325
- /** JID del chat al que pertenece */
326
- get cid(): string;
327
- /** ID del mensaje padre (reply) */
328
- get mid(): string | null;
329
- /** true si el mensaje fue enviado por el usuario autenticado */
330
- get me(): boolean;
331
- /** Autor del mensaje */
332
- get author(): string;
333
- /** true si el mensaje fue editado */
334
- get edited(): boolean;
335
- /** Tipo de contenido del mensaje */
336
- get type(): MessageType;
337
- /** Texto o caption del mensaje */
338
- get caption(): string;
339
- /** Tipo MIME del contenido */
340
- get mime(): string;
341
- /** Estado del mensaje */
342
- get status(): MESSAGE_STATUS;
343
- /** true si el mensaje está destacado */
344
- get starred(): boolean;
345
- /** true si el mensaje fue reenviado */
346
- get forwarded(): boolean;
347
- /** Timestamp de creación (ms) */
348
- get created_at(): number;
349
- /** Timestamp de expiración (ms) o null */
350
- get deleted_at(): number | null;
351
- } | null>;
352
- /**
353
- * @description Envía un video.
354
- * @param cid ID del chat destino.
355
- * @param buffer Buffer del video.
356
- * @param caption Caption opcional.
357
- * @returns Mensaje enviado o null.
358
- */
359
- video(cid: string, buffer: Buffer, caption?: string): Promise<{
360
- /**
361
- * @description Obtiene el contenido como Readable stream.
362
- * Para media (image/video/audio) retorna stream directo de Baileys sin cargar en memoria.
363
- * Para text/location/poll retorna stream desde buffer pequeño.
364
- * @returns Readable stream con el contenido.
365
- */
366
- stream(): Promise<Readable>;
367
- /**
368
- * @description Obtiene el contenido del mensaje como Buffer.
369
- * Usa stream() internamente y cachea el resultado en el engine.
370
- * @returns Buffer con el contenido.
371
- */
372
- content(): Promise<Buffer>;
373
- /** Índice del mensaje */
374
- readonly index: IMessageIndex;
375
- /** WAMessage raw del protocolo */
376
- readonly raw: WAMessage;
377
- /** ID único del mensaje */
378
- get id(): string;
379
- /** JID del chat al que pertenece */
380
- get cid(): string;
381
- /** ID del mensaje padre (reply) */
382
- get mid(): string | null;
383
- /** true si el mensaje fue enviado por el usuario autenticado */
384
- get me(): boolean;
385
- /** Autor del mensaje */
386
- get author(): string;
387
- /** true si el mensaje fue editado */
388
- get edited(): boolean;
389
- /** Tipo de contenido del mensaje */
390
- get type(): MessageType;
391
- /** Texto o caption del mensaje */
392
- get caption(): string;
393
- /** Tipo MIME del contenido */
394
- get mime(): string;
395
- /** Estado del mensaje */
396
- get status(): MESSAGE_STATUS;
397
- /** true si el mensaje está destacado */
398
- get starred(): boolean;
399
- /** true si el mensaje fue reenviado */
400
- get forwarded(): boolean;
401
- /** Timestamp de creación (ms) */
402
- get created_at(): number;
403
- /** Timestamp de expiración (ms) o null */
404
- get deleted_at(): number | null;
405
- } | null>;
406
- /**
407
- * @description Envía un audio.
408
- * @param cid ID del chat destino.
409
- * @param buffer Buffer del audio.
410
- * @param ptt true para nota de voz (default true).
411
- * @returns Mensaje enviado o null.
412
- */
413
- audio(cid: string, buffer: Buffer, ptt?: boolean): Promise<{
414
- /**
415
- * @description Obtiene el contenido como Readable stream.
416
- * Para media (image/video/audio) retorna stream directo de Baileys sin cargar en memoria.
417
- * Para text/location/poll retorna stream desde buffer pequeño.
418
- * @returns Readable stream con el contenido.
419
- */
420
- stream(): Promise<Readable>;
421
- /**
422
- * @description Obtiene el contenido del mensaje como Buffer.
423
- * Usa stream() internamente y cachea el resultado en el engine.
424
- * @returns Buffer con el contenido.
425
- */
426
- content(): Promise<Buffer>;
427
- /** Índice del mensaje */
428
- readonly index: IMessageIndex;
429
- /** WAMessage raw del protocolo */
430
- readonly raw: WAMessage;
431
- /** ID único del mensaje */
432
- get id(): string;
433
- /** JID del chat al que pertenece */
434
- get cid(): string;
435
- /** ID del mensaje padre (reply) */
436
- get mid(): string | null;
437
- /** true si el mensaje fue enviado por el usuario autenticado */
438
- get me(): boolean;
439
- /** Autor del mensaje */
440
- get author(): string;
441
- /** true si el mensaje fue editado */
442
- get edited(): boolean;
443
- /** Tipo de contenido del mensaje */
444
- get type(): MessageType;
445
- /** Texto o caption del mensaje */
446
- get caption(): string;
447
- /** Tipo MIME del contenido */
448
- get mime(): string;
449
- /** Estado del mensaje */
450
- get status(): MESSAGE_STATUS;
451
- /** true si el mensaje está destacado */
452
- get starred(): boolean;
453
- /** true si el mensaje fue reenviado */
454
- get forwarded(): boolean;
455
- /** Timestamp de creación (ms) */
456
- get created_at(): number;
457
- /** Timestamp de expiración (ms) o null */
458
- get deleted_at(): number | null;
459
- } | null>;
460
- /**
461
- * @description Envía una ubicación.
462
- * @param cid ID del chat destino.
463
- * @param opts Opciones de ubicación (lat, lng, live).
464
- * @returns Mensaje enviado o null.
465
- */
466
- location(cid: string, opts: LocationOptions): Promise<{
467
- /**
468
- * @description Obtiene el contenido como Readable stream.
469
- * Para media (image/video/audio) retorna stream directo de Baileys sin cargar en memoria.
470
- * Para text/location/poll retorna stream desde buffer pequeño.
471
- * @returns Readable stream con el contenido.
472
- */
473
- stream(): Promise<Readable>;
474
- /**
475
- * @description Obtiene el contenido del mensaje como Buffer.
476
- * Usa stream() internamente y cachea el resultado en el engine.
477
- * @returns Buffer con el contenido.
478
- */
479
- content(): Promise<Buffer>;
480
- /** Índice del mensaje */
481
- readonly index: IMessageIndex;
482
- /** WAMessage raw del protocolo */
483
- readonly raw: WAMessage;
484
- /** ID único del mensaje */
485
- get id(): string;
486
- /** JID del chat al que pertenece */
487
- get cid(): string;
488
- /** ID del mensaje padre (reply) */
489
- get mid(): string | null;
490
- /** true si el mensaje fue enviado por el usuario autenticado */
491
- get me(): boolean;
492
- /** Autor del mensaje */
493
- get author(): string;
494
- /** true si el mensaje fue editado */
495
- get edited(): boolean;
496
- /** Tipo de contenido del mensaje */
497
- get type(): MessageType;
498
- /** Texto o caption del mensaje */
499
- get caption(): string;
500
- /** Tipo MIME del contenido */
501
- get mime(): string;
502
- /** Estado del mensaje */
503
- get status(): MESSAGE_STATUS;
504
- /** true si el mensaje está destacado */
505
- get starred(): boolean;
506
- /** true si el mensaje fue reenviado */
507
- get forwarded(): boolean;
508
- /** Timestamp de creación (ms) */
509
- get created_at(): number;
510
- /** Timestamp de expiración (ms) o null */
511
- get deleted_at(): number | null;
512
- } | null>;
513
- /**
514
- * @description Envía una encuesta.
515
- * @param cid ID del chat destino.
516
- * @param opts Opciones de encuesta (content, options).
517
- * @returns Mensaje enviado o null.
518
- */
519
- poll(cid: string, opts: PollOptions): Promise<{
520
- /**
521
- * @description Obtiene el contenido como Readable stream.
522
- * Para media (image/video/audio) retorna stream directo de Baileys sin cargar en memoria.
523
- * Para text/location/poll retorna stream desde buffer pequeño.
524
- * @returns Readable stream con el contenido.
525
- */
526
- stream(): Promise<Readable>;
527
- /**
528
- * @description Obtiene el contenido del mensaje como Buffer.
529
- * Usa stream() internamente y cachea el resultado en el engine.
530
- * @returns Buffer con el contenido.
531
- */
532
- content(): Promise<Buffer>;
533
- /** Índice del mensaje */
534
- readonly index: IMessageIndex;
535
- /** WAMessage raw del protocolo */
536
- readonly raw: WAMessage;
537
- /** ID único del mensaje */
538
- get id(): string;
539
- /** JID del chat al que pertenece */
540
- get cid(): string;
541
- /** ID del mensaje padre (reply) */
542
- get mid(): string | null;
543
- /** true si el mensaje fue enviado por el usuario autenticado */
544
- get me(): boolean;
545
- /** Autor del mensaje */
546
- get author(): string;
547
- /** true si el mensaje fue editado */
548
- get edited(): boolean;
549
- /** Tipo de contenido del mensaje */
550
- get type(): MessageType;
551
- /** Texto o caption del mensaje */
552
- get caption(): string;
553
- /** Tipo MIME del contenido */
554
- get mime(): string;
555
- /** Estado del mensaje */
556
- get status(): MESSAGE_STATUS;
557
- /** true si el mensaje está destacado */
558
- get starred(): boolean;
559
- /** true si el mensaje fue reenviado */
560
- get forwarded(): boolean;
561
- /** Timestamp de creación (ms) */
562
- get created_at(): number;
563
- /** Timestamp de expiración (ms) o null */
564
- get deleted_at(): number | null;
565
- } | null>;
566
- /**
567
- * @description Observa cambios en un mensaje específico.
568
- * @param cid ID del chat.
569
- * @param mid ID del mensaje.
570
- * @param handler Callback con el mensaje actualizado.
571
- * @returns Función para dejar de observar.
572
- */
573
- watch(cid: string, mid: string, handler: (msg: InstanceType</*elided*/ any>) => void): () => void;
574
- /**
575
- * @description Notifica a los watchers de un mensaje.
576
- * @param cid ID del chat.
577
- * @param mid ID del mensaje.
578
- */
579
- notify(cid: string, mid: string): void;
580
- };