create-builderbot 0.0.1

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.
Files changed (150) hide show
  1. package/bin/create.cjs +3 -0
  2. package/dist/index.cjs +15 -0
  3. package/dist/index.d.ts +9 -0
  4. package/dist/index.d.ts.map +1 -0
  5. package/package.json +34 -0
  6. package/starters/apps/base-baileys-json/.eslintrc.js +23 -0
  7. package/starters/apps/base-baileys-json/Dockerfile +9 -0
  8. package/starters/apps/base-baileys-json/README.md +22 -0
  9. package/starters/apps/base-baileys-json/app.js +79 -0
  10. package/starters/apps/base-baileys-json/package.json +29 -0
  11. package/starters/apps/base-baileys-memory/.eslintrc.js +23 -0
  12. package/starters/apps/base-baileys-memory/Dockerfile +9 -0
  13. package/starters/apps/base-baileys-memory/README.md +22 -0
  14. package/starters/apps/base-baileys-memory/app.js +79 -0
  15. package/starters/apps/base-baileys-memory/package.json +28 -0
  16. package/starters/apps/base-baileys-mongo/.eslintrc.js +23 -0
  17. package/starters/apps/base-baileys-mongo/Dockerfile +9 -0
  18. package/starters/apps/base-baileys-mongo/README.md +40 -0
  19. package/starters/apps/base-baileys-mongo/app.js +99 -0
  20. package/starters/apps/base-baileys-mongo/package.json +30 -0
  21. package/starters/apps/base-baileys-mysql/.eslintrc.js +23 -0
  22. package/starters/apps/base-baileys-mysql/Dockerfile +9 -0
  23. package/starters/apps/base-baileys-mysql/README.md +40 -0
  24. package/starters/apps/base-baileys-mysql/app.js +104 -0
  25. package/starters/apps/base-baileys-mysql/package.json +29 -0
  26. package/starters/apps/base-baileys-postgres/.eslintrc.js +23 -0
  27. package/starters/apps/base-baileys-postgres/Dockerfile +9 -0
  28. package/starters/apps/base-baileys-postgres/README.md +40 -0
  29. package/starters/apps/base-baileys-postgres/app.js +105 -0
  30. package/starters/apps/base-baileys-postgres/package.json +29 -0
  31. package/starters/apps/base-meta-json/.eslintrc.js +23 -0
  32. package/starters/apps/base-meta-json/Dockerfile +9 -0
  33. package/starters/apps/base-meta-json/README.md +40 -0
  34. package/starters/apps/base-meta-json/app.js +94 -0
  35. package/starters/apps/base-meta-json/package.json +29 -0
  36. package/starters/apps/base-meta-memory/.eslintrc.js +23 -0
  37. package/starters/apps/base-meta-memory/Dockerfile +9 -0
  38. package/starters/apps/base-meta-memory/README.md +40 -0
  39. package/starters/apps/base-meta-memory/app.js +94 -0
  40. package/starters/apps/base-meta-memory/package.json +29 -0
  41. package/starters/apps/base-meta-mongo/.eslintrc.js +23 -0
  42. package/starters/apps/base-meta-mongo/Dockerfile +9 -0
  43. package/starters/apps/base-meta-mongo/README.md +40 -0
  44. package/starters/apps/base-meta-mongo/app.js +105 -0
  45. package/starters/apps/base-meta-mongo/package.json +30 -0
  46. package/starters/apps/base-meta-mysql/.eslintrc.js +23 -0
  47. package/starters/apps/base-meta-mysql/Dockerfile +9 -0
  48. package/starters/apps/base-meta-mysql/README.md +40 -0
  49. package/starters/apps/base-meta-mysql/app.js +109 -0
  50. package/starters/apps/base-meta-mysql/package.json +30 -0
  51. package/starters/apps/base-meta-postgres/.eslintrc.js +23 -0
  52. package/starters/apps/base-meta-postgres/Dockerfile +9 -0
  53. package/starters/apps/base-meta-postgres/README.md +40 -0
  54. package/starters/apps/base-meta-postgres/app.js +110 -0
  55. package/starters/apps/base-meta-postgres/package.json +30 -0
  56. package/starters/apps/base-twilio-json/.eslintrc.js +23 -0
  57. package/starters/apps/base-twilio-json/Dockerfile +9 -0
  58. package/starters/apps/base-twilio-json/README.md +40 -0
  59. package/starters/apps/base-twilio-json/app.js +93 -0
  60. package/starters/apps/base-twilio-json/package.json +27 -0
  61. package/starters/apps/base-twilio-memory/.eslintrc.js +23 -0
  62. package/starters/apps/base-twilio-memory/Dockerfile +9 -0
  63. package/starters/apps/base-twilio-memory/README.md +40 -0
  64. package/starters/apps/base-twilio-memory/app.js +93 -0
  65. package/starters/apps/base-twilio-memory/package.json +27 -0
  66. package/starters/apps/base-twilio-mongo/.eslintrc.js +23 -0
  67. package/starters/apps/base-twilio-mongo/Dockerfile +9 -0
  68. package/starters/apps/base-twilio-mongo/README.md +40 -0
  69. package/starters/apps/base-twilio-mongo/app.js +102 -0
  70. package/starters/apps/base-twilio-mongo/package.json +29 -0
  71. package/starters/apps/base-twilio-mysql/.eslintrc.js +23 -0
  72. package/starters/apps/base-twilio-mysql/Dockerfile +9 -0
  73. package/starters/apps/base-twilio-mysql/README.md +40 -0
  74. package/starters/apps/base-twilio-mysql/app.js +107 -0
  75. package/starters/apps/base-twilio-mysql/package.json +28 -0
  76. package/starters/apps/base-twilio-postgres/.eslintrc.js +23 -0
  77. package/starters/apps/base-twilio-postgres/Dockerfile +9 -0
  78. package/starters/apps/base-twilio-postgres/README.md +40 -0
  79. package/starters/apps/base-twilio-postgres/app.js +105 -0
  80. package/starters/apps/base-twilio-postgres/package.json +28 -0
  81. package/starters/apps/base-venom-json/.eslintrc.js +23 -0
  82. package/starters/apps/base-venom-json/Dockerfile +24 -0
  83. package/starters/apps/base-venom-json/README.md +40 -0
  84. package/starters/apps/base-venom-json/app.js +89 -0
  85. package/starters/apps/base-venom-json/package.json +27 -0
  86. package/starters/apps/base-venom-memory/.eslintrc.js +23 -0
  87. package/starters/apps/base-venom-memory/Dockerfile +24 -0
  88. package/starters/apps/base-venom-memory/README.md +40 -0
  89. package/starters/apps/base-venom-memory/app.js +89 -0
  90. package/starters/apps/base-venom-memory/package.json +27 -0
  91. package/starters/apps/base-venom-mongo/.eslintrc.js +23 -0
  92. package/starters/apps/base-venom-mongo/Dockerfile +24 -0
  93. package/starters/apps/base-venom-mongo/README.md +40 -0
  94. package/starters/apps/base-venom-mongo/app.js +99 -0
  95. package/starters/apps/base-venom-mongo/package.json +28 -0
  96. package/starters/apps/base-venom-mysql/.eslintrc.js +23 -0
  97. package/starters/apps/base-venom-mysql/Dockerfile +24 -0
  98. package/starters/apps/base-venom-mysql/README.md +40 -0
  99. package/starters/apps/base-venom-mysql/app.js +105 -0
  100. package/starters/apps/base-venom-mysql/package.json +28 -0
  101. package/starters/apps/base-venom-postgres/.eslintrc.js +23 -0
  102. package/starters/apps/base-venom-postgres/Dockerfile +9 -0
  103. package/starters/apps/base-venom-postgres/README.md +40 -0
  104. package/starters/apps/base-venom-postgres/app.js +105 -0
  105. package/starters/apps/base-venom-postgres/package.json +28 -0
  106. package/starters/apps/base-wppconnect-json/.eslintrc.js +23 -0
  107. package/starters/apps/base-wppconnect-json/README.md +22 -0
  108. package/starters/apps/base-wppconnect-json/app.js +79 -0
  109. package/starters/apps/base-wppconnect-json/package.json +27 -0
  110. package/starters/apps/base-wppconnect-memory/.eslintrc.js +23 -0
  111. package/starters/apps/base-wppconnect-memory/README.md +22 -0
  112. package/starters/apps/base-wppconnect-memory/app.js +79 -0
  113. package/starters/apps/base-wppconnect-memory/package.json +27 -0
  114. package/starters/apps/base-wppconnect-mongo/.eslintrc.js +23 -0
  115. package/starters/apps/base-wppconnect-mongo/README.md +40 -0
  116. package/starters/apps/base-wppconnect-mongo/app.js +99 -0
  117. package/starters/apps/base-wppconnect-mongo/package.json +28 -0
  118. package/starters/apps/base-wppconnect-mysql/.eslintrc.js +23 -0
  119. package/starters/apps/base-wppconnect-mysql/README.md +40 -0
  120. package/starters/apps/base-wppconnect-mysql/app.js +104 -0
  121. package/starters/apps/base-wppconnect-mysql/package.json +28 -0
  122. package/starters/apps/base-wppconnect-postgres/.eslintrc.js +23 -0
  123. package/starters/apps/base-wppconnect-postgres/README.md +40 -0
  124. package/starters/apps/base-wppconnect-postgres/app.js +105 -0
  125. package/starters/apps/base-wppconnect-postgres/package.json +28 -0
  126. package/starters/apps/base-wweb-json/.eslintrc.js +23 -0
  127. package/starters/apps/base-wweb-json/Dockerfile +24 -0
  128. package/starters/apps/base-wweb-json/README.md +40 -0
  129. package/starters/apps/base-wweb-json/app.js +89 -0
  130. package/starters/apps/base-wweb-json/package.json +26 -0
  131. package/starters/apps/base-wweb-memory/.eslintrc.js +23 -0
  132. package/starters/apps/base-wweb-memory/Dockerfile +24 -0
  133. package/starters/apps/base-wweb-memory/README.md +40 -0
  134. package/starters/apps/base-wweb-memory/app.js +89 -0
  135. package/starters/apps/base-wweb-memory/package.json +26 -0
  136. package/starters/apps/base-wweb-mongo/.eslintrc.js +23 -0
  137. package/starters/apps/base-wweb-mongo/Dockerfile +24 -0
  138. package/starters/apps/base-wweb-mongo/README.md +40 -0
  139. package/starters/apps/base-wweb-mongo/app.js +99 -0
  140. package/starters/apps/base-wweb-mongo/package.json +28 -0
  141. package/starters/apps/base-wweb-mysql/.eslintrc.js +23 -0
  142. package/starters/apps/base-wweb-mysql/Dockerfile +24 -0
  143. package/starters/apps/base-wweb-mysql/README.md +40 -0
  144. package/starters/apps/base-wweb-mysql/app.js +105 -0
  145. package/starters/apps/base-wweb-mysql/package.json +27 -0
  146. package/starters/apps/base-wweb-postgres/.eslintrc.js +23 -0
  147. package/starters/apps/base-wweb-postgres/Dockerfile +24 -0
  148. package/starters/apps/base-wweb-postgres/README.md +40 -0
  149. package/starters/apps/base-wweb-postgres/app.js +105 -0
  150. package/starters/apps/base-wweb-postgres/package.json +27 -0
package/bin/create.cjs ADDED
@@ -0,0 +1,3 @@
1
+ #!/usr/bin/env node
2
+ const main = require('../dist/index.cjs')
3
+ main()
package/dist/index.cjs ADDED
@@ -0,0 +1,15 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var cli = require('@bot-whatsapp/cli');
6
+
7
+ /**
8
+ * Voy a llamar directo a CLI
9
+ * Temporalmente luego mejoro esta
10
+ * parte
11
+ * @returns
12
+ */
13
+ const main = () => cli.startInteractive();
14
+
15
+ exports.default = main;
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Voy a llamar directo a CLI
3
+ * Temporalmente luego mejoro esta
4
+ * parte
5
+ * @returns
6
+ */
7
+ declare const main: () => Promise<void>;
8
+ export default main;
9
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA;;;;;GAKG;AACH,QAAA,MAAM,IAAI,qBAA2B,CAAA;AAErC,eAAe,IAAI,CAAA"}
package/package.json ADDED
@@ -0,0 +1,34 @@
1
+ {
2
+ "name": "create-builderbot",
3
+ "version": "0.0.1",
4
+ "description": "",
5
+ "license": "ISC",
6
+ "main": "dist/index.cjs",
7
+ "types": "dist/index.d.ts",
8
+ "type": "module",
9
+ "scripts": {
10
+ "build": "rimraf dist && rollup --config"
11
+ },
12
+ "files": [
13
+ "./starters/",
14
+ "./bin/create.cjs",
15
+ "./dist/"
16
+ ],
17
+ "bin": "./bin/create.cjs",
18
+ "dependencies": {
19
+ "@bot-whatsapp/cli": "workspace:*"
20
+ },
21
+ "repository": {
22
+ "type": "git",
23
+ "url": "https://github.com/codigoencasa/bot-whatsapp/tree/main/packages/create-bot-whatsapp"
24
+ },
25
+ "devDependencies": {
26
+ "@rollup/plugin-commonjs": "^25.0.7",
27
+ "@rollup/plugin-node-resolve": "^15.2.3",
28
+ "@rollup/plugin-terser": "^0.4.4",
29
+ "@types/node": "^20.11.0",
30
+ "rimraf": "^5.0.5",
31
+ "rollup-plugin-typescript2": "^0.36.0"
32
+ },
33
+ "gitHead": "cb94c90c05492a02dda63a8f48e661bf2995d4fb"
34
+ }
@@ -0,0 +1,23 @@
1
+ module.exports = {
2
+ env: {
3
+ browser: true,
4
+ commonjs: true,
5
+ es2021: true,
6
+ },
7
+ overrides: [
8
+ {
9
+ env: {
10
+ node: true,
11
+ },
12
+ files: ['.eslintrc.{js,cjs}'],
13
+ parserOptions: {
14
+ sourceType: 'script',
15
+ },
16
+ },
17
+ ],
18
+ parserOptions: {
19
+ ecmaVersion: 'latest',
20
+ },
21
+ plugins: ['bot-whatsapp'],
22
+ extends: ['plugin:bot-whatsapp/recommended'],
23
+ }
@@ -0,0 +1,9 @@
1
+ FROM node:18-bullseye as bot
2
+ WORKDIR /app
3
+ COPY package*.json ./
4
+ RUN npm i
5
+ COPY . .
6
+ ARG RAILWAY_STATIC_URL
7
+ ARG PUBLIC_URL
8
+ ARG PORT
9
+ CMD ["npm", "start"]
@@ -0,0 +1,22 @@
1
+ ### CHATBOT Whatsapp (Baileys Provider)
2
+
3
+ <p align="center">
4
+ <img width="300" src="https://i.imgur.com/Oauef6t.png">
5
+ </p>
6
+
7
+
8
+ **Con esta librería, puedes construir flujos automatizados de conversación de manera agnóstica al proveedor de WhatsApp,** configurar respuestas automatizadas para preguntas frecuentes, recibir y responder mensajes de manera automatizada, y hacer un seguimiento de las interacciones con los clientes.  Además, puedes configurar fácilmente disparadores que te ayudaran a expandir las funcionalidades sin límites. **[Ver documentación](https://bot-whatsapp.netlify.app/)**
9
+
10
+
11
+ ```
12
+ npm install
13
+ npm start
14
+ ```
15
+
16
+ ---
17
+ ## Recursos
18
+ - [📄 Documentación](https://bot-whatsapp.netlify.app/)
19
+ - [🚀 Roadmap](https://github.com/orgs/codigoencasa/projects/1)
20
+ - [💻 Discord](https://link.codigoencasa.com/DISCORD)
21
+ - [👌 Twitter](https://twitter.com/leifermendez)
22
+ - [🎥 Youtube](https://www.youtube.com/watch?v=5lEMCeWEJ8o&list=PL_WGMLcL4jzWPhdhcUyhbFU6bC0oJd2BR)
@@ -0,0 +1,79 @@
1
+ const { createBot, createProvider, createFlow, addKeyword } = require('@bot-whatsapp/bot')
2
+
3
+ const QRPortalWeb = require('@bot-whatsapp/portal')
4
+ const BaileysProvider = require('@bot-whatsapp/provider/baileys')
5
+ const JsonFileAdapter = require('@bot-whatsapp/database/json')
6
+
7
+ const flowSecundario = addKeyword(['2', 'siguiente']).addAnswer(['📄 Aquí tenemos el flujo secundario'])
8
+
9
+ const flowDocs = addKeyword(['doc', 'documentacion', 'documentación']).addAnswer(
10
+ [
11
+ '📄 Aquí encontras las documentación recuerda que puedes mejorarla',
12
+ 'https://bot-whatsapp.netlify.app/',
13
+ '\n*2* Para siguiente paso.',
14
+ ],
15
+ null,
16
+ null,
17
+ [flowSecundario]
18
+ )
19
+
20
+ const flowTuto = addKeyword(['tutorial', 'tuto']).addAnswer(
21
+ [
22
+ '🙌 Aquí encontras un ejemplo rapido',
23
+ 'https://bot-whatsapp.netlify.app/docs/example/',
24
+ '\n*2* Para siguiente paso.',
25
+ ],
26
+ null,
27
+ null,
28
+ [flowSecundario]
29
+ )
30
+
31
+ const flowGracias = addKeyword(['gracias', 'grac']).addAnswer(
32
+ [
33
+ '🚀 Puedes aportar tu granito de arena a este proyecto',
34
+ '[*opencollective*] https://opencollective.com/bot-whatsapp',
35
+ '[*buymeacoffee*] https://www.buymeacoffee.com/leifermendez',
36
+ '[*patreon*] https://www.patreon.com/leifermendez',
37
+ '\n*2* Para siguiente paso.',
38
+ ],
39
+ null,
40
+ null,
41
+ [flowSecundario]
42
+ )
43
+
44
+ const flowDiscord = addKeyword(['discord']).addAnswer(
45
+ ['🤪 Únete al discord', 'https://link.codigoencasa.com/DISCORD', '\n*2* Para siguiente paso.'],
46
+ null,
47
+ null,
48
+ [flowSecundario]
49
+ )
50
+
51
+ const flowPrincipal = addKeyword(['hola', 'ole', 'alo'])
52
+ .addAnswer('🙌 Hola bienvenido a este *Chatbot*')
53
+ .addAnswer(
54
+ [
55
+ 'te comparto los siguientes links de interes sobre el proyecto',
56
+ '👉 *doc* para ver la documentación',
57
+ '👉 *gracias* para ver la lista de videos',
58
+ '👉 *discord* unirte al discord',
59
+ ],
60
+ null,
61
+ null,
62
+ [flowDocs, flowGracias, flowTuto, flowDiscord]
63
+ )
64
+
65
+ const main = async () => {
66
+ const adapterDB = new JsonFileAdapter()
67
+ const adapterFlow = createFlow([flowPrincipal])
68
+ const adapterProvider = createProvider(BaileysProvider)
69
+
70
+ createBot({
71
+ flow: adapterFlow,
72
+ provider: adapterProvider,
73
+ database: adapterDB,
74
+ })
75
+
76
+ QRPortalWeb()
77
+ }
78
+
79
+ main()
@@ -0,0 +1,29 @@
1
+ {
2
+ "name": "base-bailey-json",
3
+ "version": "1.0.0",
4
+ "description": "",
5
+ "main": "app.js",
6
+ "scripts": {
7
+ "prestart": "npx eslint . --no-ignore",
8
+ "pre-copy": "cd .. && npm run copy.lib base-baileys-json",
9
+ "start": "node app.js"
10
+ },
11
+ "keywords": [],
12
+ "dependencies": {
13
+ "@bot-whatsapp/bot": "latest",
14
+ "@bot-whatsapp/cli": "latest",
15
+ "@bot-whatsapp/database": "latest",
16
+ "@bot-whatsapp/provider": "latest",
17
+ "@bot-whatsapp/portal": "latest",
18
+ "mime-types": "2.1.35",
19
+ "@whiskeysockets/baileys": "6.5.0",
20
+ "wa-sticker-formatter": "4.4.4",
21
+ "cache-manager": "5.2.4"
22
+ },
23
+ "devDependencies": {
24
+ "eslint-plugin-bot-whatsapp": "latest",
25
+ "eslint": "^8.52.0"
26
+ },
27
+ "author": "",
28
+ "license": "ISC"
29
+ }
@@ -0,0 +1,23 @@
1
+ module.exports = {
2
+ env: {
3
+ browser: true,
4
+ commonjs: true,
5
+ es2021: true,
6
+ },
7
+ overrides: [
8
+ {
9
+ env: {
10
+ node: true,
11
+ },
12
+ files: ['.eslintrc.{js,cjs}'],
13
+ parserOptions: {
14
+ sourceType: 'script',
15
+ },
16
+ },
17
+ ],
18
+ parserOptions: {
19
+ ecmaVersion: 'latest',
20
+ },
21
+ plugins: ['bot-whatsapp'],
22
+ extends: ['plugin:bot-whatsapp/recommended'],
23
+ }
@@ -0,0 +1,9 @@
1
+ FROM node:18-bullseye as bot
2
+ WORKDIR /app
3
+ COPY package*.json ./
4
+ RUN npm i
5
+ COPY . .
6
+ ARG RAILWAY_STATIC_URL
7
+ ARG PUBLIC_URL
8
+ ARG PORT
9
+ CMD ["npm", "start"]
@@ -0,0 +1,22 @@
1
+ ### CHATBOT Whatsapp (Baileys Provider)
2
+
3
+ <p align="center">
4
+ <img width="300" src="https://i.imgur.com/Oauef6t.png">
5
+ </p>
6
+
7
+
8
+ **Con esta librería, puedes construir flujos automatizados de conversación de manera agnóstica al proveedor de WhatsApp,** configurar respuestas automatizadas para preguntas frecuentes, recibir y responder mensajes de manera automatizada, y hacer un seguimiento de las interacciones con los clientes.  Además, puedes configurar fácilmente disparadores que te ayudaran a expandir las funcionalidades sin límites. **[Ver documentación](https://bot-whatsapp.netlify.app/)**
9
+
10
+
11
+ ```
12
+ npm install
13
+ npm start
14
+ ```
15
+
16
+ ---
17
+ ## Recursos
18
+ - [📄 Documentación](https://bot-whatsapp.netlify.app/)
19
+ - [🚀 Roadmap](https://github.com/orgs/codigoencasa/projects/1)
20
+ - [💻 Discord](https://link.codigoencasa.com/DISCORD)
21
+ - [👌 Twitter](https://twitter.com/leifermendez)
22
+ - [🎥 Youtube](https://www.youtube.com/watch?v=5lEMCeWEJ8o&list=PL_WGMLcL4jzWPhdhcUyhbFU6bC0oJd2BR)
@@ -0,0 +1,79 @@
1
+ const { createBot, createProvider, createFlow, addKeyword } = require('@bot-whatsapp/bot')
2
+
3
+ const QRPortalWeb = require('@bot-whatsapp/portal')
4
+ const BaileysProvider = require('@bot-whatsapp/provider/baileys')
5
+ const MockAdapter = require('@bot-whatsapp/database/mock')
6
+
7
+ const flowSecundario = addKeyword(['2', 'siguiente']).addAnswer(['📄 Aquí tenemos el flujo secundario'])
8
+
9
+ const flowDocs = addKeyword(['doc', 'documentacion', 'documentación']).addAnswer(
10
+ [
11
+ '📄 Aquí encontras las documentación recuerda que puedes mejorarla',
12
+ 'https://bot-whatsapp.netlify.app/',
13
+ '\n*2* Para siguiente paso.',
14
+ ],
15
+ null,
16
+ null,
17
+ [flowSecundario]
18
+ )
19
+
20
+ const flowTuto = addKeyword(['tutorial', 'tuto']).addAnswer(
21
+ [
22
+ '🙌 Aquí encontras un ejemplo rapido',
23
+ 'https://bot-whatsapp.netlify.app/docs/example/',
24
+ '\n*2* Para siguiente paso.',
25
+ ],
26
+ null,
27
+ null,
28
+ [flowSecundario]
29
+ )
30
+
31
+ const flowGracias = addKeyword(['gracias', 'grac']).addAnswer(
32
+ [
33
+ '🚀 Puedes aportar tu granito de arena a este proyecto',
34
+ '[*opencollective*] https://opencollective.com/bot-whatsapp',
35
+ '[*buymeacoffee*] https://www.buymeacoffee.com/leifermendez',
36
+ '[*patreon*] https://www.patreon.com/leifermendez',
37
+ '\n*2* Para siguiente paso.',
38
+ ],
39
+ null,
40
+ null,
41
+ [flowSecundario]
42
+ )
43
+
44
+ const flowDiscord = addKeyword(['discord']).addAnswer(
45
+ ['🤪 Únete al discord', 'https://link.codigoencasa.com/DISCORD', '\n*2* Para siguiente paso.'],
46
+ null,
47
+ null,
48
+ [flowSecundario]
49
+ )
50
+
51
+ const flowPrincipal = addKeyword(['hola', 'ole', 'alo'])
52
+ .addAnswer('🙌 Hola bienvenido a este *Chatbot*')
53
+ .addAnswer(
54
+ [
55
+ 'te comparto los siguientes links de interes sobre el proyecto',
56
+ '👉 *doc* para ver la documentación',
57
+ '👉 *gracias* para ver la lista de videos',
58
+ '👉 *discord* unirte al discord',
59
+ ],
60
+ null,
61
+ null,
62
+ [flowDocs, flowGracias, flowTuto, flowDiscord]
63
+ )
64
+
65
+ const main = async () => {
66
+ const adapterDB = new MockAdapter()
67
+ const adapterFlow = createFlow([flowPrincipal])
68
+ const adapterProvider = createProvider(BaileysProvider)
69
+
70
+ createBot({
71
+ flow: adapterFlow,
72
+ provider: adapterProvider,
73
+ database: adapterDB,
74
+ })
75
+
76
+ QRPortalWeb()
77
+ }
78
+
79
+ main()
@@ -0,0 +1,28 @@
1
+ {
2
+ "name": "base-bailey-memory",
3
+ "version": "1.0.0",
4
+ "description": "",
5
+ "main": "app.js",
6
+ "scripts": {
7
+ "prestart": "npx eslint . --no-ignore",
8
+ "pre-copy": "cd .. && npm run copy.lib base-baileys-memory",
9
+ "start": "node app.js"
10
+ },
11
+ "keywords": [],
12
+ "dependencies": {
13
+ "@bot-whatsapp/bot": "latest",
14
+ "@bot-whatsapp/cli": "latest",
15
+ "@bot-whatsapp/database": "latest",
16
+ "@bot-whatsapp/provider": "latest",
17
+ "@bot-whatsapp/portal": "latest",
18
+ "@whiskeysockets/baileys": "6.5.0",
19
+ "wa-sticker-formatter": "4.4.4",
20
+ "cache-manager": "5.2.4"
21
+ },
22
+ "devDependencies": {
23
+ "eslint-plugin-bot-whatsapp": "latest",
24
+ "eslint": "^8.52.0"
25
+ },
26
+ "author": "",
27
+ "license": "ISC"
28
+ }
@@ -0,0 +1,23 @@
1
+ module.exports = {
2
+ env: {
3
+ browser: true,
4
+ commonjs: true,
5
+ es2021: true,
6
+ },
7
+ overrides: [
8
+ {
9
+ env: {
10
+ node: true,
11
+ },
12
+ files: ['.eslintrc.{js,cjs}'],
13
+ parserOptions: {
14
+ sourceType: 'script',
15
+ },
16
+ },
17
+ ],
18
+ parserOptions: {
19
+ ecmaVersion: 'latest',
20
+ },
21
+ plugins: ['bot-whatsapp'],
22
+ extends: ['plugin:bot-whatsapp/recommended'],
23
+ }
@@ -0,0 +1,9 @@
1
+ FROM node:18-bullseye as bot
2
+ WORKDIR /app
3
+ COPY package*.json ./
4
+ RUN npm i
5
+ COPY . .
6
+ ARG RAILWAY_STATIC_URL
7
+ ARG PUBLIC_URL
8
+ ARG PORT
9
+ CMD ["npm", "start"]
@@ -0,0 +1,40 @@
1
+ ### CHATBOT Whatsapp (Baileys Provider)
2
+
3
+ <p align="center">
4
+ <img width="300" src="https://i.imgur.com/Oauef6t.png">
5
+ </p>
6
+
7
+
8
+ **Con esta librería, puedes construir flujos automatizados de conversación de manera agnóstica al proveedor de WhatsApp,** configurar respuestas automatizadas para preguntas frecuentes, recibir y responder mensajes de manera automatizada, y hacer un seguimiento de las interacciones con los clientes.  Además, puedes configurar fácilmente disparadores que te ayudaran a expandir las funcionalidades sin límites. **[Ver más informacion](https://bot-whatsapp.netlify.app/)**
9
+
10
+ ```js
11
+ const main = async () => {
12
+ const adapterDB = new MockAdapter()
13
+ const adapterFlow = createFlow([flowPrincipal])
14
+
15
+ const adapterProvider = createProvider(BaileysProvider, {
16
+ accountSid: process.env.ACC_SID,
17
+ authToken: process.env.ACC_TOKEN,
18
+ vendorNumber: process.env.ACC_VENDOR,
19
+ })
20
+
21
+ createBot({
22
+ flow: adapterFlow,
23
+ provider: adapterProvider,
24
+ database: adapterDB,
25
+ })
26
+ }
27
+ ```
28
+
29
+ ```
30
+ npm install
31
+ npm start
32
+ ```
33
+
34
+ ---
35
+ ## Recursos
36
+ - [📄 Documentación](https://bot-whatsapp.netlify.app/)
37
+ - [🚀 Roadmap](https://github.com/orgs/codigoencasa/projects/1)
38
+ - [💻 Discord](https://link.codigoencasa.com/DISCORD)
39
+ - [👌 Twitter](https://twitter.com/leifermendez)
40
+ - [🎥 Youtube](https://www.youtube.com/watch?v=5lEMCeWEJ8o&list=PL_WGMLcL4jzWPhdhcUyhbFU6bC0oJd2BR)
@@ -0,0 +1,99 @@
1
+ const { createBot, createProvider, createFlow, addKeyword } = require('@bot-whatsapp/bot')
2
+
3
+ const QRPortalWeb = require('@bot-whatsapp/portal')
4
+ const BaileysProvider = require('@bot-whatsapp/provider/baileys')
5
+ const MongoAdapter = require('@bot-whatsapp/database/mongo')
6
+
7
+ /**
8
+ * Declaramos las conexiones de Mongo
9
+ */
10
+
11
+ const MONGO_DB_URI = 'mongodb://0.0.0.0:27017'
12
+ const MONGO_DB_NAME = 'db_bot'
13
+
14
+ /**
15
+ * Aqui declaramos los flujos hijos, los flujos se declaran de atras para adelante, es decir que si tienes un flujo de este tipo:
16
+ *
17
+ * Menu Principal
18
+ * - SubMenu 1
19
+ * - Submenu 1.1
20
+ * - Submenu 2
21
+ * - Submenu 2.1
22
+ *
23
+ * Primero declaras los submenus 1.1 y 2.1, luego el 1 y 2 y al final el principal.
24
+ */
25
+
26
+ const flowSecundario = addKeyword(['2', 'siguiente']).addAnswer(['📄 Aquí tenemos el flujo secundario'])
27
+
28
+ const flowDocs = addKeyword(['doc', 'documentacion', 'documentación']).addAnswer(
29
+ [
30
+ '📄 Aquí encontras las documentación recuerda que puedes mejorarla',
31
+ 'https://bot-whatsapp.netlify.app/',
32
+ '\n*2* Para siguiente paso.',
33
+ ],
34
+ null,
35
+ null,
36
+ [flowSecundario]
37
+ )
38
+
39
+ const flowTuto = addKeyword(['tutorial', 'tuto']).addAnswer(
40
+ [
41
+ '🙌 Aquí encontras un ejemplo rapido',
42
+ 'https://bot-whatsapp.netlify.app/docs/example/',
43
+ '\n*2* Para siguiente paso.',
44
+ ],
45
+ null,
46
+ null,
47
+ [flowSecundario]
48
+ )
49
+
50
+ const flowGracias = addKeyword(['gracias', 'grac']).addAnswer(
51
+ [
52
+ '🚀 Puedes aportar tu granito de arena a este proyecto',
53
+ '[*opencollective*] https://opencollective.com/bot-whatsapp',
54
+ '[*buymeacoffee*] https://www.buymeacoffee.com/leifermendez',
55
+ '[*patreon*] https://www.patreon.com/leifermendez',
56
+ '\n*2* Para siguiente paso.',
57
+ ],
58
+ null,
59
+ null,
60
+ [flowSecundario]
61
+ )
62
+
63
+ const flowDiscord = addKeyword(['discord']).addAnswer(
64
+ ['🤪 Únete al discord', 'https://link.codigoencasa.com/DISCORD', '\n*2* Para siguiente paso.'],
65
+ null,
66
+ null,
67
+ [flowSecundario]
68
+ )
69
+
70
+ const flowPrincipal = addKeyword(['hola', 'ole', 'alo'])
71
+ .addAnswer('🙌 Hola bienvenido a este *Chatbot*')
72
+ .addAnswer(
73
+ [
74
+ 'te comparto los siguientes links de interes sobre el proyecto',
75
+ '👉 *doc* para ver la documentación',
76
+ '👉 *gracias* para ver la lista de videos',
77
+ '👉 *discord* unirte al discord',
78
+ ],
79
+ null,
80
+ null,
81
+ [flowDocs, flowGracias, flowTuto, flowDiscord]
82
+ )
83
+
84
+ const main = async () => {
85
+ const adapterDB = new MongoAdapter({
86
+ dbUri: MONGO_DB_URI,
87
+ dbName: MONGO_DB_NAME,
88
+ })
89
+ const adapterFlow = createFlow([flowPrincipal])
90
+ const adapterProvider = createProvider(BaileysProvider)
91
+ createBot({
92
+ flow: adapterFlow,
93
+ provider: adapterProvider,
94
+ database: adapterDB,
95
+ })
96
+ QRPortalWeb()
97
+ }
98
+
99
+ main()
@@ -0,0 +1,30 @@
1
+ {
2
+ "name": "base-bailey-mongo",
3
+ "version": "1.0.0",
4
+ "description": "",
5
+ "main": "app.js",
6
+ "scripts": {
7
+ "prestart": "npx eslint . --no-ignore",
8
+ "pre-copy": "cd .. && npm run copy.lib base-baileys-mongo",
9
+ "start": "node app.js"
10
+ },
11
+ "keywords": [],
12
+ "dependencies": {
13
+ "@bot-whatsapp/bot": "latest",
14
+ "@bot-whatsapp/cli": "latest",
15
+ "@bot-whatsapp/database": "latest",
16
+ "@bot-whatsapp/provider": "latest",
17
+ "@bot-whatsapp/portal": "latest",
18
+ "mime-types": "2.1.35",
19
+ "mongodb": "^4.12.1",
20
+ "@whiskeysockets/baileys": "6.5.0",
21
+ "wa-sticker-formatter": "4.4.4",
22
+ "cache-manager": "5.2.4"
23
+ },
24
+ "devDependencies": {
25
+ "eslint-plugin-bot-whatsapp": "latest",
26
+ "eslint": "^8.52.0"
27
+ },
28
+ "author": "",
29
+ "license": "ISC"
30
+ }
@@ -0,0 +1,23 @@
1
+ module.exports = {
2
+ env: {
3
+ browser: true,
4
+ commonjs: true,
5
+ es2021: true,
6
+ },
7
+ overrides: [
8
+ {
9
+ env: {
10
+ node: true,
11
+ },
12
+ files: ['.eslintrc.{js,cjs}'],
13
+ parserOptions: {
14
+ sourceType: 'script',
15
+ },
16
+ },
17
+ ],
18
+ parserOptions: {
19
+ ecmaVersion: 'latest',
20
+ },
21
+ plugins: ['bot-whatsapp'],
22
+ extends: ['plugin:bot-whatsapp/recommended'],
23
+ }
@@ -0,0 +1,9 @@
1
+ FROM node:18-bullseye as bot
2
+ WORKDIR /app
3
+ COPY package*.json ./
4
+ RUN npm i
5
+ COPY . .
6
+ ARG RAILWAY_STATIC_URL
7
+ ARG PUBLIC_URL
8
+ ARG PORT
9
+ CMD ["npm", "start"]