@arcaelas/whatsapp 4.4.0 → 4.5.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.
@@ -0,0 +1,71 @@
1
+ "use strict";
2
+ // engine: new FileSystemEngine(join(homedir(), '.viber-poll-test', 'whatsapp')),
3
+ var __importDefault = (this && this.__importDefault) || function (mod) {
4
+ return (mod && mod.__esModule) ? mod : { "default": mod };
5
+ };
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ const store_1 = require("./lib/store");
8
+ const whatsapp_1 = __importDefault(require("./lib/whatsapp"));
9
+ const node_path_1 = __importDefault(require("node:path"));
10
+ const node_os_1 = __importDefault(require("node:os"));
11
+ const node_child_process_1 = require("node:child_process");
12
+ const node_fs_1 = require("node:fs");
13
+ const ws = new whatsapp_1.default({
14
+ // sync: false,
15
+ reconnect: true,
16
+ // autoclean: false,
17
+ // phone: 56937651978,
18
+ engine: new store_1.FileSystemEngine(node_path_1.default.join(node_os_1.default.homedir(), '.viber-poll-test', 'whatsapp')),
19
+ });
20
+ ws.on("connected", async () => {
21
+ console.log("Connected! — COMPARACIÓN estructural");
22
+ try {
23
+ const poll = await ws.Message.poll("584144709840", {
24
+ content: "Comparación — vota tú también",
25
+ options: [{ content: "Uno" }, { content: "Dos" }],
26
+ });
27
+ if (poll) {
28
+ await new Promise((r) => setTimeout(r, 1500));
29
+ const ok = await poll.select(0);
30
+ console.log(`[cmp] poll propio mid=${poll.id} select=${ok} — ahora VOTÁ vos en esta misma encuesta`);
31
+ }
32
+ }
33
+ catch (err) {
34
+ console.error("[cmp] ERROR ->", err instanceof Error ? err.message : err);
35
+ }
36
+ });
37
+ ws.on("disconnected", async () => {
38
+ console.log("Disconnected!");
39
+ });
40
+ ws.on("message:created", async (message) => {
41
+ // Prueba inversa: el bot vota en el poll que creó el USUARIO (ruta poll ajeno, fromMe:false).
42
+ if (!message.me && message instanceof ws.Message.Poll) {
43
+ console.log(`[foreign] poll del usuario mid=${message.id} cid=${message.cid} — votando opción 0…`);
44
+ const ok = await message.select(0);
45
+ console.log(`[foreign] select resultado=${ok}`);
46
+ }
47
+ });
48
+ // Referencia: cuando el USUARIO vota (funciona), volcamos las keys crudas de cada
49
+ // pollUpdate para comparar addressing con el voto propio del bot.
50
+ ws.on("message:updated", async (message) => {
51
+ if (message instanceof ws.Message.Poll) {
52
+ const raw = message._doc.raw.pollUpdates ?? [];
53
+ console.log(`[updated] mid=${message.id} updates=${raw.length}`);
54
+ for (const u of raw) {
55
+ const k = u.pollUpdateMessageKey ?? {};
56
+ console.log(" vote_key ->", JSON.stringify({ fromMe: k.fromMe, remoteJid: k.remoteJid, participant: k.participant, alt: k.remoteJidAlt }), "| descifrado:", Boolean(u.vote?.selectedOptions?.length));
57
+ }
58
+ }
59
+ });
60
+ ws.connect(async (auth) => {
61
+ if (Buffer.isBuffer(auth)) {
62
+ // auth ya es el PNG del QR renderizado por la librería: se escribe tal cual.
63
+ const file = node_path_1.default.join(node_os_1.default.tmpdir(), 'wa-link-qr.png');
64
+ (0, node_fs_1.writeFileSync)(file, auth);
65
+ (0, node_child_process_1.spawn)('xdg-open', [file], { detached: true, stdio: 'ignore' }).unref();
66
+ console.log('[QR] abierto:', file);
67
+ }
68
+ else
69
+ console.log('OTP: ', auth);
70
+ });
71
+ //# sourceMappingURL=test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"test.js","sourceRoot":"","sources":["../../src/test.ts"],"names":[],"mappings":"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"}
@@ -272,7 +272,19 @@ export declare class Poll extends Message {
272
272
  }[];
273
273
  /**
274
274
  * Vota en la encuesta. Acepta un índice o lista de índices (para `multiple`).
275
- * Votes in the poll. Accepts a single index or list (for `multiple`).
275
+ * Cifra el voto (HMAC+AES-GCM, igual que baileys.decryptPollVote) y lo enruta al chat
276
+ * @lid del contacto con la identidad LID propia, replicando byte a byte un voto entrante
277
+ * que sí descifra. El voto ENTRANTE (contacto → este cliente) funciona; el voto propio
278
+ * de este cliente aplicado a una encuesta NO se refleja en el teléfono del destinatario
279
+ * cuando este cliente es un dispositivo vinculado (companion): estructura, identidades y
280
+ * addressing coinciden con un voto válido, pero WhatsApp no lo propaga. Best-effort.
281
+ *
282
+ * Votes in the poll. Encrypts the vote (HMAC+AES-GCM, same as baileys.decryptPollVote)
283
+ * and routes it to the contact's @lid chat with our own LID identity, mirroring a working
284
+ * incoming vote byte-for-byte. INCOMING votes work; a self-vote from this client does NOT
285
+ * show on the recipient's phone when this client is a linked (companion) device — the
286
+ * structure, identities and addressing match a valid vote but WhatsApp won't propagate it.
287
+ * Best-effort.
276
288
  */
277
289
  select(index: number | number[]): Promise<boolean>;
278
290
  }
@@ -547,7 +547,19 @@ export class Poll extends Message {
547
547
  }
548
548
  /**
549
549
  * Vota en la encuesta. Acepta un índice o lista de índices (para `multiple`).
550
- * Votes in the poll. Accepts a single index or list (for `multiple`).
550
+ * Cifra el voto (HMAC+AES-GCM, igual que baileys.decryptPollVote) y lo enruta al chat
551
+ * @lid del contacto con la identidad LID propia, replicando byte a byte un voto entrante
552
+ * que sí descifra. El voto ENTRANTE (contacto → este cliente) funciona; el voto propio
553
+ * de este cliente aplicado a una encuesta NO se refleja en el teléfono del destinatario
554
+ * cuando este cliente es un dispositivo vinculado (companion): estructura, identidades y
555
+ * addressing coinciden con un voto válido, pero WhatsApp no lo propaga. Best-effort.
556
+ *
557
+ * Votes in the poll. Encrypts the vote (HMAC+AES-GCM, same as baileys.decryptPollVote)
558
+ * and routes it to the contact's @lid chat with our own LID identity, mirroring a working
559
+ * incoming vote byte-for-byte. INCOMING votes work; a self-vote from this client does NOT
560
+ * show on the recipient's phone when this client is a linked (companion) device — the
561
+ * structure, identities and addressing match a valid vote but WhatsApp won't propagate it.
562
+ * Best-effort.
551
563
  */
552
564
  async select(index) {
553
565
  const { _wa, _doc } = this;
@@ -565,22 +577,37 @@ export class Poll extends Message {
565
577
  if (!poll_enc_key || !_wa._socket || selected_options.length === 0) {
566
578
  return false;
567
579
  }
568
- // La identidad propia del HMAC debe coincidir con la que baileys.relayMessage
569
- // usará al enviar ("ADDRESSING CONSISTENCY"): LID sólo en chats @lid, PN en
570
- // chats @s.whatsapp.net. Forzar LID siempre (fix 3.1.1) producía votos
571
- // indescifrables en chats PN: el receptor deriva la clave del JID del stanza.
572
- // Own HMAC identity must match what baileys.relayMessage uses on send
573
- // ("ADDRESSING CONSISTENCY"): LID only on @lid chats, PN on @s.whatsapp.net.
574
- // Always forcing LID (3.1.1 fix) made votes undecryptable on PN chats: the
575
- // receiver derives the key from the stanza's sender JID.
576
580
  const poll_key = _doc.raw.key ?? {};
577
581
  const self_id = _wa._socket.user?.id ?? '';
578
582
  const self_lid = _wa._socket.user?.lid ?? '';
579
- const self_for_chat = _doc.cid.endsWith('@lid') && self_lid ? self_lid : self_id;
580
- const voter_jid = jidNormalizedUser(self_for_chat);
583
+ // El voto se enruta al chat @lid del contacto: los clientes migrados corren el chat
584
+ // en @lid y derivan la clave del JID visible del stanza; enviarlo por PN lo deja
585
+ // indescifrable en el teléfono. El @lid destino sale del propio poll (si ya es @lid),
586
+ // del store de contactos, o del lidMapping de baileys.
587
+ // The vote is routed to the contact's @lid chat: migrated clients run the chat on
588
+ // @lid and derive the key from the stanza's visible JID; sending via PN leaves it
589
+ // undecryptable on the phone. The @lid dest comes from the poll (if already @lid),
590
+ // the contact store, or baileys' lidMapping.
591
+ let dest = _doc.cid;
592
+ if (poll_key.remoteJid?.endsWith('@lid')) {
593
+ dest = poll_key.remoteJid;
594
+ }
595
+ else if (!_doc.cid.endsWith('@lid')) {
596
+ const contact_raw = deserialize(await _wa.engine.get(`/contact/${_doc.cid}`));
597
+ const mapped = await _wa._socket.signalRepository?.lidMapping?.getLIDForPN(_doc.cid).catch(() => null);
598
+ dest = contact_raw?.lid ?? mapped ?? _doc.cid;
599
+ }
600
+ // Identidad del HMAC atada al destino real: baileys firma con meLid cuando el envío
601
+ // va por @lid, así que voter y (en polls propios) creator usan el LID propio para que
602
+ // el receptor derive la misma clave. PN sólo si no se conoce ningún LID.
603
+ // HMAC identity tied to the actual destination: baileys signs with meLid for @lid
604
+ // sends, so voter and (on own polls) creator use our LID so the receiver derives the
605
+ // same key. PN only when no LID is known.
606
+ const self_for_send = dest.endsWith('@lid') && self_lid ? self_lid : self_id;
607
+ const voter_jid = jidNormalizedUser(self_for_send);
581
608
  let poll_creator_raw;
582
609
  if (poll_key.fromMe) {
583
- poll_creator_raw = self_for_chat;
610
+ poll_creator_raw = self_for_send;
584
611
  }
585
612
  else if (poll_key.remoteJid?.endsWith('@lid')) {
586
613
  poll_creator_raw = poll_key.remoteJid;
@@ -607,9 +634,18 @@ export class Poll extends Message {
607
634
  const enc_iv = randomBytes(12);
608
635
  const enc_payload = aesEncryptGCM(payload, enc_key, enc_iv, aad);
609
636
  const msg_id = generateMessageID();
610
- await _wa._socket.relayMessage(_doc.cid, {
637
+ // La pollCreationMessageKey debe referenciar el poll con el mismo addressing que el
638
+ // stanza (dest): un voto entrante que sí funciona trae la key con remoteJid = @lid del
639
+ // creador, coincidiendo con el chat @lid del stanza. Enviarla con remoteJid PN mientras
640
+ // el stanza va por @lid deja al receptor sin poder casar el voto con el poll.
641
+ // The pollCreationMessageKey must reference the poll with the same addressing as the
642
+ // stanza (dest): a working incoming vote carries the key with the creator's @lid
643
+ // remoteJid, matching the @lid stanza chat. A PN remoteJid on an @lid stanza leaves the
644
+ // receiver unable to match the vote to the poll.
645
+ const creation_key = dest === _doc.cid ? _doc.raw.key : { ..._doc.raw.key, remoteJid: dest };
646
+ await _wa._socket.relayMessage(dest, {
611
647
  pollUpdateMessage: {
612
- pollCreationMessageKey: _doc.raw.key,
648
+ pollCreationMessageKey: creation_key,
613
649
  vote: { encPayload: enc_payload, encIv: enc_iv },
614
650
  senderTimestampMs: Date.now(),
615
651
  },
@@ -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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"}
@@ -30,8 +30,16 @@ export type ReconnectOption = boolean | number | {
30
30
  export interface IWhatsApp {
31
31
  /** Motor de almacenamiento. / Storage engine. */
32
32
  engine: Engine;
33
- /** Teléfono para emparejamiento por PIN. Si falta, se usa QR. / Phone for PIN pairing; QR otherwise. */
33
+ /** Teléfono para emparejamiento por PIN (OTP). / Phone for PIN pairing (OTP). */
34
34
  phone?: number | string;
35
+ /**
36
+ * Fuerza el método de vinculación. Tiene precedencia sobre la heurística por `phone`:
37
+ * `auth = method ?? (phone ? 'otp' : 'qr')`. `otp` requiere `phone`.
38
+ *
39
+ * Forces the linking method, taking precedence over the phone heuristic:
40
+ * `auth = method ?? (phone ? 'otp' : 'qr')`. `otp` requires `phone`.
41
+ */
42
+ method?: 'qr' | 'otp';
35
43
  /**
36
44
  * Si al recibir `loggedOut` debe limpiar todo el engine (default: `true`).
37
45
  * Si es `false`, solo elimina `/session/creds` y preserva historial.
@@ -41,7 +49,14 @@ export interface IWhatsApp {
41
49
  autoclean?: boolean;
42
50
  /** Reconexión automática tras cierres no-loggedOut. Default: `true`. / Auto-reconnect on non-loggedOut closes. */
43
51
  reconnect?: ReconnectOption;
44
- /** Sincroniza historial completo desde el móvil (default: `false`). / Sync full history from phone. */
52
+ /**
53
+ * Descarga del historial de mensajes al vincular (default: `true`). Sólo afecta los
54
+ * mensajes: contactos, credenciales, LID mappings y tctokens se sincronizan siempre
55
+ * (rc13 los exige para enviar). `false` omite únicamente el historial de mensajes.
56
+ *
57
+ * Message-history download on link (default: `true`). Messages only: contacts,
58
+ * credentials, LID mappings and tctokens always sync (rc13 requires them to send).
59
+ */
45
60
  sync?: boolean;
46
61
  }
47
62
  /**
@@ -99,6 +114,7 @@ interface WhatsAppEventMap {
99
114
  */
100
115
  export declare class WhatsApp {
101
116
  private readonly _phone?;
117
+ private readonly _method?;
102
118
  /** @internal */
103
119
  readonly _event: EventEmitter<WhatsAppEventMap>;
104
120
  private readonly _autoclean;
@@ -32,8 +32,9 @@ export class WhatsApp {
32
32
  this.engine = options.engine;
33
33
  this._phone =
34
34
  options.phone !== undefined ? String(options.phone).replace(/\D+/g, '') : undefined;
35
+ this._method = options.method;
35
36
  this._autoclean = options.autoclean ?? true;
36
- this._sync = options.sync ?? false;
37
+ this._sync = options.sync ?? true;
37
38
  this._reconnect = this._parse_reconnect(options.reconnect);
38
39
  this._event = new EventEmitter();
39
40
  this.Contact = contact(this);
@@ -100,6 +101,18 @@ export class WhatsApp {
100
101
  if (reverse != null) {
101
102
  result = `${reverse}@s.whatsapp.net`;
102
103
  }
104
+ else {
105
+ // El store local puede no tener el mapping (sesión sin upsert del contacto);
106
+ // baileys lo conoce vía su lidMapping. Sin esto, un chat referenciado por @lid
107
+ // (p.ej. el pollCreationMessageKey de un voto entrante) no resuelve al PN donde
108
+ // realmente está guardado, y el mensaje/poll no se encuentra.
109
+ const pn = await this._socket?.signalRepository?.lidMapping?.getPNForLID(uid).catch(() => null);
110
+ if (pn) {
111
+ // getPNForLID puede traer sufijo de dispositivo (`:0`); se normaliza para
112
+ // que el JID coincida con el que usa el store (sin device).
113
+ result = jidNormalizedUser(pn.includes('@') ? pn : `${pn}@s.whatsapp.net`);
114
+ }
115
+ }
103
116
  }
104
117
  }
105
118
  else {
@@ -155,13 +168,15 @@ export class WhatsApp {
155
168
  browser: Browsers.windows('Chrome'),
156
169
  logger: pino({ level: 'silent' }),
157
170
  syncFullHistory: this._sync,
158
- // rc13 cambió el default de `shouldSyncHistoryMessage` a
159
- // `({ syncType }) => syncType !== FULL` (independiente de `syncFullHistory`).
160
- // Replicamos el comportamiento previo (rc.9), donde el sync de historial
161
- // dependía únicamente de `sync`.
162
- // rc13 changed the `shouldSyncHistoryMessage` default; we keep the rc.9
163
- // behavior where history sync depended solely on `sync`.
164
- shouldSyncHistoryMessage: () => this._sync,
171
+ // Los syncs no-FULL cargan las LID mappings y los tctokens (trusted-contact
172
+ // tokens) que rc13 exige para enviar: apagarlos todos con `() => this._sync`
173
+ // deja la sesión sin tctoken y el server rechaza los mensajes con
174
+ // "error 463: account restricted or missing tctoken". Por eso se procesan
175
+ // siempre los no-FULL; `sync` solo decide si además se trae el historial FULL.
176
+ // Non-FULL syncs carry the LID mappings and tctokens rc13 requires to send;
177
+ // disabling them all made the server reject messages with error 463. We always
178
+ // process non-FULL; `sync` only gates whether FULL history is pulled too.
179
+ shouldSyncHistoryMessage: ({ syncType }) => this._sync || syncType !== proto.HistorySync.HistorySyncType.FULL,
165
180
  markOnlineOnConnect: false,
166
181
  });
167
182
  const socket = this._socket;
@@ -172,7 +187,10 @@ export class WhatsApp {
172
187
  // Baileys refresca QR periódicamente (~20s). Emitimos nuevo pair
173
188
  // code / QR en cada refresh para que el usuario pueda renovar si
174
189
  // el anterior expiró.
175
- if (this._phone) {
190
+ // `method` fuerza el canal; sin él, phone ⇒ OTP y su ausencia ⇒ QR.
191
+ // `otp` exige phone: si se pidió sin phone, se cae a QR.
192
+ const auth = this._method ?? (this._phone ? 'otp' : 'qr');
193
+ if (auth === 'otp' && this._phone) {
176
194
  await callback(await socket.requestPairingCode(this._phone));
177
195
  }
178
196
  else {
@@ -599,20 +617,12 @@ export class WhatsApp {
599
617
  const self_id = this._socket?.user?.id ?? '';
600
618
  const self_lid = this._socket?.user?.lid ?? '';
601
619
  const selves = [...new Set([self_lid, self_id].filter(Boolean))];
602
- const foreign_voter = msg.key.remoteJid?.endsWith('@lid')
603
- ? msg.key.remoteJid
604
- : msg.key.participant ||
605
- msg.key.remoteJidAlt ||
606
- msg.key.remoteJid ||
607
- '';
608
- const foreign_creator = poll_key.remoteJid?.endsWith('@lid')
609
- ? poll_key.remoteJid
610
- : poll_key.participant ||
611
- poll_key.remoteJidAlt ||
612
- poll_key.remoteJid ||
613
- '';
614
- const voters = msg.key.fromMe ? selves : [foreign_voter];
615
- const creators = poll_key.fromMe ? selves : [foreign_creator];
620
+ // Candidatos foráneos: todas las formas de identidad del key (LID,
621
+ // participant, alt, remoteJid); se prueban todas porque el addressing
622
+ // del stanza varía (LID vs PN) según la migración del contacto.
623
+ const foreign_of = (k) => [...new Set([k.remoteJid, k.participant, k.remoteJidAlt, k.remoteJid].filter((x) => Boolean(x)))];
624
+ const voters = msg.key.fromMe ? selves : foreign_of(msg.key);
625
+ const creators = poll_key.fromMe ? selves : foreign_of(poll_key);
616
626
  let decrypted = null;
617
627
  for (const voter of voters) {
618
628
  for (const creator of creators) {