@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.
- package/build/cjs/_index.d.ts +14 -0
- package/build/cjs/_index.js +346 -0
- package/build/cjs/_index.js.map +1 -0
- package/build/cjs/index.d.ts +2 -0
- package/build/cjs/index.js +4 -1
- package/build/cjs/index.js.map +1 -1
- package/build/cjs/lib/chat/index.d.ts +36 -3
- package/build/cjs/lib/chat/index.js +20 -3
- package/build/cjs/lib/chat/index.js.map +1 -1
- package/build/cjs/lib/message/index.d.ts +49 -9
- package/build/cjs/lib/message/index.js +106 -24
- package/build/cjs/lib/message/index.js.map +1 -1
- package/build/cjs/lib/status/index.d.ts +85 -0
- package/build/cjs/lib/status/index.js +137 -0
- package/build/cjs/lib/status/index.js.map +1 -0
- package/build/cjs/lib/whatsapp/index.d.ts +7 -1
- package/build/cjs/lib/whatsapp/index.js +132 -16
- package/build/cjs/lib/whatsapp/index.js.map +1 -1
- package/build/esm/_index.d.ts +14 -0
- package/build/esm/_index.js +344 -0
- package/build/esm/_index.js.map +1 -0
- package/build/esm/index.d.ts +2 -0
- package/build/esm/index.js +1 -0
- package/build/esm/index.js.map +1 -1
- package/build/esm/lib/chat/index.d.ts +36 -3
- package/build/esm/lib/chat/index.js +20 -3
- package/build/esm/lib/chat/index.js.map +1 -1
- package/build/esm/lib/message/index.d.ts +49 -9
- package/build/esm/lib/message/index.js +107 -25
- package/build/esm/lib/message/index.js.map +1 -1
- package/build/esm/lib/status/index.d.ts +85 -0
- package/build/esm/lib/status/index.js +133 -0
- package/build/esm/lib/status/index.js.map +1 -0
- package/build/esm/lib/whatsapp/index.d.ts +7 -1
- package/build/esm/lib/whatsapp/index.js +133 -17
- package/build/esm/lib/whatsapp/index.js.map +1 -1
- package/package.json +1 -1
|
@@ -5,11 +5,13 @@
|
|
|
5
5
|
*/
|
|
6
6
|
import { type WAMessage } from 'baileys';
|
|
7
7
|
import { Readable } from 'node:stream';
|
|
8
|
-
import { Chat } from '../../lib/chat';
|
|
9
|
-
import { Contact } from '../../lib/contact';
|
|
8
|
+
import { Chat, chat } from '../../lib/chat';
|
|
9
|
+
import { Contact, contact } from '../../lib/contact';
|
|
10
10
|
import type { WhatsApp } from '../../lib/whatsapp';
|
|
11
11
|
/** Destino aceptado por `forward`: CID (string), Chat o Contact. */
|
|
12
12
|
export type ForwardTarget = string | Chat | Contact;
|
|
13
|
+
type ChatInstance = InstanceType<ReturnType<typeof chat>>;
|
|
14
|
+
type ContactInstance = InstanceType<ReturnType<typeof contact>>;
|
|
13
15
|
/** Tipos de mensaje internos (no expuestos como getter público). */
|
|
14
16
|
export type MessageType = 'text' | 'image' | 'video' | 'audio' | 'location' | 'poll';
|
|
15
17
|
export declare enum MessageStatus {
|
|
@@ -29,6 +31,10 @@ export interface SendMediaOptions extends SendOptions {
|
|
|
29
31
|
export interface SendAudioOptions extends SendOptions {
|
|
30
32
|
ptt?: boolean;
|
|
31
33
|
}
|
|
34
|
+
export interface SendPollOptions extends SendOptions {
|
|
35
|
+
/** true para selección múltiple; default false (single). / true for multi-select; default false (single). */
|
|
36
|
+
multiple?: boolean;
|
|
37
|
+
}
|
|
32
38
|
export interface LocationOptions {
|
|
33
39
|
lat: number;
|
|
34
40
|
lng: number;
|
|
@@ -58,6 +64,16 @@ export interface IMessage {
|
|
|
58
64
|
mime: string;
|
|
59
65
|
caption: string;
|
|
60
66
|
edited: boolean;
|
|
67
|
+
/**
|
|
68
|
+
* Solo para polls: discriminador explícito de selección múltiple seteado al enviar.
|
|
69
|
+
* Cuando está definido, `Poll.multiple` lo prefiere sobre el conteo del proto
|
|
70
|
+
* (WhatsApp normaliza `selectableOptionsCount` en el echo de polls auto-emitidos
|
|
71
|
+
* y pierde el discriminador, por eso necesitamos persistirlo nosotros).
|
|
72
|
+
* Poll-only: explicit multi-select flag set at send time. When defined, `Poll.multiple`
|
|
73
|
+
* prefers it over the proto count (WhatsApp normalizes `selectableOptionsCount` on
|
|
74
|
+
* own-poll echo, losing the discriminator).
|
|
75
|
+
*/
|
|
76
|
+
multiple?: boolean;
|
|
61
77
|
raw: WAMessage;
|
|
62
78
|
}
|
|
63
79
|
/**
|
|
@@ -73,6 +89,10 @@ export declare class Message {
|
|
|
73
89
|
protected readonly _wa: WhatsApp;
|
|
74
90
|
/** @internal */
|
|
75
91
|
protected readonly _doc: IMessage;
|
|
92
|
+
/** @internal Cache de la promesa de `author()` para evitar engine round-trips repetidos. */
|
|
93
|
+
private _author_cache;
|
|
94
|
+
/** @internal Cache de la promesa de `chat()` para evitar engine round-trips repetidos. */
|
|
95
|
+
private _chat_cache;
|
|
76
96
|
constructor(options: {
|
|
77
97
|
wa: WhatsApp;
|
|
78
98
|
doc: IMessage;
|
|
@@ -94,10 +114,22 @@ export declare class Message {
|
|
|
94
114
|
get deleted_at(): number | null;
|
|
95
115
|
get status(): MessageStatus;
|
|
96
116
|
get edited(): boolean;
|
|
97
|
-
/**
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
117
|
+
/**
|
|
118
|
+
* Contacto del autor (resuelve vía `wa.Contact.get`; fallback a instancia mínima).
|
|
119
|
+
* Memoizado por instancia: la primera llamada va al engine; las siguientes
|
|
120
|
+
* reutilizan la misma promesa sin nuevos round-trips.
|
|
121
|
+
* Author contact (resolves via `wa.Contact.get`; falls back to a minimal instance).
|
|
122
|
+
* Instance-memoized: first call hits the engine; subsequent calls reuse the
|
|
123
|
+
* same promise without further round-trips.
|
|
124
|
+
*/
|
|
125
|
+
author(): Promise<ContactInstance>;
|
|
126
|
+
/**
|
|
127
|
+
* Chat al que pertenece el mensaje. Memoizado por instancia: la primera llamada
|
|
128
|
+
* va al engine; las siguientes reutilizan la misma promesa.
|
|
129
|
+
* Chat the message belongs to. Instance-memoized: first call hits the engine;
|
|
130
|
+
* subsequent calls reuse the same promise.
|
|
131
|
+
*/
|
|
132
|
+
chat(): Promise<ChatInstance>;
|
|
101
133
|
/** Contenido sin parsear, directo del engine. Las subclases override según su tipo. */
|
|
102
134
|
content(): Promise<Buffer>;
|
|
103
135
|
/**
|
|
@@ -134,7 +166,7 @@ export declare class Message {
|
|
|
134
166
|
/** Responde con ubicación. */
|
|
135
167
|
location(loc: LocationOptions, opts?: SendOptions): Promise<Message | null>;
|
|
136
168
|
/** Responde con encuesta. */
|
|
137
|
-
poll(poll: PollOptions, opts?:
|
|
169
|
+
poll(poll: PollOptions, opts?: SendPollOptions): Promise<Message | null>;
|
|
138
170
|
}
|
|
139
171
|
/**
|
|
140
172
|
* Mensaje de texto. Override `content()` para retornar el caption como Buffer sin pasar por engine.
|
|
@@ -189,7 +221,14 @@ export declare class Gps extends Message {
|
|
|
189
221
|
*/
|
|
190
222
|
export declare class Poll extends Message {
|
|
191
223
|
private get _poll();
|
|
192
|
-
/**
|
|
224
|
+
/**
|
|
225
|
+
* true si admite múltiples respuestas. Lee primero el flag explícito persistido
|
|
226
|
+
* al enviar (caso propio, donde WhatsApp pierde el discriminador en el echo);
|
|
227
|
+
* fallback al `selectableOptionsCount` del proto (polls foráneos o de UI móvil).
|
|
228
|
+
* true if the poll accepts multiple answers. Prefers the persisted send-time
|
|
229
|
+
* flag (own polls, since WhatsApp drops the discriminator on echo); falls back
|
|
230
|
+
* to the proto `selectableOptionsCount` (foreign or mobile-UI polls).
|
|
231
|
+
*/
|
|
193
232
|
get multiple(): boolean;
|
|
194
233
|
/** Opciones con conteo de votos actualizado. / Options with up-to-date vote counts. */
|
|
195
234
|
get options(): {
|
|
@@ -226,7 +265,7 @@ export declare function message(wa: WhatsApp): {
|
|
|
226
265
|
video(cid: string, buf: Buffer, opts?: SendMediaOptions): Promise<Message | null>;
|
|
227
266
|
audio(cid: string, buf: Buffer, opts?: SendAudioOptions): Promise<Message | null>;
|
|
228
267
|
location(cid: string, loc: LocationOptions, opts?: SendOptions): Promise<Message | null>;
|
|
229
|
-
poll(cid: string, p: PollOptions, opts?:
|
|
268
|
+
poll(cid: string, p: PollOptions, opts?: SendPollOptions): Promise<Message | null>;
|
|
230
269
|
edit(cid: string, mid: string, text: string): Promise<boolean>;
|
|
231
270
|
delete(cid: string, mid: string, all?: boolean): Promise<boolean>;
|
|
232
271
|
react(cid: string, mid: string, emoji: string): Promise<boolean>;
|
|
@@ -235,3 +274,4 @@ export declare function message(wa: WhatsApp): {
|
|
|
235
274
|
star(cid: string, mid: string, value: boolean): Promise<boolean>;
|
|
236
275
|
watch(cid: string, mid: string, handler: (msg: Message) => void): () => void;
|
|
237
276
|
};
|
|
277
|
+
export {};
|
|
@@ -98,6 +98,10 @@ function build_message_doc(raw, self_id, edited = false) {
|
|
|
98
98
|
*/
|
|
99
99
|
class Message {
|
|
100
100
|
constructor(options) {
|
|
101
|
+
/** @internal Cache de la promesa de `author()` para evitar engine round-trips repetidos. */
|
|
102
|
+
this._author_cache = null;
|
|
103
|
+
/** @internal Cache de la promesa de `chat()` para evitar engine round-trips repetidos. */
|
|
104
|
+
this._chat_cache = null;
|
|
101
105
|
this._wa = options.wa;
|
|
102
106
|
this._doc = options.doc;
|
|
103
107
|
}
|
|
@@ -148,25 +152,41 @@ class Message {
|
|
|
148
152
|
get edited() {
|
|
149
153
|
return this._doc.edited;
|
|
150
154
|
}
|
|
151
|
-
/**
|
|
155
|
+
/**
|
|
156
|
+
* Contacto del autor (resuelve vía `wa.Contact.get`; fallback a instancia mínima).
|
|
157
|
+
* Memoizado por instancia: la primera llamada va al engine; las siguientes
|
|
158
|
+
* reutilizan la misma promesa sin nuevos round-trips.
|
|
159
|
+
* Author contact (resolves via `wa.Contact.get`; falls back to a minimal instance).
|
|
160
|
+
* Instance-memoized: first call hits the engine; subsequent calls reuse the
|
|
161
|
+
* same promise without further round-trips.
|
|
162
|
+
*/
|
|
152
163
|
async author() {
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
164
|
+
return (this._author_cache ??= (async () => {
|
|
165
|
+
const { _wa, _doc } = this;
|
|
166
|
+
const fetched = _doc.author ? await _wa.Contact.get(_doc.author) : null;
|
|
167
|
+
return (fetched ??
|
|
168
|
+
new _wa.Contact({
|
|
169
|
+
id: _doc.author,
|
|
170
|
+
lid: null,
|
|
171
|
+
name: null,
|
|
172
|
+
notify: null,
|
|
173
|
+
verified_name: null,
|
|
174
|
+
img_url: null,
|
|
175
|
+
status: null,
|
|
176
|
+
}, new _wa.Chat({ id: _doc.author, name: _doc.author.split('@')[0] })));
|
|
177
|
+
})());
|
|
178
|
+
}
|
|
179
|
+
/**
|
|
180
|
+
* Chat al que pertenece el mensaje. Memoizado por instancia: la primera llamada
|
|
181
|
+
* va al engine; las siguientes reutilizan la misma promesa.
|
|
182
|
+
* Chat the message belongs to. Instance-memoized: first call hits the engine;
|
|
183
|
+
* subsequent calls reuse the same promise.
|
|
184
|
+
*/
|
|
167
185
|
async chat() {
|
|
168
|
-
|
|
169
|
-
|
|
186
|
+
return (this._chat_cache ??= (async () => {
|
|
187
|
+
const cached = (0, store_1.deserialize)(await this._wa.engine.get(`/chat/${this._doc.cid}`));
|
|
188
|
+
return new this._wa.Chat(cached ?? { id: this._doc.cid, name: this._doc.cid.split('@')[0] });
|
|
189
|
+
})());
|
|
170
190
|
}
|
|
171
191
|
/** Contenido sin parsear, directo del engine. Las subclases override según su tipo. */
|
|
172
192
|
async content() {
|
|
@@ -466,8 +486,18 @@ class Poll extends Message {
|
|
|
466
486
|
const m = this._doc.raw.message;
|
|
467
487
|
return m?.pollCreationMessage ?? m?.pollCreationMessageV2 ?? m?.pollCreationMessageV3;
|
|
468
488
|
}
|
|
469
|
-
/**
|
|
489
|
+
/**
|
|
490
|
+
* true si admite múltiples respuestas. Lee primero el flag explícito persistido
|
|
491
|
+
* al enviar (caso propio, donde WhatsApp pierde el discriminador en el echo);
|
|
492
|
+
* fallback al `selectableOptionsCount` del proto (polls foráneos o de UI móvil).
|
|
493
|
+
* true if the poll accepts multiple answers. Prefers the persisted send-time
|
|
494
|
+
* flag (own polls, since WhatsApp drops the discriminator on echo); falls back
|
|
495
|
+
* to the proto `selectableOptionsCount` (foreign or mobile-UI polls).
|
|
496
|
+
*/
|
|
470
497
|
get multiple() {
|
|
498
|
+
if (typeof this._doc.multiple === 'boolean') {
|
|
499
|
+
return this._doc.multiple;
|
|
500
|
+
}
|
|
471
501
|
return (this._poll?.selectableOptionsCount ?? 1) !== 1;
|
|
472
502
|
}
|
|
473
503
|
/** Opciones con conteo de votos actualizado. / Options with up-to-date vote counts. */
|
|
@@ -502,12 +532,36 @@ class Poll extends Message {
|
|
|
502
532
|
const selected_options = indices
|
|
503
533
|
.filter((i) => i >= 0 && i < opts.length)
|
|
504
534
|
.map((i) => (0, baileys_1.sha256)(Buffer.from(opts[i].optionName ?? '')));
|
|
505
|
-
|
|
535
|
+
// messageSecret puede llegar como Buffer (raw runtime) o string base64 (post-deserialize
|
|
536
|
+
// del engine). Normaliza a Buffer antes de derivar el HMAC.
|
|
537
|
+
// messageSecret may arrive as Buffer (runtime raw) or base64 string (post engine
|
|
538
|
+
// deserialize). Normalize to Buffer before deriving the HMAC.
|
|
539
|
+
const secret_raw = _doc.raw.message?.messageContextInfo?.messageSecret;
|
|
540
|
+
const poll_enc_key = typeof secret_raw === 'string' ? Buffer.from(secret_raw, 'base64') : secret_raw;
|
|
506
541
|
if (!poll_enc_key || !_wa._socket || selected_options.length === 0) {
|
|
507
542
|
return false;
|
|
508
543
|
}
|
|
509
|
-
|
|
510
|
-
|
|
544
|
+
// WhatsApp moderno usa la identidad LID para HMAC de poll votes (ver patch
|
|
545
|
+
// devmsh/whatsapp-bridge: "EncryptPollVote uses getOwnID() (Phone JID) but
|
|
546
|
+
// SendMessage uses LID identity. This causes silent decryption failure on
|
|
547
|
+
// poll votes"). Siempre que tengamos LID, lo usamos normalizado (sin device).
|
|
548
|
+
// Modern WhatsApp expects LID identity for poll vote HMAC. Use normalized
|
|
549
|
+
// LID whenever available; fall back to phone JID only if no LID is known.
|
|
550
|
+
const poll_key = _doc.raw.key ?? {};
|
|
551
|
+
const self_id = _wa._socket.user?.id ?? '';
|
|
552
|
+
const self_lid = _wa._socket.user?.lid ?? '';
|
|
553
|
+
const voter_jid = (0, baileys_1.jidNormalizedUser)(self_lid || self_id);
|
|
554
|
+
let poll_creator_raw;
|
|
555
|
+
if (poll_key.fromMe) {
|
|
556
|
+
poll_creator_raw = self_lid || self_id;
|
|
557
|
+
}
|
|
558
|
+
else if (poll_key.remoteJid?.endsWith('@lid')) {
|
|
559
|
+
poll_creator_raw = poll_key.remoteJid;
|
|
560
|
+
}
|
|
561
|
+
else {
|
|
562
|
+
poll_creator_raw = (0, baileys_1.getKeyAuthor)(poll_key, self_id);
|
|
563
|
+
}
|
|
564
|
+
const poll_creator_jid = (0, baileys_1.jidNormalizedUser)(poll_creator_raw);
|
|
511
565
|
const poll_msg_id = this.id;
|
|
512
566
|
// Derivar clave y encriptar el voto (mismo algoritmo que baileys.decryptPollVote)
|
|
513
567
|
const sign = Buffer.concat([
|
|
@@ -517,7 +571,7 @@ class Poll extends Message {
|
|
|
517
571
|
Buffer.from('Poll Vote'),
|
|
518
572
|
new Uint8Array([1]),
|
|
519
573
|
]);
|
|
520
|
-
const key0 = (0, baileys_1.hmacSign)(
|
|
574
|
+
const key0 = (0, baileys_1.hmacSign)(poll_enc_key, new Uint8Array(32), 'sha256');
|
|
521
575
|
const enc_key = (0, baileys_1.hmacSign)(sign, key0, 'sha256');
|
|
522
576
|
const payload = baileys_1.proto.Message.PollVoteMessage.encode({
|
|
523
577
|
selectedOptions: selected_options,
|
|
@@ -533,6 +587,24 @@ class Poll extends Message {
|
|
|
533
587
|
senderTimestampMs: Date.now(),
|
|
534
588
|
},
|
|
535
589
|
}, { messageId: msg_id });
|
|
590
|
+
// baileys.relayMessage no echa upsert local al companion que envió el voto.
|
|
591
|
+
// Mergemos el voto propio en el doc para que `options[].count` y el evento
|
|
592
|
+
// `message:updated` reflejen el cambio sin esperar (nunca) un echo del servidor.
|
|
593
|
+
// baileys.relayMessage doesn't emit a local upsert on the originating companion.
|
|
594
|
+
// We merge the own vote into the doc so `options[].count` and the `message:updated`
|
|
595
|
+
// event reflect the change without waiting for a server echo that never comes.
|
|
596
|
+
const own_update_key = {
|
|
597
|
+
remoteJid: _doc.raw.key?.remoteJid ?? _doc.cid,
|
|
598
|
+
fromMe: true,
|
|
599
|
+
id: msg_id,
|
|
600
|
+
};
|
|
601
|
+
(0, baileys_1.updateMessageWithPollUpdate)(_doc.raw, {
|
|
602
|
+
pollUpdateMessageKey: own_update_key,
|
|
603
|
+
vote: { selectedOptions: selected_options },
|
|
604
|
+
senderTimestampMs: Date.now(),
|
|
605
|
+
});
|
|
606
|
+
await _wa.engine.set(`/chat/${_doc.cid}/message/${_doc.id}`, (0, store_1.serialize)(_doc));
|
|
607
|
+
_wa._event.emit('message:updated', this, await this.chat(), _wa);
|
|
536
608
|
return true;
|
|
537
609
|
}
|
|
538
610
|
}
|
|
@@ -564,7 +636,7 @@ function message(wa) {
|
|
|
564
636
|
}
|
|
565
637
|
return new Message(opts);
|
|
566
638
|
}
|
|
567
|
-
async function send(cid, content, binary, reply_to) {
|
|
639
|
+
async function send(cid, content, binary, reply_to, doc_overrides) {
|
|
568
640
|
let result = null;
|
|
569
641
|
const jid = await wa._resolve_jid(cid);
|
|
570
642
|
if (jid && wa._socket) {
|
|
@@ -582,6 +654,9 @@ function message(wa) {
|
|
|
582
654
|
const sent_id = raw?.key?.id;
|
|
583
655
|
if (raw && sent_id) {
|
|
584
656
|
const doc = build_message_doc(raw, wa._socket?.user?.id);
|
|
657
|
+
if (doc_overrides) {
|
|
658
|
+
Object.assign(doc, doc_overrides);
|
|
659
|
+
}
|
|
585
660
|
await wa.engine.set(`/chat/${jid}/message/${sent_id}`, (0, store_1.serialize)(doc));
|
|
586
661
|
if (binary) {
|
|
587
662
|
await wa.engine.set(`/chat/${jid}/message/${sent_id}/content`, (0, store_1.serialize)({ data: binary.toString('base64') }));
|
|
@@ -646,7 +721,14 @@ function message(wa) {
|
|
|
646
721
|
return send(cid, { location: { degreesLatitude: loc.lat, degreesLongitude: loc.lng } }, undefined, opts.mid);
|
|
647
722
|
},
|
|
648
723
|
async poll(cid, p, opts = {}) {
|
|
649
|
-
|
|
724
|
+
const multiple = opts.multiple ?? false;
|
|
725
|
+
return send(cid, {
|
|
726
|
+
poll: {
|
|
727
|
+
name: p.content,
|
|
728
|
+
values: p.options.map((o) => o.content),
|
|
729
|
+
selectableCount: multiple ? 0 : 1,
|
|
730
|
+
},
|
|
731
|
+
}, undefined, opts.mid, { multiple });
|
|
650
732
|
},
|
|
651
733
|
async edit(cid, mid, text) {
|
|
652
734
|
const m = await api.get(cid, mid);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/lib/message/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/lib/message/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @file status/index.ts
|
|
3
|
+
* @description Entidad `Feed` — representa una publicación del status broadcast
|
|
4
|
+
* (`status@broadcast`). Análoga a `Message` pero acotada al ciclo de vida de un
|
|
5
|
+
* status (24h, no se cita, no se edita, sin starring/forward).
|
|
6
|
+
* Status broadcast entry. Analogous to `Message` but scoped to the status
|
|
7
|
+
* lifecycle (24h TTL, no quoting, no editing, no starring/forward).
|
|
8
|
+
*/
|
|
9
|
+
import { type WAMessage } from 'baileys';
|
|
10
|
+
import { Readable } from 'node:stream';
|
|
11
|
+
import { Contact } from '../../lib/contact';
|
|
12
|
+
import type { WhatsApp } from '../../lib/whatsapp';
|
|
13
|
+
/** Tipos soportados por un status broadcast. / Status broadcast supported types. */
|
|
14
|
+
export type FeedType = 'text' | 'image' | 'video' | 'audio';
|
|
15
|
+
/**
|
|
16
|
+
* Documento persistido del status.
|
|
17
|
+
* Persisted status document.
|
|
18
|
+
*/
|
|
19
|
+
export interface IFeedRaw {
|
|
20
|
+
id: string;
|
|
21
|
+
author_jid: string;
|
|
22
|
+
type: FeedType;
|
|
23
|
+
caption: string;
|
|
24
|
+
mime: string;
|
|
25
|
+
created_at: number;
|
|
26
|
+
expires_at: number;
|
|
27
|
+
viewed: boolean;
|
|
28
|
+
raw: WAMessage;
|
|
29
|
+
}
|
|
30
|
+
/** Vida útil del status: 24 horas en ms. / Status lifetime: 24h in ms. */
|
|
31
|
+
export declare const TTL_MS: number;
|
|
32
|
+
/**
|
|
33
|
+
* Status broadcast — una publicación del feed `status@broadcast` con duración 24h.
|
|
34
|
+
*
|
|
35
|
+
* Status broadcast entry — a `status@broadcast` post with a 24h lifetime.
|
|
36
|
+
*/
|
|
37
|
+
export default class Feed {
|
|
38
|
+
/** @internal */
|
|
39
|
+
protected readonly _wa: WhatsApp;
|
|
40
|
+
/** @internal */
|
|
41
|
+
protected readonly _doc: IFeedRaw;
|
|
42
|
+
/** @internal Cache de la promesa de `author()` para evitar engine round-trips repetidos. */
|
|
43
|
+
private _author_cache;
|
|
44
|
+
constructor(options: {
|
|
45
|
+
wa: WhatsApp;
|
|
46
|
+
doc: IFeedRaw;
|
|
47
|
+
});
|
|
48
|
+
/** Identificador del status (mid). / Status id (mid). */
|
|
49
|
+
get id(): string;
|
|
50
|
+
/** Tipo de contenido. / Content type. */
|
|
51
|
+
get type(): FeedType;
|
|
52
|
+
/** true si ya enviamos read receipt sobre este status. / true once a read receipt was sent. */
|
|
53
|
+
get viewed(): boolean;
|
|
54
|
+
/** Texto / caption del status. / Status text or caption. */
|
|
55
|
+
get caption(): string;
|
|
56
|
+
/** Epoch ms de publicación. / Publication epoch ms. */
|
|
57
|
+
get created_at(): number;
|
|
58
|
+
/** Epoch ms de expiración (created_at + 24h). / Expiration epoch ms (created_at + 24h). */
|
|
59
|
+
get expires_at(): number;
|
|
60
|
+
/**
|
|
61
|
+
* Resuelve el autor del status. Memoizado a nivel de instancia: la primera
|
|
62
|
+
* llamada va al engine vía `wa.Contact.get`; las siguientes devuelven la misma
|
|
63
|
+
* instancia sin volver a leer.
|
|
64
|
+
* Resolves the status author. Instance-memoized: first call hits the engine
|
|
65
|
+
* via `wa.Contact.get`; subsequent calls return the cached instance.
|
|
66
|
+
*/
|
|
67
|
+
author(): Promise<Contact>;
|
|
68
|
+
/**
|
|
69
|
+
* Stream progresivo del contenido. Para texto envuelve el caption; para media
|
|
70
|
+
* lee del cache del engine y, si falta, descarga desde baileys.
|
|
71
|
+
* Progressive content stream. For text wraps the caption; for media reads the
|
|
72
|
+
* engine cache and falls back to baileys download.
|
|
73
|
+
*/
|
|
74
|
+
stream(): Promise<Readable>;
|
|
75
|
+
/**
|
|
76
|
+
* Acumula el stream del status en un Buffer.
|
|
77
|
+
* Drains the status stream into a Buffer.
|
|
78
|
+
*/
|
|
79
|
+
content(): Promise<Buffer>;
|
|
80
|
+
/**
|
|
81
|
+
* Marca el status como visto enviando read receipt. Persiste `viewed = true`.
|
|
82
|
+
* Marks the status as seen sending a read receipt. Persists `viewed = true`.
|
|
83
|
+
*/
|
|
84
|
+
view(): Promise<boolean>;
|
|
85
|
+
}
|
|
@@ -0,0 +1,137 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* @file status/index.ts
|
|
4
|
+
* @description Entidad `Feed` — representa una publicación del status broadcast
|
|
5
|
+
* (`status@broadcast`). Análoga a `Message` pero acotada al ciclo de vida de un
|
|
6
|
+
* status (24h, no se cita, no se edita, sin starring/forward).
|
|
7
|
+
* Status broadcast entry. Analogous to `Message` but scoped to the status
|
|
8
|
+
* lifecycle (24h TTL, no quoting, no editing, no starring/forward).
|
|
9
|
+
*/
|
|
10
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
11
|
+
exports.TTL_MS = void 0;
|
|
12
|
+
const baileys_1 = require("baileys");
|
|
13
|
+
const node_stream_1 = require("node:stream");
|
|
14
|
+
const store_1 = require("../../lib/store");
|
|
15
|
+
/** Vida útil del status: 24 horas en ms. / Status lifetime: 24h in ms. */
|
|
16
|
+
exports.TTL_MS = 24 * 60 * 60 * 1000;
|
|
17
|
+
/**
|
|
18
|
+
* Status broadcast — una publicación del feed `status@broadcast` con duración 24h.
|
|
19
|
+
*
|
|
20
|
+
* Status broadcast entry — a `status@broadcast` post with a 24h lifetime.
|
|
21
|
+
*/
|
|
22
|
+
class Feed {
|
|
23
|
+
constructor(options) {
|
|
24
|
+
/** @internal Cache de la promesa de `author()` para evitar engine round-trips repetidos. */
|
|
25
|
+
this._author_cache = null;
|
|
26
|
+
this._wa = options.wa;
|
|
27
|
+
this._doc = options.doc;
|
|
28
|
+
}
|
|
29
|
+
/** Identificador del status (mid). / Status id (mid). */
|
|
30
|
+
get id() {
|
|
31
|
+
return this._doc.id;
|
|
32
|
+
}
|
|
33
|
+
/** Tipo de contenido. / Content type. */
|
|
34
|
+
get type() {
|
|
35
|
+
return this._doc.type;
|
|
36
|
+
}
|
|
37
|
+
/** true si ya enviamos read receipt sobre este status. / true once a read receipt was sent. */
|
|
38
|
+
get viewed() {
|
|
39
|
+
return this._doc.viewed;
|
|
40
|
+
}
|
|
41
|
+
/** Texto / caption del status. / Status text or caption. */
|
|
42
|
+
get caption() {
|
|
43
|
+
return this._doc.caption;
|
|
44
|
+
}
|
|
45
|
+
/** Epoch ms de publicación. / Publication epoch ms. */
|
|
46
|
+
get created_at() {
|
|
47
|
+
return this._doc.created_at;
|
|
48
|
+
}
|
|
49
|
+
/** Epoch ms de expiración (created_at + 24h). / Expiration epoch ms (created_at + 24h). */
|
|
50
|
+
get expires_at() {
|
|
51
|
+
return this._doc.expires_at;
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* Resuelve el autor del status. Memoizado a nivel de instancia: la primera
|
|
55
|
+
* llamada va al engine vía `wa.Contact.get`; las siguientes devuelven la misma
|
|
56
|
+
* instancia sin volver a leer.
|
|
57
|
+
* Resolves the status author. Instance-memoized: first call hits the engine
|
|
58
|
+
* via `wa.Contact.get`; subsequent calls return the cached instance.
|
|
59
|
+
*/
|
|
60
|
+
async author() {
|
|
61
|
+
return (this._author_cache ??= (async () => {
|
|
62
|
+
const { _wa, _doc } = this;
|
|
63
|
+
const fetched = await _wa.Contact.get(_doc.author_jid);
|
|
64
|
+
return (fetched ??
|
|
65
|
+
new _wa.Contact({
|
|
66
|
+
id: _doc.author_jid,
|
|
67
|
+
lid: null,
|
|
68
|
+
name: null,
|
|
69
|
+
notify: null,
|
|
70
|
+
verified_name: null,
|
|
71
|
+
img_url: null,
|
|
72
|
+
status: null,
|
|
73
|
+
}, new _wa.Chat({
|
|
74
|
+
id: _doc.author_jid,
|
|
75
|
+
name: _doc.author_jid.split('@')[0],
|
|
76
|
+
})));
|
|
77
|
+
})());
|
|
78
|
+
}
|
|
79
|
+
/**
|
|
80
|
+
* Stream progresivo del contenido. Para texto envuelve el caption; para media
|
|
81
|
+
* lee del cache del engine y, si falta, descarga desde baileys.
|
|
82
|
+
* Progressive content stream. For text wraps the caption; for media reads the
|
|
83
|
+
* engine cache and falls back to baileys download.
|
|
84
|
+
*/
|
|
85
|
+
async stream() {
|
|
86
|
+
const { _wa, _doc } = this;
|
|
87
|
+
if (_doc.type === 'text') {
|
|
88
|
+
return node_stream_1.Readable.from(Buffer.from(_doc.caption, 'utf-8'));
|
|
89
|
+
}
|
|
90
|
+
const cached = (0, store_1.deserialize)(await _wa.engine.get(`/status/${_doc.id}/content`));
|
|
91
|
+
if (cached?.data) {
|
|
92
|
+
return node_stream_1.Readable.from(Buffer.from(cached.data, 'base64'));
|
|
93
|
+
}
|
|
94
|
+
if (_wa._socket) {
|
|
95
|
+
try {
|
|
96
|
+
return (await (0, baileys_1.downloadMediaMessage)(_doc.raw, 'stream', {}));
|
|
97
|
+
}
|
|
98
|
+
catch {
|
|
99
|
+
/* fallback empty */
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
return node_stream_1.Readable.from(Buffer.alloc(0));
|
|
103
|
+
}
|
|
104
|
+
/**
|
|
105
|
+
* Acumula el stream del status en un Buffer.
|
|
106
|
+
* Drains the status stream into a Buffer.
|
|
107
|
+
*/
|
|
108
|
+
async content() {
|
|
109
|
+
const chunks = [];
|
|
110
|
+
for await (const chunk of await this.stream()) {
|
|
111
|
+
chunks.push(Buffer.isBuffer(chunk) ? chunk : Buffer.from(chunk));
|
|
112
|
+
}
|
|
113
|
+
return Buffer.concat(chunks);
|
|
114
|
+
}
|
|
115
|
+
/**
|
|
116
|
+
* Marca el status como visto enviando read receipt. Persiste `viewed = true`.
|
|
117
|
+
* Marks the status as seen sending a read receipt. Persists `viewed = true`.
|
|
118
|
+
*/
|
|
119
|
+
async view() {
|
|
120
|
+
const { _wa, _doc } = this;
|
|
121
|
+
let ok = false;
|
|
122
|
+
if (_wa._socket) {
|
|
123
|
+
if (!_doc.viewed) {
|
|
124
|
+
await _wa._socket.readMessages([
|
|
125
|
+
{ remoteJid: 'status@broadcast', id: _doc.id, participant: _doc.author_jid },
|
|
126
|
+
]);
|
|
127
|
+
_doc.viewed = true;
|
|
128
|
+
await _wa.engine.set(`/status/${_doc.id}`, (0, store_1.serialize)(_doc));
|
|
129
|
+
}
|
|
130
|
+
_wa._event.emit('feed:updated', this, _wa);
|
|
131
|
+
ok = true;
|
|
132
|
+
}
|
|
133
|
+
return ok;
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
exports.default = Feed;
|
|
137
|
+
//# sourceMappingURL=index.js.map
|