mirror of
https://github.com/cheveguerra/bot-whatsapp.git
synced 2026-04-17 19:26:23 +00:00
Merge branch 'codigoencasa:dev' into dev
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@bot-whatsapp/bot",
|
||||
"version": "0.0.23-alpha.0",
|
||||
"version": "0.0.24-alpha.0",
|
||||
"description": "",
|
||||
"main": "./lib/bundle.bot.cjs",
|
||||
"scripts": {
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@bot-whatsapp/cli",
|
||||
"version": "0.0.30-alpha.0",
|
||||
"version": "0.0.31-alpha.0",
|
||||
"description": "",
|
||||
"main": "index.js",
|
||||
"devDependencies": {
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "create-bot-whatsapp",
|
||||
"version": "0.0.41-alpha.0",
|
||||
"version": "0.0.42-alpha.0",
|
||||
"description": "",
|
||||
"main": "./lib/bundle.create-bot-whatsapp.cjs",
|
||||
"files": [
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@bot-whatsapp/database",
|
||||
"version": "0.0.22-alpha.0",
|
||||
"version": "0.0.23-alpha.0",
|
||||
"description": "Esto es el conector a mysql, pg, mongo",
|
||||
"main": "./lib/mock/index.cjs",
|
||||
"keywords": [],
|
||||
|
||||
@@ -1,23 +1,20 @@
|
||||
require('dotenv').config()
|
||||
const { MongoClient } = require('mongodb')
|
||||
|
||||
const DB_URI = process.env.DB_URI || 'mongodb://0.0.0.0:27017'
|
||||
const DB_NAME = process.env.DB_NAME || 'db_bot'
|
||||
|
||||
class MongoAdapter {
|
||||
db
|
||||
listHistory = []
|
||||
|
||||
constructor() {
|
||||
credentials = { dbUri: null, dbName: null }
|
||||
constructor(_credentials) {
|
||||
this.credentials = _credentials
|
||||
this.init().then()
|
||||
}
|
||||
|
||||
init = async () => {
|
||||
try {
|
||||
const client = new MongoClient(DB_URI, {})
|
||||
const client = new MongoClient(this.credentials.dbUri, {})
|
||||
await client.connect()
|
||||
console.log('🆗 Conexión Correcta DB')
|
||||
const db = client.db(DB_NAME)
|
||||
const db = client.db(this.credentials.dbName)
|
||||
this.db = db
|
||||
return true
|
||||
} catch (e) {
|
||||
|
||||
@@ -3,7 +3,7 @@ const mysql = require('mysql2')
|
||||
class MyslAdapter {
|
||||
db
|
||||
listHistory = []
|
||||
credentials = { host: null, user: null, database: null }
|
||||
credentials = { host: null, user: null, database: null, password: null }
|
||||
|
||||
constructor(_credentials) {
|
||||
this.credentials = _credentials
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@bot-whatsapp/provider",
|
||||
"version": "0.0.28-alpha.0",
|
||||
"version": "0.0.29-alpha.0",
|
||||
"description": "Esto es el conector a Twilio, Meta, etc...",
|
||||
"main": "./lib/mock/index.cjs",
|
||||
"keywords": [],
|
||||
@@ -11,6 +11,7 @@
|
||||
],
|
||||
"dependencies": {
|
||||
"@bot-whatsapp/bot": "*",
|
||||
"combine-image": "^1.0.3",
|
||||
"qr-image": "^3.2.0"
|
||||
},
|
||||
"exports": {
|
||||
|
||||
@@ -70,7 +70,7 @@ class BaileysProvider extends ProviderClass {
|
||||
`Necesitas ayuda: https://link.codigoencasa.com/DISCORD`,
|
||||
],
|
||||
})
|
||||
baileyGenerateImage(qr)
|
||||
await baileyGenerateImage(qr)
|
||||
}
|
||||
|
||||
if (lastDisconnect?.error) {
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
const { createWriteStream } = require('fs')
|
||||
const combineImage = require('combine-image')
|
||||
const qr = require('qr-image')
|
||||
|
||||
const baileyCleanNumber = (number, full = false) => {
|
||||
@@ -7,9 +8,28 @@ const baileyCleanNumber = (number, full = false) => {
|
||||
return number
|
||||
}
|
||||
|
||||
const baileyGenerateImage = (base64) => {
|
||||
/**
|
||||
* Hace promesa el write
|
||||
* @param {*} base64
|
||||
*/
|
||||
const baileyGenerateImage = async (base64) => {
|
||||
const PATH_QR = `${process.cwd()}/qr.png`
|
||||
let qr_svg = qr.image(base64, { type: 'png', margin: 4 })
|
||||
qr_svg.pipe(createWriteStream(`${process.cwd()}/qr.png`))
|
||||
|
||||
const writeFilePromise = () =>
|
||||
new Promise((resolve, reject) => {
|
||||
const file = qr_svg.pipe(createWriteStream(PATH_QR))
|
||||
file.on('finish', () => resolve(true))
|
||||
file.on('error', reject)
|
||||
})
|
||||
|
||||
await writeFilePromise()
|
||||
|
||||
const cleanImage = await combineImage([PATH_QR], {
|
||||
margin: 15,
|
||||
color: 0xffffffff,
|
||||
})
|
||||
cleanImage.write(PATH_QR)
|
||||
}
|
||||
|
||||
const baileyIsValidNumber = (rawNumber) => {
|
||||
|
||||
@@ -49,7 +49,7 @@ class VenomProvider extends ProviderClass {
|
||||
/**
|
||||
* Generamos QR Code pra escanear con el Whatsapp
|
||||
*/
|
||||
generateQr = (qr) => {
|
||||
generateQr = async (qr) => {
|
||||
console.clear()
|
||||
this.emit('require_action', {
|
||||
instructions: [
|
||||
@@ -58,7 +58,7 @@ class VenomProvider extends ProviderClass {
|
||||
`Necesitas ayuda: https://link.codigoencasa.com/DISCORD`,
|
||||
],
|
||||
})
|
||||
venomGenerateImage(qr)
|
||||
await venomGenerateImage(qr)
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
const { writeFile } = require('fs')
|
||||
const combineImage = require('combine-image')
|
||||
|
||||
const venomCleanNumber = (number, full = false) => {
|
||||
number = number.replace('@c.us', '')
|
||||
@@ -6,7 +7,8 @@ const venomCleanNumber = (number, full = false) => {
|
||||
return number
|
||||
}
|
||||
|
||||
const venomGenerateImage = (base) => {
|
||||
const venomGenerateImage = async (base) => {
|
||||
const PATH_QR = `${process.cwd()}/qr.png`
|
||||
const matches = base.match(/^data:([A-Za-z-+\/]+);base64,(.+)$/)
|
||||
if (matches.length !== 3) {
|
||||
return new Error('Invalid input string')
|
||||
@@ -16,16 +18,21 @@ const venomGenerateImage = (base) => {
|
||||
response.type = matches[1]
|
||||
response.data = new Buffer.from(matches[2], 'base64')
|
||||
|
||||
var imageBuffer = response
|
||||
writeFile(
|
||||
`${process.cwd()}/qr.png`,
|
||||
imageBuffer['data'],
|
||||
'binary',
|
||||
(err) => {
|
||||
if (err != null) throw new Error('ERROR_QR_GENERATE')
|
||||
return
|
||||
}
|
||||
)
|
||||
const writeFilePromise = () =>
|
||||
new Promise((resolve, reject) => {
|
||||
writeFile(PATH_QR, response['data'], 'binary', (err) => {
|
||||
if (err != null) reject('ERROR_QR_GENERATE')
|
||||
resolve(true)
|
||||
})
|
||||
})
|
||||
|
||||
await writeFilePromise()
|
||||
|
||||
const cleanImage = await combineImage([PATH_QR], {
|
||||
margin: 15,
|
||||
color: 0xffffffff,
|
||||
})
|
||||
cleanImage.write(PATH_QR)
|
||||
}
|
||||
|
||||
const venomisValidNumber = (rawNumber) => {
|
||||
|
||||
@@ -57,7 +57,7 @@ class WebWhatsappProvider extends ProviderClass {
|
||||
},
|
||||
{
|
||||
event: 'qr',
|
||||
func: (qr) => {
|
||||
func: async (qr) => {
|
||||
this.emit('require_action', {
|
||||
instructions: [
|
||||
`Debes escanear el QR Code para iniciar session reivsa qr.png`,
|
||||
@@ -65,7 +65,7 @@ class WebWhatsappProvider extends ProviderClass {
|
||||
`Necesitas ayuda: https://link.codigoencasa.com/DISCORD`,
|
||||
],
|
||||
})
|
||||
wwebGenerateImage(qr)
|
||||
await wwebGenerateImage(qr)
|
||||
},
|
||||
},
|
||||
{
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
const { createWriteStream } = require('fs')
|
||||
const combineImage = require('combine-image')
|
||||
const qr = require('qr-image')
|
||||
const { tmpdir } = require('os')
|
||||
const http = require('http')
|
||||
@@ -10,9 +11,24 @@ const wwebCleanNumber = (number, full = false) => {
|
||||
return number
|
||||
}
|
||||
|
||||
const wwebGenerateImage = (base64) => {
|
||||
const wwebGenerateImage = async (base64) => {
|
||||
const PATH_QR = `${process.cwd()}/qr.png`
|
||||
let qr_svg = qr.image(base64, { type: 'png', margin: 4 })
|
||||
qr_svg.pipe(createWriteStream(`${process.cwd()}/qr.png`))
|
||||
|
||||
const writeFilePromise = () =>
|
||||
new Promise((resolve, reject) => {
|
||||
const file = qr_svg.pipe(createWriteStream(PATH_QR))
|
||||
file.on('finish', () => resolve(true))
|
||||
file.on('error', reject)
|
||||
})
|
||||
|
||||
await writeFilePromise()
|
||||
|
||||
const cleanImage = await combineImage([PATH_QR], {
|
||||
margin: 15,
|
||||
color: 0xffffffff,
|
||||
})
|
||||
cleanImage.write(PATH_QR)
|
||||
}
|
||||
|
||||
const wwebIsValidNumber = (rawNumber) => {
|
||||
|
||||
Reference in New Issue
Block a user