mirror of
https://github.com/cheveguerra/bot-whatsapp.git
synced 2026-04-17 19:26:23 +00:00
fix(bot): ⚡ fix sensitive case
This commit is contained in:
2
.gitignore
vendored
2
.gitignore
vendored
@@ -18,6 +18,8 @@ config.json
|
|||||||
coverage/
|
coverage/
|
||||||
*.lcov
|
*.lcov
|
||||||
log
|
log
|
||||||
|
log/*
|
||||||
|
*.log
|
||||||
lib
|
lib
|
||||||
tmp/
|
tmp/
|
||||||
.yarn/*
|
.yarn/*
|
||||||
|
|||||||
1
TODO.md
1
TODO.md
@@ -13,6 +13,7 @@
|
|||||||
- [ ] colocar mensaje esperando conectando whatsapp (provider)
|
- [ ] colocar mensaje esperando conectando whatsapp (provider)
|
||||||
- [ ] createDatabase validar implementacion de funciones
|
- [ ] createDatabase validar implementacion de funciones
|
||||||
- [ ] limitar caracteres de mensajes
|
- [ ] limitar caracteres de mensajes
|
||||||
|
- [ ] cuando envias numeros (5 o 1) se dispara el flujo
|
||||||
|
|
||||||
### @bot-whatsapp/database
|
### @bot-whatsapp/database
|
||||||
- [X] agregar export package
|
- [X] agregar export package
|
||||||
|
|||||||
@@ -7,6 +7,7 @@
|
|||||||
"scripts": {
|
"scripts": {
|
||||||
"commit": "git-cz",
|
"commit": "git-cz",
|
||||||
"cli:rollup": "rollup --config ./packages/cli/rollup-cli.config.js ",
|
"cli:rollup": "rollup --config ./packages/cli/rollup-cli.config.js ",
|
||||||
|
"create-bot:rollup": "rollup --config ./packages/create-bot-whatsapp/rollup-create.config.js ",
|
||||||
"bot:rollup": "rollup --config ./packages/bot/rollup-bot.config.js",
|
"bot:rollup": "rollup --config ./packages/bot/rollup-bot.config.js",
|
||||||
"provider:rollup": "rollup --config ./packages/provider/rollup-provider.config.js ",
|
"provider:rollup": "rollup --config ./packages/provider/rollup-provider.config.js ",
|
||||||
"database:rollup": "rollup --config ./packages/database/rollup-database.config.js",
|
"database:rollup": "rollup --config ./packages/database/rollup-database.config.js",
|
||||||
@@ -16,12 +17,12 @@
|
|||||||
"lint:check": "eslint ./packages",
|
"lint:check": "eslint ./packages",
|
||||||
"lint:fix": "eslint --fix ./packages",
|
"lint:fix": "eslint --fix ./packages",
|
||||||
"build": "yarn run cli:rollup && yarn run bot:rollup && yarn run provider:rollup && yarn run database:rollup",
|
"build": "yarn run cli:rollup && yarn run bot:rollup && yarn run provider:rollup && yarn run database:rollup",
|
||||||
"link.dist": "cd packages/bot && npm link && cd ../provider && npm link && cd ../cli && npm link && cd ../database && npm link && cd ../provider && npm link",
|
|
||||||
"copy.lib": "node ./scripts/move.js",
|
"copy.lib": "node ./scripts/move.js",
|
||||||
"test.unit": "node ./node_modules/uvu/bin.js packages test",
|
"test.unit": "node ./node_modules/uvu/bin.js packages test",
|
||||||
"test.coverage": "node ./node_modules/c8/bin/c8.js npm run test.unit",
|
"test.coverage": "node ./node_modules/c8/bin/c8.js npm run test.unit",
|
||||||
"test": "npm run test.coverage",
|
"test": "npm run test.coverage",
|
||||||
"cli": "node ./packages/cli/bin/cli.js",
|
"cli": "node ./packages/cli/bin/cli.js",
|
||||||
|
"create": "node ./packages/create-bot-whatsapp/bin/create.js",
|
||||||
"dev:debug": "node --inspect ./example-app/app.js",
|
"dev:debug": "node --inspect ./example-app/app.js",
|
||||||
"dev": "node ./example-app/app.js",
|
"dev": "node ./example-app/app.js",
|
||||||
"prepare": "npx husky install",
|
"prepare": "npx husky install",
|
||||||
@@ -30,6 +31,7 @@
|
|||||||
"release": "standard-version"
|
"release": "standard-version"
|
||||||
},
|
},
|
||||||
"workspaces": [
|
"workspaces": [
|
||||||
|
"packages/create-bot-whatsapp",
|
||||||
"packages/bot",
|
"packages/bot",
|
||||||
"packages/cli",
|
"packages/cli",
|
||||||
"packages/database",
|
"packages/database",
|
||||||
|
|||||||
@@ -1,6 +1,11 @@
|
|||||||
const { toCtx } = require('../io/methods')
|
const { toCtx } = require('../io/methods')
|
||||||
const { printer } = require('../utils/interactive')
|
const { printer } = require('../utils/interactive')
|
||||||
|
const { Console } = require('console')
|
||||||
|
const { createWriteStream } = require('fs')
|
||||||
|
|
||||||
|
const logger = new Console({
|
||||||
|
stdout: createWriteStream(`${process.cwd()}/core.class.log`),
|
||||||
|
})
|
||||||
/**
|
/**
|
||||||
* [ ] Escuchar eventos del provider asegurarte que los provider emitan eventos
|
* [ ] Escuchar eventos del provider asegurarte que los provider emitan eventos
|
||||||
* [ ] Guardar historial en db
|
* [ ] Guardar historial en db
|
||||||
@@ -56,6 +61,7 @@ class CoreClass {
|
|||||||
* @returns
|
* @returns
|
||||||
*/
|
*/
|
||||||
handleMsg = async (messageInComming) => {
|
handleMsg = async (messageInComming) => {
|
||||||
|
logger.log(`[handleMsg]: `, messageInComming)
|
||||||
const { body, from } = messageInComming
|
const { body, from } = messageInComming
|
||||||
let msgToSend = []
|
let msgToSend = []
|
||||||
let fallBackFlag = false
|
let fallBackFlag = false
|
||||||
|
|||||||
@@ -21,29 +21,25 @@ class FlowClass {
|
|||||||
}
|
}
|
||||||
|
|
||||||
find = (keyOrWord, symbol = false, overFlow = null) => {
|
find = (keyOrWord, symbol = false, overFlow = null) => {
|
||||||
|
keyOrWord = `${keyOrWord}`
|
||||||
let capture = false
|
let capture = false
|
||||||
let messages = []
|
let messages = []
|
||||||
let refSymbol = null
|
let refSymbol = null
|
||||||
overFlow = overFlow ?? this.flowSerialize
|
overFlow = overFlow ?? this.flowSerialize
|
||||||
|
|
||||||
const mapSensitiveString = (str, flag = false) => {
|
/** Retornar expresion regular para buscar coincidencia */
|
||||||
if (!flag && Array.isArray(str)) {
|
const mapSensitive = (str, flag = false) => {
|
||||||
return str.map((c) => c.toLowerCase())
|
const regexSensitive = flag ? 'g' : 'i'
|
||||||
|
if (Array.isArray(str)) {
|
||||||
|
return new RegExp(str.join('|'), regexSensitive)
|
||||||
}
|
}
|
||||||
|
return new RegExp(str, regexSensitive)
|
||||||
if (!flag && typeof str === 'string') {
|
|
||||||
return str.toLowerCase()
|
|
||||||
}
|
|
||||||
|
|
||||||
return str
|
|
||||||
}
|
}
|
||||||
|
|
||||||
const findIn = (keyOrWord, symbol = false, flow = overFlow) => {
|
const findIn = (keyOrWord, symbol = false, flow = overFlow) => {
|
||||||
const sensitive = refSymbol?.options?.sensitive || false
|
const sensitive = refSymbol?.options?.sensitive || false
|
||||||
capture = refSymbol?.options?.capture || false
|
capture = refSymbol?.options?.capture || false
|
||||||
|
|
||||||
keyOrWord = mapSensitiveString(keyOrWord, sensitive)
|
|
||||||
|
|
||||||
if (capture) return messages
|
if (capture) return messages
|
||||||
|
|
||||||
if (symbol) {
|
if (symbol) {
|
||||||
@@ -51,9 +47,9 @@ class FlowClass {
|
|||||||
if (refSymbol?.answer) messages.push(refSymbol)
|
if (refSymbol?.answer) messages.push(refSymbol)
|
||||||
if (refSymbol?.ref) findIn(refSymbol.ref, true)
|
if (refSymbol?.ref) findIn(refSymbol.ref, true)
|
||||||
} else {
|
} else {
|
||||||
refSymbol = flow.find((c) =>
|
refSymbol = flow.find((c) => {
|
||||||
mapSensitiveString(c.keyword, sensitive).includes(keyOrWord)
|
return mapSensitive(c.keyword, sensitive).test(keyOrWord)
|
||||||
)
|
})
|
||||||
if (refSymbol?.ref) findIn(refSymbol.ref, true)
|
if (refSymbol?.ref) findIn(refSymbol.ref, true)
|
||||||
return messages
|
return messages
|
||||||
}
|
}
|
||||||
|
|||||||
3
packages/create-bot-whatsapp/bin/create.js
Normal file
3
packages/create-bot-whatsapp/bin/create.js
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
#!/usr/bin/env node
|
||||||
|
const main = require('../lib/bin/bundle.create.cjs')
|
||||||
|
main()
|
||||||
12
packages/create-bot-whatsapp/index.js
Normal file
12
packages/create-bot-whatsapp/index.js
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
/**
|
||||||
|
* Main function
|
||||||
|
*/
|
||||||
|
const main = () => {
|
||||||
|
console.clear()
|
||||||
|
console.log(``)
|
||||||
|
console.log(`[PostInstall]: Este es el main function.`)
|
||||||
|
console.log(`[PostInstall]: 👌 Aqui podrias instalar cosas`)
|
||||||
|
console.log(``)
|
||||||
|
}
|
||||||
|
|
||||||
|
module.exports = main
|
||||||
13
packages/create-bot-whatsapp/package.json
Normal file
13
packages/create-bot-whatsapp/package.json
Normal file
@@ -0,0 +1,13 @@
|
|||||||
|
{
|
||||||
|
"name": "create-bot-whatsapp",
|
||||||
|
"version": "0.0.1",
|
||||||
|
"description": "",
|
||||||
|
"main": "./lib/bin/bundle.create.cjs",
|
||||||
|
"private": true,
|
||||||
|
"dependencies": {
|
||||||
|
"@bot-whatsapp/cli": "*"
|
||||||
|
},
|
||||||
|
"bin": {
|
||||||
|
"bot": "./lib/bin/bundle.create.cjs"
|
||||||
|
}
|
||||||
|
}
|
||||||
16
packages/create-bot-whatsapp/rollup-create.config.js
Normal file
16
packages/create-bot-whatsapp/rollup-create.config.js
Normal file
@@ -0,0 +1,16 @@
|
|||||||
|
const banner = require('../../config/banner.rollup.json')
|
||||||
|
const commonjs = require('@rollup/plugin-commonjs')
|
||||||
|
const { nodeResolve } = require('@rollup/plugin-node-resolve')
|
||||||
|
const { join } = require('path')
|
||||||
|
|
||||||
|
const PATH = join(__dirname, 'lib', 'bin', 'bundle.create.cjs')
|
||||||
|
|
||||||
|
module.exports = {
|
||||||
|
input: join(__dirname, 'index.js'),
|
||||||
|
output: {
|
||||||
|
banner: banner['banner.output'].join(''),
|
||||||
|
file: PATH,
|
||||||
|
format: 'cjs',
|
||||||
|
},
|
||||||
|
plugins: [commonjs(), nodeResolve()],
|
||||||
|
}
|
||||||
@@ -1,4 +1,3 @@
|
|||||||
require('dotenv').config()
|
|
||||||
const mysql = require('mysql2')
|
const mysql = require('mysql2')
|
||||||
|
|
||||||
class MyslAdapter {
|
class MyslAdapter {
|
||||||
|
|||||||
@@ -11,6 +11,7 @@ const copyLibPkg = async (pkgName, to) => {
|
|||||||
}
|
}
|
||||||
|
|
||||||
Promise.all([
|
Promise.all([
|
||||||
|
copyLibPkg('create-bot-whatsapp', appDir),
|
||||||
copyLibPkg('bot', appDir),
|
copyLibPkg('bot', appDir),
|
||||||
copyLibPkg('database', appDir),
|
copyLibPkg('database', appDir),
|
||||||
copyLibPkg('provider', appDir),
|
copyLibPkg('provider', appDir),
|
||||||
|
|||||||
10
yarn.lock
10
yarn.lock
@@ -3136,6 +3136,16 @@ __metadata:
|
|||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
|
"create-bot-whatsapp@workspace:packages/create-bot-whatsapp":
|
||||||
|
version: 0.0.0-use.local
|
||||||
|
resolution: "create-bot-whatsapp@workspace:packages/create-bot-whatsapp"
|
||||||
|
dependencies:
|
||||||
|
"@bot-whatsapp/cli": "*"
|
||||||
|
bin:
|
||||||
|
bot: ./lib/bin/bundle.create.cjs
|
||||||
|
languageName: unknown
|
||||||
|
linkType: soft
|
||||||
|
|
||||||
"create-require@npm:^1.1.0":
|
"create-require@npm:^1.1.0":
|
||||||
version: 1.1.1
|
version: 1.1.1
|
||||||
resolution: "create-require@npm:1.1.1"
|
resolution: "create-require@npm:1.1.1"
|
||||||
|
|||||||
Reference in New Issue
Block a user