fix: requestPairingCode method
This commit is contained in:
parent
570d7b3be7
commit
532b236442
2 changed files with 18 additions and 2 deletions
|
|
@ -1,6 +1,6 @@
|
||||||
const qr = require('qr-image')
|
const qr = require('qr-image')
|
||||||
const { setupSession, deleteSession, reloadSession, validateSession, flushSessions, destroySession, sessions } = require('../sessions')
|
const { setupSession, deleteSession, reloadSession, validateSession, flushSessions, destroySession, sessions } = require('../sessions')
|
||||||
const { sendErrorResponse, waitForNestedObject } = require('../utils')
|
const { sendErrorResponse, waitForNestedObject, exposeFunctionIfAbsent } = require('../utils')
|
||||||
const { logger } = require('../logger')
|
const { logger } = require('../logger')
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
@ -369,6 +369,11 @@ const requestPairingCode = async (req, res) => {
|
||||||
if (!client) {
|
if (!client) {
|
||||||
return res.json({ success: false, message: 'session_not_found' })
|
return res.json({ success: false, message: 'session_not_found' })
|
||||||
}
|
}
|
||||||
|
// hotfix https://github.com/pedroslopez/whatsapp-web.js/pull/3706
|
||||||
|
await exposeFunctionIfAbsent(client.pupPage, 'onCodeReceivedEvent', async (code) => {
|
||||||
|
client.emit('code', code)
|
||||||
|
return code
|
||||||
|
})
|
||||||
const result = await client.requestPairingCode(phoneNumber, showNotification)
|
const result = await client.requestPairingCode(phoneNumber, showNotification)
|
||||||
res.json({ success: true, result })
|
res.json({ success: true, result })
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
|
|
|
||||||
13
src/utils.js
13
src/utils.js
|
|
@ -63,6 +63,16 @@ const sleep = function (ms) {
|
||||||
return new Promise(resolve => setTimeout(resolve, ms))
|
return new Promise(resolve => setTimeout(resolve, ms))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const exposeFunctionIfAbsent = async (page, name, fn) => {
|
||||||
|
const exist = await page.evaluate((name) => {
|
||||||
|
return !!window[name]
|
||||||
|
}, name)
|
||||||
|
if (exist) {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
await page.exposeFunction(name, fn)
|
||||||
|
}
|
||||||
|
|
||||||
module.exports = {
|
module.exports = {
|
||||||
triggerWebhook,
|
triggerWebhook,
|
||||||
sendErrorResponse,
|
sendErrorResponse,
|
||||||
|
|
@ -70,5 +80,6 @@ module.exports = {
|
||||||
isEventEnabled,
|
isEventEnabled,
|
||||||
sendMessageSeenStatus,
|
sendMessageSeenStatus,
|
||||||
decodeBase64,
|
decodeBase64,
|
||||||
sleep
|
sleep,
|
||||||
|
exposeFunctionIfAbsent
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue