@wppconnect/server 1.1.14 → 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
|
@@ -68,7 +68,7 @@ var _sessionUtil = require("./sessionUtil"); /*
|
|
|
68
68
|
async sendMessage(client, message) {
|
|
69
69
|
if (message.isGroupMsg || message.chatId.indexOf('@broadcast') > 0) return;
|
|
70
70
|
let contact = await this.createContact(message);
|
|
71
|
-
let conversation = await this.createConversation(contact, message.
|
|
71
|
+
let conversation = await this.createConversation(contact, message.chatId.split('@')[0]);
|
|
72
72
|
|
|
73
73
|
try {
|
|
74
74
|
if (
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/util/chatWootClient.js"],"names":["chatWootClient","constructor","config","session","mobile_name","mobile_number","sender","pushname","id","account_id","inbox_id","api","axios","create","baseURL","headers","api_access_token","token","eventEmitter","on","qrCode","urlCode","client","setTimeout","sendMessage","chatId","type","timestamp","mimetype","caption","replace","status","body","message","isGroupMsg","indexOf","contact","createContact","conversation","createConversation","extension","mime","filename","b64","buffer","decryptFile","toString","mediaData","Buffer","from","data","FormData","append","contentType","configPost","Object","assign","getHeaders","result","post","content","message_type","e","findContact","query","get","console","log","name","isMyContact","formattedName","phone_number","user","split","meta","count","payload","findConversation","find","source_id","contact_id"],"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 axios from 'axios';\nimport { default as FormData } from 'form-data';\nimport mime from 'mime-types';\nimport toStream from 'buffer-to-stream';\nimport { eventEmitter } from './sessionUtil';\n\nexport default class chatWootClient {\n constructor(config, session) {\n this.config = config;\n this.mobile_name = this.config.mobile_name ? this.config.mobile_name : `WPPConnect`;\n this.mobile_number = this.config.mobile_number ? this.config.mobile_number : '5511999999999';\n this.sender = {\n pushname: this.mobile_name,\n id: this.mobile_number,\n };\n this.account_id = this.config.account_id;\n this.inbox_id = this.config.inbox_id;\n this.api = axios.create({\n baseURL: this.config.baseURL,\n headers: { 'Content-Type': 'application/json;charset=utf-8', api_access_token: this.config.token },\n });\n\n //assina o evento do qrcode\n eventEmitter.on(`qrcode-${session}`, (qrCode, urlCode, client) => {\n setTimeout(async () => {\n this.sendMessage(client, {\n sender: this.sender,\n chatId: '',\n type: 'image',\n timestamp: 'qrcode',\n mimetype: 'image/png',\n caption: 'leia o qrCode',\n qrCode: qrCode.replace('data:image/png;base64,', ''),\n });\n }, 1000);\n });\n\n //assiona o evento do status\n eventEmitter.on(`status-${session}`, (client, status) => {\n this.sendMessage(client, {\n sender: this.sender,\n chatId: '',\n body: `wppconnect status: ${status} `,\n });\n });\n\n //assina o evento de mensagem\n eventEmitter.on(`mensagem-${session}`, (client, message) => {\n this.sendMessage(client, message);\n });\n }\n\n async sendMessage(client, message) {\n if (message.isGroupMsg || message.chatId.indexOf('@broadcast') > 0) return;\n let contact = await this.createContact(message);\n let conversation = await this.createConversation(contact, message.id);\n\n try {\n if (\n message.type == 'image' ||\n message.type == 'video' ||\n message.type == 'in' ||\n message.type == 'document' ||\n message.type == 'ptt' ||\n message.type == 'audio' ||\n message.type == 'sticker'\n ) {\n if (message.mimetype == 'image/webp') message.mimetype = 'image/jpeg';\n const extension = mime.extension(message.mimetype);\n let filename = `${message.timestamp}.${extension}`;\n let b64;\n\n if (message.qrCode) b64 = message.qrCode;\n else {\n let buffer = await client.decryptFile(message);\n b64 = await buffer.toString('base64');\n }\n\n let mediaData = Buffer.from(b64, 'base64');\n\n let data = new FormData();\n if (message.caption) {\n data.append('content', message.caption);\n }\n data.append('attachments[]', toStream(mediaData), {\n filename: filename,\n contentType: message.mimetype,\n });\n data.append('message_type', 'incoming');\n data.append('private', 'false');\n\n let configPost = Object.assign(\n {},\n {\n baseURL: this.config.baseURL,\n headers: {\n 'Content-Type': 'application/json;charset=utf-8',\n api_access_token: this.config.token,\n },\n }\n );\n configPost.headers = { ...configPost.headers, ...data.getHeaders() };\n\n var result = await axios.post(\n `api/v1/accounts/${this.account_id}/conversations/${conversation.id}/messages`,\n data,\n configPost\n );\n\n return result;\n } else {\n let body = {\n content: message.body,\n message_type: 'incoming',\n };\n const { data } = await this.api.post(\n `api/v1/accounts/${this.account_id}/conversations/${conversation.id}/messages`,\n body\n );\n return data;\n }\n } catch (e) {\n return null;\n }\n }\n\n async findContact(query) {\n try {\n const { data } = await this.api.get(`api/v1/accounts/${this.account_id}/contacts/search/?q=${query}`);\n return data;\n } catch (e) {\n console.log(e);\n return null;\n }\n }\n\n async createContact(message) {\n let body = {\n inbox_id: this.inbox_id,\n name: message.sender.isMyContact\n ? message.sender.formattedName\n : message.sender.pushname || message.sender.formattedName,\n phone_number: typeof message.sender.id == 'object' ? message.sender.id.user : message.sender.id.split('@')[0],\n };\n body.phone_number = `+${body.phone_number}`;\n var contact = await this.findContact(body.phone_number.replace('+', ''));\n if (contact && contact.meta.count > 0) return contact.payload[0];\n\n try {\n const data = await this.api.post(`api/v1/accounts/${this.account_id}/contacts`, body);\n return data.data.payload.contact;\n } catch (e) {\n console.log(e);\n return null;\n }\n }\n\n async findConversation(contact) {\n try {\n const { data } = await this.api.get(\n `api/v1/accounts/${this.account_id}/conversations?inbox_id=${this.inbox_id}&status=all`\n );\n return data.data.payload.find((e) => e.meta.sender.id == contact.id && e.status != 'resolved');\n } catch (e) {\n console.log(e);\n return null;\n }\n }\n\n async createConversation(contact, source_id) {\n var conversation = await this.findConversation(contact);\n if (conversation) return conversation;\n\n let body = {\n source_id: source_id,\n inbox_id: this.inbox_id,\n contact_id: contact.id,\n status: 'open',\n };\n\n try {\n const { data } = await this.api.post(`api/v1/accounts/${this.account_id}/conversations`, body);\n return data;\n } catch (e) {\n console.log(e);\n return null;\n }\n }\n}\n"],"file":"chatWootClient.js"}
|
|
1
|
+
{"version":3,"sources":["../../src/util/chatWootClient.js"],"names":["chatWootClient","constructor","config","session","mobile_name","mobile_number","sender","pushname","id","account_id","inbox_id","api","axios","create","baseURL","headers","api_access_token","token","eventEmitter","on","qrCode","urlCode","client","setTimeout","sendMessage","chatId","type","timestamp","mimetype","caption","replace","status","body","message","isGroupMsg","indexOf","contact","createContact","conversation","createConversation","split","extension","mime","filename","b64","buffer","decryptFile","toString","mediaData","Buffer","from","data","FormData","append","contentType","configPost","Object","assign","getHeaders","result","post","content","message_type","e","findContact","query","get","console","log","name","isMyContact","formattedName","phone_number","user","meta","count","payload","findConversation","find","source_id","contact_id"],"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 axios from 'axios';\nimport { default as FormData } from 'form-data';\nimport mime from 'mime-types';\nimport toStream from 'buffer-to-stream';\nimport { eventEmitter } from './sessionUtil';\n\nexport default class chatWootClient {\n constructor(config, session) {\n this.config = config;\n this.mobile_name = this.config.mobile_name ? this.config.mobile_name : `WPPConnect`;\n this.mobile_number = this.config.mobile_number ? this.config.mobile_number : '5511999999999';\n this.sender = {\n pushname: this.mobile_name,\n id: this.mobile_number,\n };\n this.account_id = this.config.account_id;\n this.inbox_id = this.config.inbox_id;\n this.api = axios.create({\n baseURL: this.config.baseURL,\n headers: { 'Content-Type': 'application/json;charset=utf-8', api_access_token: this.config.token },\n });\n\n //assina o evento do qrcode\n eventEmitter.on(`qrcode-${session}`, (qrCode, urlCode, client) => {\n setTimeout(async () => {\n this.sendMessage(client, {\n sender: this.sender,\n chatId: '',\n type: 'image',\n timestamp: 'qrcode',\n mimetype: 'image/png',\n caption: 'leia o qrCode',\n qrCode: qrCode.replace('data:image/png;base64,', ''),\n });\n }, 1000);\n });\n\n //assiona o evento do status\n eventEmitter.on(`status-${session}`, (client, status) => {\n this.sendMessage(client, {\n sender: this.sender,\n chatId: '',\n body: `wppconnect status: ${status} `,\n });\n });\n\n //assina o evento de mensagem\n eventEmitter.on(`mensagem-${session}`, (client, message) => {\n this.sendMessage(client, message);\n });\n }\n\n async sendMessage(client, message) {\n if (message.isGroupMsg || message.chatId.indexOf('@broadcast') > 0) return;\n let contact = await this.createContact(message);\n let conversation = await this.createConversation(contact, message.chatId.split('@')[0]);\n\n try {\n if (\n message.type == 'image' ||\n message.type == 'video' ||\n message.type == 'in' ||\n message.type == 'document' ||\n message.type == 'ptt' ||\n message.type == 'audio' ||\n message.type == 'sticker'\n ) {\n if (message.mimetype == 'image/webp') message.mimetype = 'image/jpeg';\n const extension = mime.extension(message.mimetype);\n let filename = `${message.timestamp}.${extension}`;\n let b64;\n\n if (message.qrCode) b64 = message.qrCode;\n else {\n let buffer = await client.decryptFile(message);\n b64 = await buffer.toString('base64');\n }\n\n let mediaData = Buffer.from(b64, 'base64');\n\n let data = new FormData();\n if (message.caption) {\n data.append('content', message.caption);\n }\n data.append('attachments[]', toStream(mediaData), {\n filename: filename,\n contentType: message.mimetype,\n });\n data.append('message_type', 'incoming');\n data.append('private', 'false');\n\n let configPost = Object.assign(\n {},\n {\n baseURL: this.config.baseURL,\n headers: {\n 'Content-Type': 'application/json;charset=utf-8',\n api_access_token: this.config.token,\n },\n }\n );\n configPost.headers = { ...configPost.headers, ...data.getHeaders() };\n\n var result = await axios.post(\n `api/v1/accounts/${this.account_id}/conversations/${conversation.id}/messages`,\n data,\n configPost\n );\n\n return result;\n } else {\n let body = {\n content: message.body,\n message_type: 'incoming',\n };\n const { data } = await this.api.post(\n `api/v1/accounts/${this.account_id}/conversations/${conversation.id}/messages`,\n body\n );\n return data;\n }\n } catch (e) {\n return null;\n }\n }\n\n async findContact(query) {\n try {\n const { data } = await this.api.get(`api/v1/accounts/${this.account_id}/contacts/search/?q=${query}`);\n return data;\n } catch (e) {\n console.log(e);\n return null;\n }\n }\n\n async createContact(message) {\n let body = {\n inbox_id: this.inbox_id,\n name: message.sender.isMyContact\n ? message.sender.formattedName\n : message.sender.pushname || message.sender.formattedName,\n phone_number: typeof message.sender.id == 'object' ? message.sender.id.user : message.sender.id.split('@')[0],\n };\n body.phone_number = `+${body.phone_number}`;\n var contact = await this.findContact(body.phone_number.replace('+', ''));\n if (contact && contact.meta.count > 0) return contact.payload[0];\n\n try {\n const data = await this.api.post(`api/v1/accounts/${this.account_id}/contacts`, body);\n return data.data.payload.contact;\n } catch (e) {\n console.log(e);\n return null;\n }\n }\n\n async findConversation(contact) {\n try {\n const { data } = await this.api.get(\n `api/v1/accounts/${this.account_id}/conversations?inbox_id=${this.inbox_id}&status=all`\n );\n return data.data.payload.find((e) => e.meta.sender.id == contact.id && e.status != 'resolved');\n } catch (e) {\n console.log(e);\n return null;\n }\n }\n\n async createConversation(contact, source_id) {\n var conversation = await this.findConversation(contact);\n if (conversation) return conversation;\n\n let body = {\n source_id: source_id,\n inbox_id: this.inbox_id,\n contact_id: contact.id,\n status: 'open',\n };\n\n try {\n const { data } = await this.api.post(`api/v1/accounts/${this.account_id}/conversations`, body);\n return data;\n } catch (e) {\n console.log(e);\n return null;\n }\n }\n}\n"],"file":"chatWootClient.js"}
|
|
@@ -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",
|
|
@@ -29,11 +29,11 @@
|
|
|
29
29
|
}
|
|
30
30
|
},
|
|
31
31
|
"dependencies": {
|
|
32
|
-
"@wppconnect-team/wppconnect": "^1.
|
|
32
|
+
"@wppconnect-team/wppconnect": "^1.12.2",
|
|
33
33
|
"axios": "^0.24.0",
|
|
34
34
|
"bcrypt": "^5.0.1",
|
|
35
35
|
"cors": "^2.8.5",
|
|
36
|
-
"dotenv": "^
|
|
36
|
+
"dotenv": "^11.0.0",
|
|
37
37
|
"express": "^4.17.1",
|
|
38
38
|
"form-data": "^4.0.0",
|
|
39
39
|
"express-query-boolean": "^2.0.0",
|
|
@@ -53,9 +53,9 @@
|
|
|
53
53
|
"@babel/node": "^7.0.0",
|
|
54
54
|
"@babel/plugin-transform-runtime": "^7.14.5",
|
|
55
55
|
"@babel/preset-env": "^7.14.5",
|
|
56
|
-
"@commitlint/cli": "^
|
|
57
|
-
"@commitlint/config-conventional": "^
|
|
58
|
-
"@commitlint/cz-commitlint": "^
|
|
56
|
+
"@commitlint/cli": "^16.0.0",
|
|
57
|
+
"@commitlint/config-conventional": "^16.0.0",
|
|
58
|
+
"@commitlint/cz-commitlint": "^16.0.0",
|
|
59
59
|
"aws-sdk": "^2.903.0",
|
|
60
60
|
"commitizen": "^4.2.4",
|
|
61
61
|
"conventional-changelog-cli": "^2.1.1",
|