From 7fe2611aed8e479bd3dd8a8cc12d4072574c983c Mon Sep 17 00:00:00 2001 From: Leifer Date: Thu, 27 Oct 2022 11:21:11 +0200 Subject: [PATCH 1/4] continue --- TODO.md | 16 ++++++++++++++++ package.json | 2 +- 2 files changed, 17 insertions(+), 1 deletion(-) create mode 100644 TODO.md diff --git a/TODO.md b/TODO.md new file mode 100644 index 0000000..d9aaaaf --- /dev/null +++ b/TODO.md @@ -0,0 +1,16 @@ +```js +const { inout, provider, database } = require('@bot-whatsapp') + +/** + * async whatsapp-web, twilio, meta + * */ +provider.start().then((r) => { + + /** + * Siguiente indicaciones del provider + * */ + +}) + + +``` \ No newline at end of file diff --git a/package.json b/package.json index 44c7d90..867f0ee 100644 --- a/package.json +++ b/package.json @@ -10,7 +10,7 @@ "workspaces": [ "packages/cli", "packages/io", - "packages/providers" + "packages/provider" ], "keywords": [ "whatsapp", From b6207ba4474028bba5ca982cbad0b6923edd713f Mon Sep 17 00:00:00 2001 From: Leifer Date: Thu, 27 Oct 2022 14:00:36 +0200 Subject: [PATCH 2/4] readme inout --- TODO.md | 79 ++++++++++++++++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 76 insertions(+), 3 deletions(-) diff --git a/TODO.md b/TODO.md index d9aaaaf..5a7e740 100644 --- a/TODO.md +++ b/TODO.md @@ -1,16 +1,89 @@ ```js +// bootstrap.js Como iniciar el provider const { inout, provider, database } = require('@bot-whatsapp') /** * async whatsapp-web, twilio, meta * */ -provider.start().then((r) => { +const bootstrap = async () => { + console.log(`Iniciando....`) + const client = await provider.start() /** - * Siguiente indicaciones del provider + * - QR + * - Endpoint + * - Check Token Meta, Twilio + * - Return events? on message * */ + console.log(`Fin...`) + // Esto es opcional ? no deberia ser necesario + client.on('message', ({number, body,...}) => { + // Incoming message + }) +} +``` + +```js +// flow.js Como agregar keywords y respuestas +const { inout, provider, database } = require('@bot-whatsapp') + +await inout.addKeyword('hola') +.addAnswer('Bienvenido a tu tienda 🥲') +.addAnswer('escribe *catalogo* o *ofertas*') + +await inout.addKeyword(['catalogo','ofertas']) +.addAnswer('Este es nuestro CATALOGO mas reciente!',{buttons:[ + {"body":"Xiaomi"}, + {"body":"Samsung"} +]}) + +await inout.addKeyword('Xiaomi') +.addAnswer('Estos son nuestro productos XIAOMI ....',{media:'https://....'}) +.addAnswer('Si quieres mas info escrbie *info*') + + +await inout +.addKeyword('chao!') +.addAnswer('bye!') +.addAnswer('Recuerda que tengo esta promo',{ + media:'https://media2.giphy.com/media/VQJu0IeULuAmCwf5SL/giphy.gif', +}) + +await inout.addKeyword('Modelo C',{sensitivy:false}) +.addAnswer('100USD', {media:'http//:...'}) + +await inout.addKeyword('hola!',{sensitivy:false}) +.addAnswer('Bievenido Escribe *productos*') + +await inout.addKeyword('productos',{sensitivy:false}) +.addAnswer('Esto son los mas vendidos') +.addAnswer('*PC1* Precio 10USD',{media:'https://....'}) +.addAnswer('*PC2* Precio 10USD',{media:'https://....'}) + +await inout.addKeyword('PC1',{sensitivy:false}) +.addAnswer('Bievenido Escribe *productos*') + + + +const answerOne = await inout.addAnswer({ + message:'Como estas!', + media:'https://media2.giphy.com/media/VQJu0IeULuAmCwf5SL/giphy.gif', }) -``` \ No newline at end of file +const otherAnswer = await inout.addAnswer('Aprovecho para decirte!') + +answerOne.push(otherAnswer) + + +inout.addKeywords(['hola','hi','ola']) + +``` + +### Caso de uso +> Una persona escribe `hola` + +- [] Revisar si en las ultimas 24 ha contactado +- [] Si no INICIAR hilo +- [] Si ha contactado previamente. Seguir continuida \ No newline at end of file From 1e9574e740ba91d37a9666f267a55d6d4b486386 Mon Sep 17 00:00:00 2001 From: Leifer Date: Thu, 27 Oct 2022 14:04:29 +0200 Subject: [PATCH 3/4] TODO provider --- TODO.md => packages/io/TODO.md | 2 ++ packages/provider/TODO.md | 14 ++++++++++++++ 2 files changed, 16 insertions(+) rename TODO.md => packages/io/TODO.md (99%) create mode 100644 packages/provider/TODO.md diff --git a/TODO.md b/packages/io/TODO.md similarity index 99% rename from TODO.md rename to packages/io/TODO.md index 5a7e740..c8b6f38 100644 --- a/TODO.md +++ b/packages/io/TODO.md @@ -1,3 +1,5 @@ +# @bot-whatsapp/io + ```js // bootstrap.js Como iniciar el provider const { inout, provider, database } = require('@bot-whatsapp') diff --git a/packages/provider/TODO.md b/packages/provider/TODO.md new file mode 100644 index 0000000..4efe110 --- /dev/null +++ b/packages/provider/TODO.md @@ -0,0 +1,14 @@ +# @bot-whatsapp/provider + +```js +// bootstrap.js Como iniciar el provider +const { inout, provider, database } = require('@bot-whatsapp') + +provider.start() +provider.close() + +``` + +- [ ] whatsapp-web.js _verificar update_ +- [ ] Meta _verificar tokens_ +- [ ] Twilio _verificar tokens_ \ No newline at end of file From 5974f3c9f24840f98a47b5ec4be7f9bd27a01a5f Mon Sep 17 00:00:00 2001 From: Leifer Date: Sat, 29 Oct 2022 12:15:05 +0200 Subject: [PATCH 4/4] ... --- packages/cli/package.json | 6 ++---- packages/io/TODO.md | 18 +++++++++++------- packages/io/index.js | 0 packages/io/keyword/addKeyword.js | 16 ++++++++++++++++ packages/io/keyword/index.js | 0 packages/io/package.json | 22 ++++++++++++++++++++++ 6 files changed, 51 insertions(+), 11 deletions(-) create mode 100644 packages/io/index.js create mode 100644 packages/io/keyword/addKeyword.js create mode 100644 packages/io/keyword/index.js create mode 100644 packages/io/package.json diff --git a/packages/cli/package.json b/packages/cli/package.json index 5a0e787..e163a5d 100644 --- a/packages/cli/package.json +++ b/packages/cli/package.json @@ -1,8 +1,9 @@ { "name": "cli", - "version": "1.0.0", + "version": "0.0.1", "description": "", "main": "index.js", + "private":true, "scripts": { "cli:dev": "NODE_ENV=dev node ./index.js", "cli:rollup": "rollup index.js --config ./rollup-cli.config.js", @@ -21,8 +22,5 @@ "kleur": "^4.1.5", "prompts": "^2.4.2", "rimraf": "^3.0.2" - }, - "dependencies": { - "whatsapp-web.js": "^1.18.2" } } diff --git a/packages/io/TODO.md b/packages/io/TODO.md index c8b6f38..04567d1 100644 --- a/packages/io/TODO.md +++ b/packages/io/TODO.md @@ -1,5 +1,16 @@ # @bot-whatsapp/io + +### Caso de uso +> Una persona escribe `hola` + +__addKeyword__ recibe `string | string[]` +> `sensitivy` false _default_ + +- [] addKeyword +- [] addAnswer +- [] Si ha contactado previamente. Seguir continuida + ```js // bootstrap.js Como iniciar el provider const { inout, provider, database } = require('@bot-whatsapp') @@ -82,10 +93,3 @@ answerOne.push(otherAnswer) inout.addKeywords(['hola','hi','ola']) ``` - -### Caso de uso -> Una persona escribe `hola` - -- [] Revisar si en las ultimas 24 ha contactado -- [] Si no INICIAR hilo -- [] Si ha contactado previamente. Seguir continuida \ No newline at end of file diff --git a/packages/io/index.js b/packages/io/index.js new file mode 100644 index 0000000..e69de29 diff --git a/packages/io/keyword/addKeyword.js b/packages/io/keyword/addKeyword.js new file mode 100644 index 0000000..dc45e81 --- /dev/null +++ b/packages/io/keyword/addKeyword.js @@ -0,0 +1,16 @@ +/** + * + * @param {*} message `string | string[]` + * @param {*} options {sensitivy:boolean} defaulta false + */ +const addKeyword = (message, options) => { + if (typeof message === 'string') return 1 + return 0 +} + +module.exports = { addKeyword } +// await inout.addKeyword('hola') +// .addAnswer('Bienvenido a tu tienda 🥲') +// .addAnswer('escribe *catalogo* o *ofertas*') + +// await inout.addKeyword(['catalogo','ofertas']) \ No newline at end of file diff --git a/packages/io/keyword/index.js b/packages/io/keyword/index.js new file mode 100644 index 0000000..e69de29 diff --git a/packages/io/package.json b/packages/io/package.json new file mode 100644 index 0000000..aec99b4 --- /dev/null +++ b/packages/io/package.json @@ -0,0 +1,22 @@ +{ + "name": "io", + "version": "0.0.1", + "description": "", + "main": "index.js", + "private": true, + "scripts": { + "io:dev": "NODE_ENV=dev node ./index.js", + "io:rollup": "rollup index.js --config ./rollup-cli.config.js", + "format:check": "prettier --check .", + "format:write": "prettier --write .", + "lint:check": "eslint .", + "lint:fix": "eslint --fix .", + "build:io": "npm run format:write && npm run lint:fix && npm run io:rollup" + }, + "keywords": [], + "author": "", + "license": "ISC", + "devDependencies": { + + } +} \ No newline at end of file