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 { setupSession, deleteSession, reloadSession, validateSession, flushSessions, destroySession, sessions } = require('../sessions')
|
||||
const { sendErrorResponse, waitForNestedObject } = require('../utils')
|
||||
const { sendErrorResponse, waitForNestedObject, exposeFunctionIfAbsent } = require('../utils')
|
||||
const { logger } = require('../logger')
|
||||
|
||||
/**
|
||||
|
|
@ -369,6 +369,11 @@ const requestPairingCode = async (req, res) => {
|
|||
if (!client) {
|
||||
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)
|
||||
res.json({ success: true, result })
|
||||
} 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))
|
||||
}
|
||||
|
||||
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 = {
|
||||
triggerWebhook,
|
||||
sendErrorResponse,
|
||||
|
|
@ -70,5 +80,6 @@ module.exports = {
|
|||
isEventEnabled,
|
||||
sendMessageSeenStatus,
|
||||
decodeBase64,
|
||||
sleep
|
||||
sleep,
|
||||
exposeFunctionIfAbsent
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in a new issue