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
@@ -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 WPPConnectProviderClass = require('@bot-whatsapp/provider/wppconnect')
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(WPPConnectProviderClass)
91
+ createBot({
92
+ flow: adapterFlow,
93
+ provider: adapterProvider,
94
+ database: adapterDB,
95
+ })
96
+ QRPortalWeb()
97
+ }
98
+
99
+ main()
@@ -0,0 +1,28 @@
1
+ {
2
+ "name": "base-wppconnect-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-wppconnect-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/portal": "latest",
17
+ "@bot-whatsapp/provider": "latest",
18
+ "@wppconnect-team/wppconnect": "1.28.3",
19
+ "mime-types": "2.1.35",
20
+ "mongodb": "4.12.1"
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,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,104 @@
1
+ const { createBot, createProvider, createFlow, addKeyword } = require('@bot-whatsapp/bot')
2
+
3
+ const QRPortalWeb = require('@bot-whatsapp/portal')
4
+ const WPPConnectProviderClass = require('@bot-whatsapp/provider/wppconnect')
5
+ const MySQLAdapter = require('@bot-whatsapp/database/mysql')
6
+
7
+ /**
8
+ * Declaramos las conexiones de MySQL
9
+ */
10
+ const MYSQL_DB_HOST = 'localhost'
11
+ const MYSQL_DB_USER = 'usr'
12
+ const MYSQL_DB_PASSWORD = 'pass'
13
+ const MYSQL_DB_NAME = 'bot'
14
+ const MYSQL_DB_PORT = '3306'
15
+
16
+ /**
17
+ * Aqui declaramos los flujos hijos, los flujos se declaran de atras para adelante, es decir que si tienes un flujo de este tipo:
18
+ *
19
+ * Menu Principal
20
+ * - SubMenu 1
21
+ * - Submenu 1.1
22
+ * - Submenu 2
23
+ * - Submenu 2.1
24
+ *
25
+ * Primero declaras los submenus 1.1 y 2.1, luego el 1 y 2 y al final el principal.
26
+ */
27
+
28
+ const flowSecundario = addKeyword(['2', 'siguiente']).addAnswer(['📄 Aquí tenemos el flujo secundario'])
29
+
30
+ const flowDocs = addKeyword(['doc', 'documentacion', 'documentación']).addAnswer(
31
+ [
32
+ '📄 Aquí encontras las documentación recuerda que puedes mejorarla',
33
+ 'https://bot-whatsapp.netlify.app/',
34
+ '\n*2* Para siguiente paso.',
35
+ ],
36
+ null,
37
+ null,
38
+ [flowSecundario]
39
+ )
40
+
41
+ const flowTuto = addKeyword(['tutorial', 'tuto']).addAnswer(
42
+ [
43
+ '🙌 Aquí encontras un ejemplo rapido',
44
+ 'https://bot-whatsapp.netlify.app/docs/example/',
45
+ '\n*2* Para siguiente paso.',
46
+ ],
47
+ null,
48
+ null,
49
+ [flowSecundario]
50
+ )
51
+
52
+ const flowGracias = addKeyword(['gracias', 'grac']).addAnswer(
53
+ [
54
+ '🚀 Puedes aportar tu granito de arena a este proyecto',
55
+ '[*opencollective*] https://opencollective.com/bot-whatsapp',
56
+ '[*buymeacoffee*] https://www.buymeacoffee.com/leifermendez',
57
+ '[*patreon*] https://www.patreon.com/leifermendez',
58
+ '\n*2* Para siguiente paso.',
59
+ ],
60
+ null,
61
+ null,
62
+ [flowSecundario]
63
+ )
64
+
65
+ const flowDiscord = addKeyword(['discord']).addAnswer(
66
+ ['🤪 Únete al discord', 'https://link.codigoencasa.com/DISCORD', '\n*2* Para siguiente paso.'],
67
+ null,
68
+ null,
69
+ [flowSecundario]
70
+ )
71
+
72
+ const flowPrincipal = addKeyword(['hola', 'ole', 'alo'])
73
+ .addAnswer('🙌 Hola bienvenido a este *Chatbot*')
74
+ .addAnswer(
75
+ [
76
+ 'te comparto los siguientes links de interes sobre el proyecto',
77
+ '👉 *doc* para ver la documentación',
78
+ '👉 *gracias* para ver la lista de videos',
79
+ '👉 *discord* unirte al discord',
80
+ ],
81
+ null,
82
+ null,
83
+ [flowDocs, flowGracias, flowTuto, flowDiscord]
84
+ )
85
+
86
+ const main = async () => {
87
+ const adapterDB = new MySQLAdapter({
88
+ host: MYSQL_DB_HOST,
89
+ user: MYSQL_DB_USER,
90
+ database: MYSQL_DB_NAME,
91
+ password: MYSQL_DB_PASSWORD,
92
+ port: MYSQL_DB_PORT,
93
+ })
94
+ const adapterFlow = createFlow([flowPrincipal])
95
+ const adapterProvider = createProvider(WPPConnectProviderClass)
96
+ createBot({
97
+ flow: adapterFlow,
98
+ provider: adapterProvider,
99
+ database: adapterDB,
100
+ })
101
+ QRPortalWeb()
102
+ }
103
+
104
+ main()
@@ -0,0 +1,28 @@
1
+ {
2
+ "name": "base-wppconnect-mysql",
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-wppconnect-mysql",
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/portal": "latest",
17
+ "@bot-whatsapp/provider": "latest",
18
+ "@wppconnect-team/wppconnect": "1.28.3",
19
+ "mime-types": "2.1.35",
20
+ "mysql2": "2.3.3"
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,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,105 @@
1
+ const { createBot, createProvider, createFlow, addKeyword } = require('@bot-whatsapp/bot')
2
+
3
+ const QRPortalWeb = require('@bot-whatsapp/portal')
4
+ const WPPConnectProviderClass = require('@bot-whatsapp/provider/wppconnect')
5
+ const PostgreSQLAdapter = require('@bot-whatsapp/database/postgres')
6
+
7
+ /**
8
+ * Declaramos las conexiones de PostgreSQL
9
+ */
10
+
11
+ const POSTGRES_DB_HOST = 'localhost'
12
+ const POSTGRES_DB_USER = 'postgres'
13
+ const POSTGRES_DB_PASSWORD = 'password'
14
+ const POSTGRES_DB_NAME = 'postgres'
15
+ const POSTGRES_DB_PORT = '5432'
16
+
17
+ /**
18
+ * Aqui declaramos los flujos hijos, los flujos se declaran de atras para adelante, es decir que si tienes un flujo de este tipo:
19
+ *
20
+ * Menu Principal
21
+ * - SubMenu 1
22
+ * - Submenu 1.1
23
+ * - Submenu 2
24
+ * - Submenu 2.1
25
+ *
26
+ * Primero declaras los submenus 1.1 y 2.1, luego el 1 y 2 y al final el principal.
27
+ */
28
+
29
+ const flowSecundario = addKeyword(['2', 'siguiente']).addAnswer(['📄 Aquí tenemos el flujo secundario'])
30
+
31
+ const flowDocs = addKeyword(['doc', 'documentacion', 'documentación']).addAnswer(
32
+ [
33
+ '📄 Aquí encontras las documentación recuerda que puedes mejorarla',
34
+ 'https://bot-whatsapp.netlify.app/',
35
+ '\n*2* Para siguiente paso.',
36
+ ],
37
+ null,
38
+ null,
39
+ [flowSecundario]
40
+ )
41
+
42
+ const flowTuto = addKeyword(['tutorial', 'tuto']).addAnswer(
43
+ [
44
+ '🙌 Aquí encontras un ejemplo rapido',
45
+ 'https://bot-whatsapp.netlify.app/docs/example/',
46
+ '\n*2* Para siguiente paso.',
47
+ ],
48
+ null,
49
+ null,
50
+ [flowSecundario]
51
+ )
52
+
53
+ const flowGracias = addKeyword(['gracias', 'grac']).addAnswer(
54
+ [
55
+ '🚀 Puedes aportar tu granito de arena a este proyecto',
56
+ '[*opencollective*] https://opencollective.com/bot-whatsapp',
57
+ '[*buymeacoffee*] https://www.buymeacoffee.com/leifermendez',
58
+ '[*patreon*] https://www.patreon.com/leifermendez',
59
+ '\n*2* Para siguiente paso.',
60
+ ],
61
+ null,
62
+ null,
63
+ [flowSecundario]
64
+ )
65
+
66
+ const flowDiscord = addKeyword(['discord']).addAnswer(
67
+ ['🤪 Únete al discord', 'https://link.codigoencasa.com/DISCORD', '\n*2* Para siguiente paso.'],
68
+ null,
69
+ null,
70
+ [flowSecundario]
71
+ )
72
+
73
+ const flowPrincipal = addKeyword(['hola', 'ole', 'alo'])
74
+ .addAnswer('🙌 Hola bienvenido a este *Chatbot*')
75
+ .addAnswer(
76
+ [
77
+ 'te comparto los siguientes links de interes sobre el proyecto',
78
+ '👉 *doc* para ver la documentación',
79
+ '👉 *gracias* para ver la lista de videos',
80
+ '👉 *discord* unirte al discord',
81
+ ],
82
+ null,
83
+ null,
84
+ [flowDocs, flowGracias, flowTuto, flowDiscord]
85
+ )
86
+
87
+ const main = async () => {
88
+ const adapterDB = new PostgreSQLAdapter({
89
+ host: POSTGRES_DB_HOST,
90
+ user: POSTGRES_DB_USER,
91
+ database: POSTGRES_DB_NAME,
92
+ password: POSTGRES_DB_PASSWORD,
93
+ port: POSTGRES_DB_PORT,
94
+ })
95
+ const adapterFlow = createFlow([flowPrincipal])
96
+ const adapterProvider = createProvider(WPPConnectProviderClass)
97
+ createBot({
98
+ flow: adapterFlow,
99
+ provider: adapterProvider,
100
+ database: adapterDB,
101
+ })
102
+ QRPortalWeb()
103
+ }
104
+
105
+ main()
@@ -0,0 +1,28 @@
1
+ {
2
+ "name": "base-wppconnect-postgres",
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-wppconnect-postgres",
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/portal": "latest",
17
+ "@bot-whatsapp/provider": "latest",
18
+ "@wppconnect-team/wppconnect": "1.28.3",
19
+ "mime-types": "2.1.35",
20
+ "pg": "^8.11.2"
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,24 @@
1
+ FROM node:18-alpine as node
2
+
3
+ WORKDIR /app
4
+ # Installs latest Chromium (92) package.
5
+ RUN apk add --no-cache \
6
+ chromium \
7
+ nss \
8
+ freetype \
9
+ harfbuzz \
10
+ ca-certificates \
11
+ ttf-freefont \
12
+ nodejs \
13
+ yarn
14
+
15
+ # Tell Puppeteer to skip installing Chrome. We'll be using the installed package.
16
+ ENV PUPPETEER_SKIP_CHROMIUM_DOWNLOAD=true \
17
+ PUPPETEER_EXECUTABLE_PATH=/usr/bin/chromium-browser
18
+
19
+ # Puppeteer v10.0.0 works with Chromium 92.
20
+ COPY . .
21
+ RUN npm install puppeteer@10.0.0
22
+ RUN npm install
23
+
24
+ CMD ["npm", "start"]
@@ -0,0 +1,40 @@
1
+ ### CHATBOT Whatsapp (WebWhatsapp 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(WebWhatsappProvider, {
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)