@open-wa/wa-automate 4.35.5 → 4.35.8

Sign up to get free protection for your applications and to get access to all the features.
@@ -18,7 +18,7 @@ import { Listener } from 'eventemitter2';
18
18
  import PriorityQueue from 'p-queue/dist/priority-queue';
19
19
  import { NextFunction, Request, Response } from 'express';
20
20
  import { Call } from './model/call';
21
- import { Button, Section } from './model/button';
21
+ import { Button, LocationButtonBody, Section } from './model/button';
22
22
  import { JsonObject } from 'type-fest';
23
23
  import { ReactionEvent } from './model/reactions';
24
24
  export declare enum namespace {
@@ -488,12 +488,12 @@ export declare class Client {
488
488
  * Send generic quick reply buttons. This is an insiders feature for MD accounts.
489
489
  *
490
490
  * @param {ChatId} to chat id
491
- * @param {string} body The body of the buttons message
491
+ * @param {string | LocationButtonBody} body The body of the buttons message
492
492
  * @param {Button[]} buttons Array of buttons - limit is 3!
493
493
  * @param {string} title The title/header of the buttons message
494
494
  * @param {string} footer The footer of the buttons message
495
495
  */
496
- sendButtons(to: ChatId, body: string, buttons: Button[], title?: string, footer?: string): Promise<boolean | MessageId>;
496
+ sendButtons(to: ChatId, body: string | LocationButtonBody, buttons: Button[], title?: string, footer?: string): Promise<boolean | MessageId>;
497
497
  /**
498
498
  * Send a banner image
499
499
  *
@@ -258,7 +258,7 @@ class Client {
258
258
  if ((((_d = this._createConfig) === null || _d === void 0 ? void 0 : _d.autoEmoji) === undefined || ((_e = this._createConfig) === null || _e === void 0 ? void 0 : _e.autoEmoji)) && !this._autoEmojiSet) {
259
259
  const ident = typeof ((_f = this._createConfig) === null || _f === void 0 ? void 0 : _f.autoEmoji) === "string" ? (_g = this._createConfig) === null || _g === void 0 ? void 0 : _g.autoEmoji : ":";
260
260
  this.onMessage((message) => __awaiter(this, void 0, void 0, function* () {
261
- if (message.body && message.body.startsWith(ident) && message.body.endsWith(ident)) {
261
+ if ((message === null || message === void 0 ? void 0 : message.body) && message.body.startsWith(ident) && message.body.endsWith(ident)) {
262
262
  const emojiId = message.body.replace(new RegExp(ident, 'g'), "");
263
263
  if (!emojiId)
264
264
  return;
@@ -479,7 +479,11 @@ class Client {
479
479
  if (logging) {
480
480
  const wapis = (_e = (((_d = pageFunction === null || pageFunction === void 0 ? void 0 : pageFunction.toString()) === null || _d === void 0 ? void 0 : _d.match(/WAPI\.(\w*)\(/g)) || [])) === null || _e === void 0 ? void 0 : _e.map(s => s.replace(/WAPI|\.|\(/g, ''));
481
481
  _t = Date.now();
482
- logging_1.log.info(`IN ${invocation_id}`, Object.assign({ _method: (wapis === null || wapis === void 0 ? void 0 : wapis.length) === 1 ? wapis[0] : wapis }, args[0]));
482
+ const _args = ["string", "number", "boolean"].includes(typeof args[0]) ? args[0] : Object.assign({}, args[0]);
483
+ logging_1.log.info(`IN ${invocation_id}`, {
484
+ _method: (wapis === null || wapis === void 0 ? void 0 : wapis.length) === 1 ? wapis[0] : wapis,
485
+ _args
486
+ });
483
487
  }
484
488
  if (callTimeout)
485
489
  return yield Promise.race([this._page.evaluate(pageFunction, ...args), new Promise((resolve, reject) => { var _a; return setTimeout(reject, (_a = this._createConfig) === null || _a === void 0 ? void 0 : _a.callTimeout, new errors_1.PageEvaluationTimeout()); })]);
@@ -1275,7 +1279,7 @@ class Client {
1275
1279
  * Send generic quick reply buttons. This is an insiders feature for MD accounts.
1276
1280
  *
1277
1281
  * @param {ChatId} to chat id
1278
- * @param {string} body The body of the buttons message
1282
+ * @param {string | LocationButtonBody} body The body of the buttons message
1279
1283
  * @param {Button[]} buttons Array of buttons - limit is 3!
1280
1284
  * @param {string} title The title/header of the buttons message
1281
1285
  * @param {string} footer The footer of the buttons message
@@ -11,3 +11,8 @@ export interface Section {
11
11
  title: string;
12
12
  rows: Row[];
13
13
  }
14
+ export interface LocationButtonBody {
15
+ lat: number;
16
+ lng: number;
17
+ caption: string;
18
+ }
@@ -341,6 +341,10 @@ function create(config = {}) {
341
341
  WAToken1: localStorage.WAToken1,
342
342
  WAToken2: localStorage.WAToken2
343
343
  };
344
+ if (config.multiDevice) {
345
+ delete sessionData.WABrowserId;
346
+ logging_1.log.info("Multi-device detected. Removing Browser ID from session data to prevent session reauth corruption");
347
+ }
344
348
  const sdB64 = Buffer.from(JSON.stringify(sessionData)).toString('base64');
345
349
  spinner.emit(sessionData, "sessionData");
346
350
  spinner.emit(sdB64, "sessionDataBase64");
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@open-wa/wa-automate",
3
- "version": "4.35.5",
3
+ "version": "4.35.8",
4
4
  "licenseCheckUrl": "https://funcs.openwa.dev/license-check",
5
5
  "brokenMethodReportUrl": "https://funcs.openwa.dev/report-bm",
6
6
  "patches": "https://cdn.openwa.dev/patches.json",