@wppconnect/server 1.1.17 → 1.1.18
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/CHANGELOG.md
CHANGED
|
@@ -59,7 +59,8 @@ var _chatWootClient = _interopRequireDefault(require("./chatWootClient")); /*
|
|
|
59
59
|
if (statusFind === 'autocloseCalled' || statusFind === 'desconnectedMobile') {
|
|
60
60
|
client.status = 'CLOSED';
|
|
61
61
|
client.qrcode = null;
|
|
62
|
-
client.
|
|
62
|
+
client.close();
|
|
63
|
+
clientsArray[session] = undefined;
|
|
63
64
|
}
|
|
64
65
|
(0, _functions.callWebHook)(client, req, 'status-find', { status: statusFind });
|
|
65
66
|
req.logger.info(statusFind + '\n\n');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/util/createSessionUtil.js"],"names":["CreateSessionUtil","startChatWootClient","client","config","chatWoot","_chatWootClient","chatWootClient","session","createSessionUtil","req","clientsArray","res","getClient","status","body","tokenStore","Factory","myTokenStore","createTokenStory","getToken","serverOptions","customUserDataDir","createOptions","puppeteerOptions","userDataDir","wppClient","Object","assign","deviceName","catchQR","base64Qr","asciiQR","attempt","urlCode","exportQR","statusFind","eventEmitter","emit","qrcode","waPage","close","logger","info","error","start","webhook","onParticipantsChanged","e","opendata","qrCode","urlcode","replace","imageBuffer","Buffer","from","io","data","toString","_headerSent","json","isConnected","message","checkStateSession","listenMessages","listenAcks","onPresenceChanged","onStateChange","state","conflits","SocketState","CONFLICT","includes","useHere","onMessage","type","onLiveLocation","sender","id","location","onAnyMessage","response","onIncomingCall","call","onAck","ack","presenceChangedEvent","encodeFunction","JSON","stringify","decodeFunction","text","object","parse"],"mappings":"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","sourcesContent":["/*\n * Copyright 2021 WPPConnect Team\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport { clientsArray, eventEmitter } from './sessionUtil';\nimport { create, SocketState } from '@wppconnect-team/wppconnect';\nimport { callWebHook, startHelper } from './functions';\nimport { download } from '../controller/sessionController';\nimport Factory from './tokenStore/factory';\nimport chatWootClient from './chatWootClient';\n\nexport default class CreateSessionUtil {\n startChatWootClient(client) {\n if (client.config.chatWoot && !client._chatWootClient)\n client._chatWootClient = new chatWootClient(client.config.chatWoot, client.session);\n return client._chatWootClient;\n }\n\n async createSessionUtil(req, clientsArray, session, res) {\n try {\n let client = this.getClient(session);\n if (client.status != null && client.status !== 'CLOSED') return;\n client.status = 'INITIALIZING';\n client.config = req.body;\n\n const tokenStore = new Factory();\n const myTokenStore = tokenStore.createTokenStory(client);\n\n await myTokenStore.getToken(session);\n this.startChatWootClient(client);\n\n if (req.serverOptions.customUserDataDir) {\n req.serverOptions.createOptions.puppeteerOptions = {\n userDataDir: req.serverOptions.customUserDataDir + session,\n };\n }\n\n let wppClient = await create(\n Object.assign({}, { tokenStore: myTokenStore }, req.serverOptions.createOptions, {\n session: session,\n deviceName: req.serverOptions.deviceName,\n catchQR: (base64Qr, asciiQR, attempt, urlCode) => {\n this.exportQR(req, base64Qr, urlCode, client, res);\n },\n statusFind: (statusFind) => {\n try {\n eventEmitter.emit(`status-${client.session}`, client, statusFind);\n if (statusFind === 'autocloseCalled' || statusFind === 'desconnectedMobile') {\n client.status = 'CLOSED';\n client.qrcode = null;\n client.waPage.close();\n }\n callWebHook(client, req, 'status-find', { status: statusFind });\n req.logger.info(statusFind + '\\n\\n');\n } catch (error) {}\n },\n })\n );\n\n client = clientsArray[session] = Object.assign(wppClient, client);\n await this.start(req, client);\n\n if (req.serverOptions.webhook.onParticipantsChanged) {\n await this.onParticipantsChanged(req, client);\n }\n } catch (e) {\n req.logger.error(e);\n }\n }\n\n async opendata(req, session, res) {\n await this.createSessionUtil(req, clientsArray, session, res);\n }\n\n exportQR(req, qrCode, urlCode, client, res) {\n eventEmitter.emit(`qrcode-${client.session}`, qrCode, urlCode, client);\n Object.assign(client, {\n status: 'QRCODE',\n qrcode: qrCode,\n urlcode: urlCode,\n });\n\n qrCode = qrCode.replace('data:image/png;base64,', '');\n const imageBuffer = Buffer.from(qrCode, 'base64');\n\n req.io.emit('qrCode', {\n data: 'data:image/png;base64,' + imageBuffer.toString('base64'),\n session: client.session,\n });\n\n callWebHook(client, req, 'qrcode', { qrcode: qrCode, urlcode: urlCode });\n if (res && !res._headerSent) res.status(200).json({ status: 'qrcode', qrcode: qrCode, urlcode: urlCode });\n }\n\n async onParticipantsChanged(req, client) {\n await client.isConnected();\n await client.onParticipantsChanged((message) => {\n callWebHook(client, req, 'onparticipantschanged', message);\n });\n }\n\n async start(req, client) {\n try {\n await client.isConnected();\n Object.assign(client, { status: 'CONNECTED', qrcode: null });\n\n req.logger.info(`Started Session: ${client.session}`);\n //callWebHook(client, req, 'session-logged', { status: 'CONNECTED'});\n req.io.emit('session-logged', { status: true, session: client.session });\n startHelper(client, req);\n } catch (error) {\n req.logger.error(error);\n req.io.emit('session-error', client.session);\n }\n\n await this.checkStateSession(client, req);\n await this.listenMessages(client, req);\n\n if (req.serverOptions.webhook.listenAcks) {\n await this.listenAcks(client, req);\n }\n\n if (req.serverOptions.webhook.onPresenceChanged) {\n await this.onPresenceChanged(client, req);\n }\n }\n\n async checkStateSession(client, req) {\n await client.onStateChange((state) => {\n req.logger.info(`State Change ${state}: ${client.session}`);\n const conflits = [SocketState.CONFLICT];\n\n if (conflits.includes(state)) {\n client.useHere();\n }\n });\n }\n\n async listenMessages(client, req) {\n await client.onMessage(async (message) => {\n eventEmitter.emit(`mensagem-${client.session}`, client, message);\n callWebHook(client, req, 'onmessage', message);\n if (message.type === 'location')\n client.onLiveLocation(message.sender.id, (location) => {\n callWebHook(client, req, 'location', location);\n });\n });\n\n await client.onAnyMessage((message) => {\n message.session = client.session;\n\n if (message.type === 'sticker') {\n download(message, client, req.logger);\n }\n\n req.io.emit('received-message', { response: message });\n });\n\n await client.onIncomingCall(async (call) => {\n callWebHook(client, req, 'incomingcall', call);\n });\n }\n\n async listenAcks(client, req) {\n await client.onAck(async (ack) => {\n callWebHook(client, req, 'onack', ack);\n });\n }\n\n async onPresenceChanged(client, req) {\n await client.onPresenceChanged(async (presenceChangedEvent) => {\n callWebHook(client, req, 'onpresencechanged', presenceChangedEvent);\n });\n }\n\n encodeFunction(data, webhook) {\n data.webhook = webhook;\n return JSON.stringify(data);\n }\n\n decodeFunction(text, client) {\n let object = JSON.parse(text);\n if (object.webhook && !client.webhook) client.webhook = object.webhook;\n delete object.webhook;\n return object;\n }\n\n getClient(session) {\n let client = clientsArray[session];\n\n if (!client) client = clientsArray[session] = { status: null, session: session };\n return client;\n }\n}\n"],"file":"createSessionUtil.js"}
|
|
1
|
+
{"version":3,"sources":["../../src/util/createSessionUtil.js"],"names":["CreateSessionUtil","startChatWootClient","client","config","chatWoot","_chatWootClient","chatWootClient","session","createSessionUtil","req","clientsArray","res","getClient","status","body","tokenStore","Factory","myTokenStore","createTokenStory","getToken","serverOptions","customUserDataDir","createOptions","puppeteerOptions","userDataDir","wppClient","Object","assign","deviceName","catchQR","base64Qr","asciiQR","attempt","urlCode","exportQR","statusFind","eventEmitter","emit","qrcode","close","undefined","logger","info","error","start","webhook","onParticipantsChanged","e","opendata","qrCode","urlcode","replace","imageBuffer","Buffer","from","io","data","toString","_headerSent","json","isConnected","message","checkStateSession","listenMessages","listenAcks","onPresenceChanged","onStateChange","state","conflits","SocketState","CONFLICT","includes","useHere","onMessage","type","onLiveLocation","sender","id","location","onAnyMessage","response","onIncomingCall","call","onAck","ack","presenceChangedEvent","encodeFunction","JSON","stringify","decodeFunction","text","object","parse"],"mappings":"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","sourcesContent":["/*\n * Copyright 2021 WPPConnect Team\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport { clientsArray, eventEmitter } from './sessionUtil';\nimport { create, SocketState } from '@wppconnect-team/wppconnect';\nimport { callWebHook, startHelper } from './functions';\nimport { download } from '../controller/sessionController';\nimport Factory from './tokenStore/factory';\nimport chatWootClient from './chatWootClient';\n\nexport default class CreateSessionUtil {\n startChatWootClient(client) {\n if (client.config.chatWoot && !client._chatWootClient)\n client._chatWootClient = new chatWootClient(client.config.chatWoot, client.session);\n return client._chatWootClient;\n }\n\n async createSessionUtil(req, clientsArray, session, res) {\n try {\n let client = this.getClient(session);\n if (client.status != null && client.status !== 'CLOSED') return;\n client.status = 'INITIALIZING';\n client.config = req.body;\n\n const tokenStore = new Factory();\n const myTokenStore = tokenStore.createTokenStory(client);\n\n await myTokenStore.getToken(session);\n this.startChatWootClient(client);\n\n if (req.serverOptions.customUserDataDir) {\n req.serverOptions.createOptions.puppeteerOptions = {\n userDataDir: req.serverOptions.customUserDataDir + session,\n };\n }\n\n let wppClient = await create(\n Object.assign({}, { tokenStore: myTokenStore }, req.serverOptions.createOptions, {\n session: session,\n deviceName: req.serverOptions.deviceName,\n catchQR: (base64Qr, asciiQR, attempt, urlCode) => {\n this.exportQR(req, base64Qr, urlCode, client, res);\n },\n statusFind: (statusFind) => {\n try {\n eventEmitter.emit(`status-${client.session}`, client, statusFind);\n if (statusFind === 'autocloseCalled' || statusFind === 'desconnectedMobile') {\n client.status = 'CLOSED';\n client.qrcode = null;\n client.close();\n clientsArray[session] = undefined;\n }\n callWebHook(client, req, 'status-find', { status: statusFind });\n req.logger.info(statusFind + '\\n\\n');\n } catch (error) {}\n },\n })\n );\n\n client = clientsArray[session] = Object.assign(wppClient, client);\n await this.start(req, client);\n\n if (req.serverOptions.webhook.onParticipantsChanged) {\n await this.onParticipantsChanged(req, client);\n }\n } catch (e) {\n req.logger.error(e);\n }\n }\n\n async opendata(req, session, res) {\n await this.createSessionUtil(req, clientsArray, session, res);\n }\n\n exportQR(req, qrCode, urlCode, client, res) {\n eventEmitter.emit(`qrcode-${client.session}`, qrCode, urlCode, client);\n Object.assign(client, {\n status: 'QRCODE',\n qrcode: qrCode,\n urlcode: urlCode,\n });\n\n qrCode = qrCode.replace('data:image/png;base64,', '');\n const imageBuffer = Buffer.from(qrCode, 'base64');\n\n req.io.emit('qrCode', {\n data: 'data:image/png;base64,' + imageBuffer.toString('base64'),\n session: client.session,\n });\n\n callWebHook(client, req, 'qrcode', { qrcode: qrCode, urlcode: urlCode });\n if (res && !res._headerSent) res.status(200).json({ status: 'qrcode', qrcode: qrCode, urlcode: urlCode });\n }\n\n async onParticipantsChanged(req, client) {\n await client.isConnected();\n await client.onParticipantsChanged((message) => {\n callWebHook(client, req, 'onparticipantschanged', message);\n });\n }\n\n async start(req, client) {\n try {\n await client.isConnected();\n Object.assign(client, { status: 'CONNECTED', qrcode: null });\n\n req.logger.info(`Started Session: ${client.session}`);\n //callWebHook(client, req, 'session-logged', { status: 'CONNECTED'});\n req.io.emit('session-logged', { status: true, session: client.session });\n startHelper(client, req);\n } catch (error) {\n req.logger.error(error);\n req.io.emit('session-error', client.session);\n }\n\n await this.checkStateSession(client, req);\n await this.listenMessages(client, req);\n\n if (req.serverOptions.webhook.listenAcks) {\n await this.listenAcks(client, req);\n }\n\n if (req.serverOptions.webhook.onPresenceChanged) {\n await this.onPresenceChanged(client, req);\n }\n }\n\n async checkStateSession(client, req) {\n await client.onStateChange((state) => {\n req.logger.info(`State Change ${state}: ${client.session}`);\n const conflits = [SocketState.CONFLICT];\n\n if (conflits.includes(state)) {\n client.useHere();\n }\n });\n }\n\n async listenMessages(client, req) {\n await client.onMessage(async (message) => {\n eventEmitter.emit(`mensagem-${client.session}`, client, message);\n callWebHook(client, req, 'onmessage', message);\n if (message.type === 'location')\n client.onLiveLocation(message.sender.id, (location) => {\n callWebHook(client, req, 'location', location);\n });\n });\n\n await client.onAnyMessage((message) => {\n message.session = client.session;\n\n if (message.type === 'sticker') {\n download(message, client, req.logger);\n }\n\n req.io.emit('received-message', { response: message });\n });\n\n await client.onIncomingCall(async (call) => {\n callWebHook(client, req, 'incomingcall', call);\n });\n }\n\n async listenAcks(client, req) {\n await client.onAck(async (ack) => {\n callWebHook(client, req, 'onack', ack);\n });\n }\n\n async onPresenceChanged(client, req) {\n await client.onPresenceChanged(async (presenceChangedEvent) => {\n callWebHook(client, req, 'onpresencechanged', presenceChangedEvent);\n });\n }\n\n encodeFunction(data, webhook) {\n data.webhook = webhook;\n return JSON.stringify(data);\n }\n\n decodeFunction(text, client) {\n let object = JSON.parse(text);\n if (object.webhook && !client.webhook) client.webhook = object.webhook;\n delete object.webhook;\n return object;\n }\n\n getClient(session) {\n let client = clientsArray[session];\n\n if (!client) client = clientsArray[session] = { status: null, session: session };\n return client;\n }\n}\n"],"file":"createSessionUtil.js"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@wppconnect/server",
|
|
3
|
-
"version": "1.1.
|
|
3
|
+
"version": "1.1.18",
|
|
4
4
|
"description": "Projeto feito para autenticar a automomacao do WhatsappWeb com multi-clientes de forma dinamica. Backend feito em Nodejs(express, socketio), FrontEnd (ReactJS)",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"author": "kingaspx",
|