mirror of
https://github.com/cheveguerra/whatsapp-web.js.git
synced 2026-04-20 12:39:20 +00:00
feat: allow setting timeouts via options
This commit is contained in:
@@ -66,7 +66,7 @@ class Client extends EventEmitter {
|
|||||||
if (this.options.session) {
|
if (this.options.session) {
|
||||||
// Check if session restore was successfull
|
// Check if session restore was successfull
|
||||||
try {
|
try {
|
||||||
await page.waitForSelector(KEEP_PHONE_CONNECTED_IMG_SELECTOR, { timeout: 45000 });
|
await page.waitForSelector(KEEP_PHONE_CONNECTED_IMG_SELECTOR, { timeout: this.options.authTimeoutMs });
|
||||||
} catch (err) {
|
} catch (err) {
|
||||||
if (err.name === 'TimeoutError') {
|
if (err.name === 'TimeoutError') {
|
||||||
/**
|
/**
|
||||||
@@ -99,7 +99,7 @@ class Client extends EventEmitter {
|
|||||||
// Wait for QR Code
|
// Wait for QR Code
|
||||||
|
|
||||||
const QR_CANVAS_SELECTOR = 'canvas';
|
const QR_CANVAS_SELECTOR = 'canvas';
|
||||||
await page.waitForSelector(QR_CANVAS_SELECTOR, { timeout: 45000 });
|
await page.waitForSelector(QR_CANVAS_SELECTOR, { timeout: this.options.qrTimeoutMs });
|
||||||
const qrImgData = await page.$eval(QR_CANVAS_SELECTOR, canvas => [].slice.call(canvas.getContext('2d').getImageData(0, 0, 264, 264).data));
|
const qrImgData = await page.$eval(QR_CANVAS_SELECTOR, canvas => [].slice.call(canvas.getContext('2d').getImageData(0, 0, 264, 264).data));
|
||||||
const qr = jsQR(qrImgData, 264, 264).data;
|
const qr = jsQR(qrImgData, 264, 264).data;
|
||||||
/**
|
/**
|
||||||
@@ -110,7 +110,7 @@ class Client extends EventEmitter {
|
|||||||
this.emit(Events.QR_RECEIVED, qr);
|
this.emit(Events.QR_RECEIVED, qr);
|
||||||
};
|
};
|
||||||
getQrCode();
|
getQrCode();
|
||||||
let retryInterval = setInterval(getQrCode, 20000); // check for qr code every 20 seconds
|
let retryInterval = setInterval(getQrCode, this.options.qrRefreshIntervalMs);
|
||||||
|
|
||||||
// Wait for code scan
|
// Wait for code scan
|
||||||
await page.waitForSelector(KEEP_PHONE_CONNECTED_IMG_SELECTOR, { timeout: 0 });
|
await page.waitForSelector(KEEP_PHONE_CONNECTED_IMG_SELECTOR, { timeout: 0 });
|
||||||
|
|||||||
@@ -8,7 +8,10 @@ exports.DefaultOptions = {
|
|||||||
puppeteer: {
|
puppeteer: {
|
||||||
headless: true
|
headless: true
|
||||||
},
|
},
|
||||||
session: false
|
session: false,
|
||||||
|
qrTimeoutMs: 45000,
|
||||||
|
qrRefreshIntervalMs: 20000,
|
||||||
|
authTimeoutMs: 45000,
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
Reference in New Issue
Block a user