fix(provider): qr-fix margin

This commit is contained in:
Leifer Mendez
2022-12-16 21:38:51 +01:00
parent 694284488d
commit 663641a1b8
5 changed files with 676 additions and 23 deletions

View File

@@ -11,6 +11,7 @@
], ],
"dependencies": { "dependencies": {
"@bot-whatsapp/bot": "*", "@bot-whatsapp/bot": "*",
"combine-image": "^1.0.3",
"qr-image": "^3.2.0" "qr-image": "^3.2.0"
}, },
"exports": { "exports": {

View File

@@ -1,4 +1,5 @@
const { createWriteStream } = require('fs') const { createWriteStream } = require('fs')
const combineImage = require('combine-image')
const qr = require('qr-image') const qr = require('qr-image')
const baileyCleanNumber = (number, full = false) => { const baileyCleanNumber = (number, full = false) => {
@@ -7,9 +8,17 @@ const baileyCleanNumber = (number, full = false) => {
return number return number
} }
/**
* Hace promesa el write
* @param {*} base64
*/
const baileyGenerateImage = (base64) => { const baileyGenerateImage = (base64) => {
const PATH_QR = `${process.cwd()}/qr.png`
let qr_svg = qr.image(base64, { type: 'png', margin: 4 }) let qr_svg = qr.image(base64, { type: 'png', margin: 4 })
qr_svg.pipe(createWriteStream(`${process.cwd()}/qr.png`)) qr_svg.pipe(createWriteStream(PATH_QR))
combineImage([PATH_QR], { margin: 15, color: 0xffffffff }).then((img) => {
img.write(PATH_QR)
})
} }
const baileyIsValidNumber = (rawNumber) => { const baileyIsValidNumber = (rawNumber) => {

View File

@@ -1,4 +1,5 @@
const { writeFile } = require('fs') const { writeFile } = require('fs')
const combineImage = require('combine-image')
const venomCleanNumber = (number, full = false) => { const venomCleanNumber = (number, full = false) => {
number = number.replace('@c.us', '') number = number.replace('@c.us', '')
@@ -7,6 +8,7 @@ const venomCleanNumber = (number, full = false) => {
} }
const venomGenerateImage = (base) => { const venomGenerateImage = (base) => {
const PATH_QR = `${process.cwd()}/qr.png`
const matches = base.match(/^data:([A-Za-z-+\/]+);base64,(.+)$/) const matches = base.match(/^data:([A-Za-z-+\/]+);base64,(.+)$/)
if (matches.length !== 3) { if (matches.length !== 3) {
return new Error('Invalid input string') return new Error('Invalid input string')
@@ -17,15 +19,15 @@ const venomGenerateImage = (base) => {
response.data = new Buffer.from(matches[2], 'base64') response.data = new Buffer.from(matches[2], 'base64')
var imageBuffer = response var imageBuffer = response
writeFile( writeFile(PATH_QR, imageBuffer['data'], 'binary', (err) => {
`${process.cwd()}/qr.png`, if (err != null) throw new Error('ERROR_QR_GENERATE')
imageBuffer['data'], combineImage([PATH_QR], { margin: 15, color: 0xffffffff }).then(
'binary', (img) => {
(err) => { img.write(PATH_QR)
if (err != null) throw new Error('ERROR_QR_GENERATE') }
return )
} return
) })
} }
const venomisValidNumber = (rawNumber) => { const venomisValidNumber = (rawNumber) => {

View File

@@ -1,4 +1,5 @@
const { createWriteStream } = require('fs') const { createWriteStream } = require('fs')
const combineImage = require('combine-image')
const qr = require('qr-image') const qr = require('qr-image')
const { tmpdir } = require('os') const { tmpdir } = require('os')
const http = require('http') const http = require('http')
@@ -11,8 +12,12 @@ const wwebCleanNumber = (number, full = false) => {
} }
const wwebGenerateImage = (base64) => { const wwebGenerateImage = (base64) => {
const PATH_QR = `${process.cwd()}/qr.png`
let qr_svg = qr.image(base64, { type: 'png', margin: 4 }) let qr_svg = qr.image(base64, { type: 'png', margin: 4 })
qr_svg.pipe(createWriteStream(`${process.cwd()}/qr.png`)) qr_svg.pipe(createWriteStream(PATH_QR))
combineImage([PATH_QR], { margin: 15, color: 0xffffffff }).then((img) => {
img.write(PATH_QR)
})
} }
const wwebIsValidNumber = (rawNumber) => { const wwebIsValidNumber = (rawNumber) => {

660
yarn.lock

File diff suppressed because it is too large Load Diff