@open-wa/wa-automate 4.52.0 → 4.53.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/dist/api/Client.d.ts +10 -3
- package/dist/api/Client.js +38 -15
- package/dist/api/model/events.d.ts +4 -0
- package/dist/api/model/events.js +4 -0
- package/dist/controllers/browser.js +26 -8
- package/package.json +1 -1
package/dist/api/Client.d.ts
CHANGED
@@ -184,6 +184,13 @@ export declare class Client {
|
|
184
184
|
* @fires [[Message]]
|
185
185
|
*/
|
186
186
|
onButton(fn: (message: Message) => void): Promise<Listener | boolean>;
|
187
|
+
/**
|
188
|
+
* Listens to poll vote events
|
189
|
+
* @event
|
190
|
+
* @param fn callback
|
191
|
+
* @fires [[PollData]]
|
192
|
+
*/
|
193
|
+
onPollVote(fn: (pollDate: PollData) => void): Promise<Listener | boolean>;
|
187
194
|
/**
|
188
195
|
* Listens to broadcast messages
|
189
196
|
* @event
|
@@ -1731,7 +1738,7 @@ export declare class Client {
|
|
1731
1738
|
* @deprecated
|
1732
1739
|
* Alias for deleteStory
|
1733
1740
|
*/
|
1734
|
-
deleteStatus
|
1741
|
+
deleteStatus(statusesToDelete: string | string[]): Promise<boolean>;
|
1735
1742
|
/**
|
1736
1743
|
* {@license:restricted@}
|
1737
1744
|
*
|
@@ -1743,7 +1750,7 @@ export declare class Client {
|
|
1743
1750
|
* @deprecated
|
1744
1751
|
* Alias for deleteStory
|
1745
1752
|
*/
|
1746
|
-
deleteAllStatus
|
1753
|
+
deleteAllStatus(): Promise<boolean>;
|
1747
1754
|
/**
|
1748
1755
|
* {@license:restricted@}
|
1749
1756
|
*
|
@@ -1756,7 +1763,7 @@ export declare class Client {
|
|
1756
1763
|
* @deprecated
|
1757
1764
|
* Alias for deleteStory
|
1758
1765
|
*/
|
1759
|
-
getMyStatusArray
|
1766
|
+
getMyStatusArray(): Promise<Message[]>;
|
1760
1767
|
/**
|
1761
1768
|
* {@license:restricted@}
|
1762
1769
|
*
|
package/dist/api/Client.js
CHANGED
@@ -112,21 +112,6 @@ class Client {
|
|
112
112
|
* Note: This would be much simpler if eventMode was the default (and only) listener strategy.
|
113
113
|
*/
|
114
114
|
this._registeredWebhookListeners = {};
|
115
|
-
/**
|
116
|
-
* @deprecated
|
117
|
-
* Alias for deleteStory
|
118
|
-
*/
|
119
|
-
this.deleteStatus = this.deleteStory;
|
120
|
-
/**
|
121
|
-
* @deprecated
|
122
|
-
* Alias for deleteStory
|
123
|
-
*/
|
124
|
-
this.deleteAllStatus = this.deleteAllStories;
|
125
|
-
/**
|
126
|
-
* @deprecated
|
127
|
-
* Alias for deleteStory
|
128
|
-
*/
|
129
|
-
this.getMyStatusArray = this.getMyStoryArray;
|
130
115
|
/**
|
131
116
|
* This exposes a simple express middlware that will allow users to quickly boot up an api based off this client. Checkout demo/index.ts for an example
|
132
117
|
* How to use the middleware:
|
@@ -824,6 +809,17 @@ class Client {
|
|
824
809
|
return this.registerListener(events_2.SimpleListener.Button, fn);
|
825
810
|
});
|
826
811
|
}
|
812
|
+
/**
|
813
|
+
* Listens to poll vote events
|
814
|
+
* @event
|
815
|
+
* @param fn callback
|
816
|
+
* @fires [[PollData]]
|
817
|
+
*/
|
818
|
+
onPollVote(fn) {
|
819
|
+
return __awaiter(this, void 0, void 0, function* () {
|
820
|
+
return this.registerListener(events_2.SimpleListener.PollVote, fn);
|
821
|
+
});
|
822
|
+
}
|
827
823
|
/**
|
828
824
|
* Listens to broadcast messages
|
829
825
|
* @event
|
@@ -3594,6 +3590,15 @@ class Client {
|
|
3594
3590
|
return yield this.pup(({ statusesToDelete }) => WAPI.deleteStatus(statusesToDelete), { statusesToDelete });
|
3595
3591
|
});
|
3596
3592
|
}
|
3593
|
+
/**
|
3594
|
+
* @deprecated
|
3595
|
+
* Alias for deleteStory
|
3596
|
+
*/
|
3597
|
+
deleteStatus(statusesToDelete) {
|
3598
|
+
return __awaiter(this, void 0, void 0, function* () {
|
3599
|
+
return yield this.deleteStory(statusesToDelete);
|
3600
|
+
});
|
3601
|
+
}
|
3597
3602
|
/**
|
3598
3603
|
* {@license:restricted@}
|
3599
3604
|
*
|
@@ -3605,6 +3610,15 @@ class Client {
|
|
3605
3610
|
return yield this.pup(() => WAPI.deleteAllStatus());
|
3606
3611
|
});
|
3607
3612
|
}
|
3613
|
+
/**
|
3614
|
+
* @deprecated
|
3615
|
+
* Alias for deleteStory
|
3616
|
+
*/
|
3617
|
+
deleteAllStatus() {
|
3618
|
+
return __awaiter(this, void 0, void 0, function* () {
|
3619
|
+
return yield this.deleteAllStories();
|
3620
|
+
});
|
3621
|
+
}
|
3608
3622
|
/**
|
3609
3623
|
* {@license:restricted@}
|
3610
3624
|
*
|
@@ -3617,6 +3631,15 @@ class Client {
|
|
3617
3631
|
return yield this.pup(() => WAPI.getMyStatusArray());
|
3618
3632
|
});
|
3619
3633
|
}
|
3634
|
+
/**
|
3635
|
+
* @deprecated
|
3636
|
+
* Alias for deleteStory
|
3637
|
+
*/
|
3638
|
+
getMyStatusArray() {
|
3639
|
+
return __awaiter(this, void 0, void 0, function* () {
|
3640
|
+
return yield this.getMyStoryArray();
|
3641
|
+
});
|
3642
|
+
}
|
3620
3643
|
/**
|
3621
3644
|
* {@license:restricted@}
|
3622
3645
|
*
|
package/dist/api/model/events.js
CHANGED
@@ -51,7 +51,7 @@ const tools_1 = require("../utils/tools");
|
|
51
51
|
const script_preloader_1 = require("./script_preloader");
|
52
52
|
const patch_manager_1 = require("./patch_manager");
|
53
53
|
const init_patch_1 = require("./init_patch");
|
54
|
-
let browser, wapiInjected = false,
|
54
|
+
let browser, wapiInjected = false, pageCache = undefined, wapiAttempts = 1;
|
55
55
|
exports.BROWSER_START_TS = 0;
|
56
56
|
function initPage(sessionId, config, qrManager, customUserAgent, spinner, _page, skipAuth) {
|
57
57
|
var _a, _b, _c, _d, _e;
|
@@ -132,32 +132,50 @@ function initPage(sessionId, config, qrManager, customUserAgent, spinner, _page,
|
|
132
132
|
if (proxyAddr) {
|
133
133
|
proxy = (yield Promise.resolve().then(() => __importStar(require('smashah-puppeteer-page-proxy')))).default;
|
134
134
|
}
|
135
|
+
/**
|
136
|
+
* Detect a locally cached page
|
137
|
+
*/
|
138
|
+
if (process.env.WA_LOCAL_PAGE_CACHE) {
|
139
|
+
const localPageCacheExists = yield (0, tools_1.pathExists)(process.env.WA_LOCAL_PAGE_CACHE, true);
|
140
|
+
logging_1.log.info(`Local page cache env var set: ${process.env.WA_LOCAL_PAGE_CACHE} ${localPageCacheExists}`);
|
141
|
+
if (localPageCacheExists) {
|
142
|
+
logging_1.log.info(`Local page cache file exists. Loading...`);
|
143
|
+
pageCache = yield fs.readFile(process.env.WA_LOCAL_PAGE_CACHE, "utf8");
|
144
|
+
}
|
145
|
+
}
|
135
146
|
if (interceptAuthentication || proxyAddr || blockCrashLogs || true) {
|
136
147
|
yield waPage.setRequestInterception(true);
|
137
148
|
waPage.on('response', (response) => __awaiter(this, void 0, void 0, function* () {
|
138
149
|
try {
|
139
150
|
if (response.request().url() == "https://web.whatsapp.com/") {
|
140
151
|
const t = yield response.text();
|
141
|
-
if (t.includes(`class="no-js"`) && t.includes(`self.`) && !
|
152
|
+
if (t.includes(`class="no-js"`) && t.includes(`self.`) && !pageCache) {
|
142
153
|
//this is a valid response, save it for later
|
143
|
-
|
154
|
+
pageCache = t;
|
144
155
|
logging_1.log.info("saving valid page to dumb cache");
|
156
|
+
/**
|
157
|
+
* Save locally
|
158
|
+
*/
|
159
|
+
if (process.env.WA_LOCAL_PAGE_CACHE) {
|
160
|
+
logging_1.log.info(`Writing page cache to local file: ${process.env.WA_LOCAL_PAGE_CACHE}`);
|
161
|
+
yield fs.writeFile(process.env.WA_LOCAL_PAGE_CACHE, pageCache);
|
162
|
+
}
|
145
163
|
}
|
146
164
|
}
|
147
165
|
}
|
148
166
|
catch (error) {
|
149
|
-
logging_1.log.error("
|
167
|
+
logging_1.log.error("page cache error", error);
|
150
168
|
}
|
151
169
|
}));
|
152
170
|
const authCompleteEv = new events_1.EvEmitter(sessionId, 'AUTH');
|
153
171
|
waPage.on('request', (request) => __awaiter(this, void 0, void 0, function* () {
|
154
172
|
//local refresh cache:
|
155
|
-
if (request.url() === "https://web.whatsapp.com/" &&
|
156
|
-
//if the
|
157
|
-
logging_1.log.info("reviving page from
|
173
|
+
if (request.url() === "https://web.whatsapp.com/" && pageCache) {
|
174
|
+
//if the pageCache isn't set and this response includes
|
175
|
+
logging_1.log.info("reviving page from page cache");
|
158
176
|
return yield request.respond({
|
159
177
|
status: 200,
|
160
|
-
body:
|
178
|
+
body: pageCache
|
161
179
|
});
|
162
180
|
}
|
163
181
|
if (interceptAuthentication &&
|
package/package.json
CHANGED