@builderbot/cli 1.0.29-alpha.0 → 1.0.31-alpha.0

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 (253) hide show
  1. package/dist/index.cjs +4 -1
  2. package/dist/interactive/index.d.ts.map +1 -1
  3. package/dist/starters/apps/base-js-baileys-json/Dockerfile +25 -15
  4. package/dist/starters/apps/base-js-baileys-json/README.md +1 -1
  5. package/dist/starters/apps/base-js-baileys-json/_gitignore +10 -0
  6. package/dist/starters/apps/base-js-baileys-json/package.json +2 -3
  7. package/dist/starters/apps/base-js-baileys-json/src/app.js +116 -115
  8. package/dist/starters/apps/base-js-baileys-memory/Dockerfile +25 -15
  9. package/dist/starters/apps/base-js-baileys-memory/README.md +1 -1
  10. package/dist/starters/apps/base-js-baileys-memory/_gitignore +10 -0
  11. package/dist/starters/apps/base-js-baileys-memory/package.json +2 -3
  12. package/dist/starters/apps/base-js-baileys-memory/src/app.js +115 -114
  13. package/dist/starters/apps/base-js-baileys-mongo/Dockerfile +25 -15
  14. package/dist/starters/apps/base-js-baileys-mongo/README.md +1 -1
  15. package/dist/starters/apps/base-js-baileys-mongo/_gitignore +10 -0
  16. package/dist/starters/apps/base-js-baileys-mongo/package.json +2 -3
  17. package/dist/starters/apps/base-js-baileys-mongo/src/app.js +118 -117
  18. package/dist/starters/apps/base-js-baileys-mysql/Dockerfile +25 -15
  19. package/dist/starters/apps/base-js-baileys-mysql/README.md +1 -1
  20. package/dist/starters/apps/base-js-baileys-mysql/_gitignore +10 -0
  21. package/dist/starters/apps/base-js-baileys-mysql/package.json +2 -3
  22. package/dist/starters/apps/base-js-baileys-mysql/src/app.js +120 -119
  23. package/dist/starters/apps/base-js-baileys-postgres/Dockerfile +25 -15
  24. package/dist/starters/apps/base-js-baileys-postgres/README.md +1 -1
  25. package/dist/starters/apps/base-js-baileys-postgres/_gitignore +10 -0
  26. package/dist/starters/apps/base-js-baileys-postgres/package.json +2 -3
  27. package/dist/starters/apps/base-js-baileys-postgres/src/app.js +121 -120
  28. package/dist/starters/apps/base-js-meta-json/Dockerfile +25 -15
  29. package/dist/starters/apps/base-js-meta-json/README.md +1 -1
  30. package/dist/starters/apps/base-js-meta-json/_gitignore +10 -0
  31. package/dist/starters/apps/base-js-meta-json/package.json +2 -3
  32. package/dist/starters/apps/base-js-meta-json/src/app.js +120 -119
  33. package/dist/starters/apps/base-js-meta-memory/Dockerfile +25 -15
  34. package/dist/starters/apps/base-js-meta-memory/README.md +1 -1
  35. package/dist/starters/apps/base-js-meta-memory/_gitignore +10 -0
  36. package/dist/starters/apps/base-js-meta-memory/package.json +2 -3
  37. package/dist/starters/apps/base-js-meta-memory/src/app.js +119 -118
  38. package/dist/starters/apps/base-js-meta-mongo/Dockerfile +25 -15
  39. package/dist/starters/apps/base-js-meta-mongo/README.md +1 -1
  40. package/dist/starters/apps/base-js-meta-mongo/_gitignore +10 -0
  41. package/dist/starters/apps/base-js-meta-mongo/package.json +2 -3
  42. package/dist/starters/apps/base-js-meta-mongo/src/app.js +122 -121
  43. package/dist/starters/apps/base-js-meta-mysql/Dockerfile +25 -15
  44. package/dist/starters/apps/base-js-meta-mysql/README.md +1 -1
  45. package/dist/starters/apps/base-js-meta-mysql/_gitignore +10 -0
  46. package/dist/starters/apps/base-js-meta-mysql/package.json +2 -3
  47. package/dist/starters/apps/base-js-meta-mysql/src/app.js +124 -123
  48. package/dist/starters/apps/base-js-meta-postgres/Dockerfile +25 -15
  49. package/dist/starters/apps/base-js-meta-postgres/README.md +1 -1
  50. package/dist/starters/apps/base-js-meta-postgres/_gitignore +10 -0
  51. package/dist/starters/apps/base-js-meta-postgres/package.json +2 -3
  52. package/dist/starters/apps/base-js-meta-postgres/src/app.js +125 -124
  53. package/dist/starters/apps/base-js-twilio-json/Dockerfile +25 -15
  54. package/dist/starters/apps/base-js-twilio-json/README.md +1 -1
  55. package/dist/starters/apps/base-js-twilio-json/_gitignore +10 -0
  56. package/dist/starters/apps/base-js-twilio-json/package.json +2 -3
  57. package/dist/starters/apps/base-js-twilio-json/src/app.js +119 -118
  58. package/dist/starters/apps/base-js-twilio-memory/Dockerfile +25 -15
  59. package/dist/starters/apps/base-js-twilio-memory/README.md +1 -1
  60. package/dist/starters/apps/base-js-twilio-memory/_gitignore +10 -0
  61. package/dist/starters/apps/base-js-twilio-memory/package.json +2 -3
  62. package/dist/starters/apps/base-js-twilio-memory/src/app.js +118 -117
  63. package/dist/starters/apps/base-js-twilio-mongo/Dockerfile +25 -15
  64. package/dist/starters/apps/base-js-twilio-mongo/README.md +1 -1
  65. package/dist/starters/apps/base-js-twilio-mongo/_gitignore +10 -0
  66. package/dist/starters/apps/base-js-twilio-mongo/package.json +2 -3
  67. package/dist/starters/apps/base-js-twilio-mongo/src/app.js +121 -120
  68. package/dist/starters/apps/base-js-twilio-mysql/Dockerfile +25 -15
  69. package/dist/starters/apps/base-js-twilio-mysql/README.md +1 -1
  70. package/dist/starters/apps/base-js-twilio-mysql/_gitignore +10 -0
  71. package/dist/starters/apps/base-js-twilio-mysql/package.json +2 -3
  72. package/dist/starters/apps/base-js-twilio-mysql/src/app.js +123 -122
  73. package/dist/starters/apps/base-js-twilio-postgres/Dockerfile +25 -15
  74. package/dist/starters/apps/base-js-twilio-postgres/README.md +1 -1
  75. package/dist/starters/apps/base-js-twilio-postgres/_gitignore +10 -0
  76. package/dist/starters/apps/base-js-twilio-postgres/package.json +2 -3
  77. package/dist/starters/apps/base-js-twilio-postgres/src/app.js +124 -123
  78. package/dist/starters/apps/base-js-venom-json/Dockerfile +25 -15
  79. package/dist/starters/apps/base-js-venom-json/README.md +1 -1
  80. package/dist/starters/apps/base-js-venom-json/_gitignore +10 -0
  81. package/dist/starters/apps/base-js-venom-json/package.json +2 -3
  82. package/dist/starters/apps/base-js-venom-json/src/app.js +116 -115
  83. package/dist/starters/apps/base-js-venom-memory/Dockerfile +25 -15
  84. package/dist/starters/apps/base-js-venom-memory/README.md +1 -1
  85. package/dist/starters/apps/base-js-venom-memory/_gitignore +10 -0
  86. package/dist/starters/apps/base-js-venom-memory/package.json +2 -3
  87. package/dist/starters/apps/base-js-venom-memory/src/app.js +115 -114
  88. package/dist/starters/apps/base-js-venom-mongo/Dockerfile +25 -15
  89. package/dist/starters/apps/base-js-venom-mongo/README.md +1 -1
  90. package/dist/starters/apps/base-js-venom-mongo/_gitignore +10 -0
  91. package/dist/starters/apps/base-js-venom-mongo/package.json +2 -3
  92. package/dist/starters/apps/base-js-venom-mongo/src/app.js +118 -117
  93. package/dist/starters/apps/base-js-venom-mysql/Dockerfile +25 -15
  94. package/dist/starters/apps/base-js-venom-mysql/README.md +1 -1
  95. package/dist/starters/apps/base-js-venom-mysql/_gitignore +10 -0
  96. package/dist/starters/apps/base-js-venom-mysql/package.json +2 -3
  97. package/dist/starters/apps/base-js-venom-mysql/src/app.js +120 -119
  98. package/dist/starters/apps/base-js-venom-postgres/Dockerfile +25 -15
  99. package/dist/starters/apps/base-js-venom-postgres/README.md +1 -1
  100. package/dist/starters/apps/base-js-venom-postgres/_gitignore +10 -0
  101. package/dist/starters/apps/base-js-venom-postgres/package.json +2 -3
  102. package/dist/starters/apps/base-js-venom-postgres/src/app.js +121 -120
  103. package/dist/starters/apps/base-js-wppconnect-json/Dockerfile +25 -15
  104. package/dist/starters/apps/base-js-wppconnect-json/README.md +1 -1
  105. package/dist/starters/apps/base-js-wppconnect-json/_gitignore +10 -0
  106. package/dist/starters/apps/base-js-wppconnect-json/package.json +2 -3
  107. package/dist/starters/apps/base-js-wppconnect-json/src/app.js +116 -115
  108. package/dist/starters/apps/base-js-wppconnect-memory/Dockerfile +25 -15
  109. package/dist/starters/apps/base-js-wppconnect-memory/README.md +1 -1
  110. package/dist/starters/apps/base-js-wppconnect-memory/_gitignore +10 -0
  111. package/dist/starters/apps/base-js-wppconnect-memory/package.json +2 -3
  112. package/dist/starters/apps/base-js-wppconnect-memory/src/app.js +115 -114
  113. package/dist/starters/apps/base-js-wppconnect-mongo/Dockerfile +25 -15
  114. package/dist/starters/apps/base-js-wppconnect-mongo/README.md +1 -1
  115. package/dist/starters/apps/base-js-wppconnect-mongo/_gitignore +10 -0
  116. package/dist/starters/apps/base-js-wppconnect-mongo/package.json +2 -3
  117. package/dist/starters/apps/base-js-wppconnect-mongo/src/app.js +118 -117
  118. package/dist/starters/apps/base-js-wppconnect-mysql/Dockerfile +25 -15
  119. package/dist/starters/apps/base-js-wppconnect-mysql/README.md +1 -1
  120. package/dist/starters/apps/base-js-wppconnect-mysql/_gitignore +10 -0
  121. package/dist/starters/apps/base-js-wppconnect-mysql/package.json +2 -3
  122. package/dist/starters/apps/base-js-wppconnect-mysql/src/app.js +120 -119
  123. package/dist/starters/apps/base-js-wppconnect-postgres/Dockerfile +25 -15
  124. package/dist/starters/apps/base-js-wppconnect-postgres/README.md +1 -1
  125. package/dist/starters/apps/base-js-wppconnect-postgres/_gitignore +10 -0
  126. package/dist/starters/apps/base-js-wppconnect-postgres/package.json +2 -3
  127. package/dist/starters/apps/base-js-wppconnect-postgres/src/app.js +121 -120
  128. package/dist/starters/apps/base-ts-baileys-json/Dockerfile +27 -15
  129. package/dist/starters/apps/base-ts-baileys-json/README.md +1 -1
  130. package/dist/starters/apps/base-ts-baileys-json/_gitignore +10 -0
  131. package/dist/starters/apps/base-ts-baileys-json/package.json +31 -29
  132. package/dist/starters/apps/base-ts-baileys-json/src/app.ts +5 -5
  133. package/dist/starters/apps/base-ts-baileys-memory/Dockerfile +27 -15
  134. package/dist/starters/apps/base-ts-baileys-memory/README.md +1 -1
  135. package/dist/starters/apps/base-ts-baileys-memory/_gitignore +10 -0
  136. package/dist/starters/apps/base-ts-baileys-memory/package.json +30 -28
  137. package/dist/starters/apps/base-ts-baileys-memory/src/app.ts +4 -4
  138. package/dist/starters/apps/base-ts-baileys-mongo/Dockerfile +27 -15
  139. package/dist/starters/apps/base-ts-baileys-mongo/README.md +1 -1
  140. package/dist/starters/apps/base-ts-baileys-mongo/_gitignore +10 -0
  141. package/dist/starters/apps/base-ts-baileys-mongo/package.json +31 -29
  142. package/dist/starters/apps/base-ts-baileys-mongo/src/app.ts +7 -7
  143. package/dist/starters/apps/base-ts-baileys-mysql/Dockerfile +27 -15
  144. package/dist/starters/apps/base-ts-baileys-mysql/README.md +1 -1
  145. package/dist/starters/apps/base-ts-baileys-mysql/_gitignore +10 -0
  146. package/dist/starters/apps/base-ts-baileys-mysql/package.json +31 -29
  147. package/dist/starters/apps/base-ts-baileys-mysql/src/app.ts +9 -9
  148. package/dist/starters/apps/base-ts-baileys-postgres/Dockerfile +27 -15
  149. package/dist/starters/apps/base-ts-baileys-postgres/README.md +1 -1
  150. package/dist/starters/apps/base-ts-baileys-postgres/_gitignore +10 -0
  151. package/dist/starters/apps/base-ts-baileys-postgres/package.json +31 -29
  152. package/dist/starters/apps/base-ts-baileys-postgres/src/app.ts +10 -10
  153. package/dist/starters/apps/base-ts-meta-json/Dockerfile +27 -15
  154. package/dist/starters/apps/base-ts-meta-json/README.md +1 -1
  155. package/dist/starters/apps/base-ts-meta-json/_gitignore +10 -0
  156. package/dist/starters/apps/base-ts-meta-json/package.json +31 -29
  157. package/dist/starters/apps/base-ts-meta-json/src/app.ts +9 -9
  158. package/dist/starters/apps/base-ts-meta-memory/Dockerfile +27 -15
  159. package/dist/starters/apps/base-ts-meta-memory/README.md +1 -1
  160. package/dist/starters/apps/base-ts-meta-memory/_gitignore +10 -0
  161. package/dist/starters/apps/base-ts-meta-memory/package.json +30 -28
  162. package/dist/starters/apps/base-ts-meta-memory/src/app.ts +8 -8
  163. package/dist/starters/apps/base-ts-meta-mongo/Dockerfile +27 -15
  164. package/dist/starters/apps/base-ts-meta-mongo/README.md +1 -1
  165. package/dist/starters/apps/base-ts-meta-mongo/_gitignore +10 -0
  166. package/dist/starters/apps/base-ts-meta-mongo/package.json +31 -29
  167. package/dist/starters/apps/base-ts-meta-mongo/src/app.ts +11 -11
  168. package/dist/starters/apps/base-ts-meta-mysql/Dockerfile +27 -15
  169. package/dist/starters/apps/base-ts-meta-mysql/README.md +1 -1
  170. package/dist/starters/apps/base-ts-meta-mysql/_gitignore +10 -0
  171. package/dist/starters/apps/base-ts-meta-mysql/package.json +31 -29
  172. package/dist/starters/apps/base-ts-meta-mysql/src/app.ts +13 -13
  173. package/dist/starters/apps/base-ts-meta-postgres/Dockerfile +27 -15
  174. package/dist/starters/apps/base-ts-meta-postgres/README.md +1 -1
  175. package/dist/starters/apps/base-ts-meta-postgres/_gitignore +10 -0
  176. package/dist/starters/apps/base-ts-meta-postgres/package.json +31 -29
  177. package/dist/starters/apps/base-ts-meta-postgres/src/app.ts +14 -14
  178. package/dist/starters/apps/base-ts-twilio-json/Dockerfile +27 -15
  179. package/dist/starters/apps/base-ts-twilio-json/README.md +1 -1
  180. package/dist/starters/apps/base-ts-twilio-json/_gitignore +10 -0
  181. package/dist/starters/apps/base-ts-twilio-json/package.json +31 -29
  182. package/dist/starters/apps/base-ts-twilio-json/src/app.ts +8 -8
  183. package/dist/starters/apps/base-ts-twilio-memory/Dockerfile +27 -15
  184. package/dist/starters/apps/base-ts-twilio-memory/README.md +1 -1
  185. package/dist/starters/apps/base-ts-twilio-memory/_gitignore +10 -0
  186. package/dist/starters/apps/base-ts-twilio-memory/package.json +30 -28
  187. package/dist/starters/apps/base-ts-twilio-memory/src/app.ts +7 -7
  188. package/dist/starters/apps/base-ts-twilio-mongo/Dockerfile +27 -15
  189. package/dist/starters/apps/base-ts-twilio-mongo/README.md +1 -1
  190. package/dist/starters/apps/base-ts-twilio-mongo/_gitignore +10 -0
  191. package/dist/starters/apps/base-ts-twilio-mongo/package.json +31 -29
  192. package/dist/starters/apps/base-ts-twilio-mongo/src/app.ts +10 -10
  193. package/dist/starters/apps/base-ts-twilio-mysql/Dockerfile +27 -15
  194. package/dist/starters/apps/base-ts-twilio-mysql/README.md +1 -1
  195. package/dist/starters/apps/base-ts-twilio-mysql/_gitignore +10 -0
  196. package/dist/starters/apps/base-ts-twilio-mysql/package.json +31 -29
  197. package/dist/starters/apps/base-ts-twilio-mysql/src/app.ts +12 -12
  198. package/dist/starters/apps/base-ts-twilio-postgres/Dockerfile +27 -15
  199. package/dist/starters/apps/base-ts-twilio-postgres/README.md +1 -1
  200. package/dist/starters/apps/base-ts-twilio-postgres/_gitignore +10 -0
  201. package/dist/starters/apps/base-ts-twilio-postgres/package.json +31 -29
  202. package/dist/starters/apps/base-ts-twilio-postgres/src/app.ts +13 -13
  203. package/dist/starters/apps/base-ts-venom-json/Dockerfile +27 -15
  204. package/dist/starters/apps/base-ts-venom-json/README.md +1 -1
  205. package/dist/starters/apps/base-ts-venom-json/_gitignore +10 -0
  206. package/dist/starters/apps/base-ts-venom-json/package.json +31 -29
  207. package/dist/starters/apps/base-ts-venom-json/src/app.ts +5 -5
  208. package/dist/starters/apps/base-ts-venom-memory/Dockerfile +27 -15
  209. package/dist/starters/apps/base-ts-venom-memory/README.md +1 -1
  210. package/dist/starters/apps/base-ts-venom-memory/_gitignore +10 -0
  211. package/dist/starters/apps/base-ts-venom-memory/package.json +30 -28
  212. package/dist/starters/apps/base-ts-venom-memory/src/app.ts +4 -4
  213. package/dist/starters/apps/base-ts-venom-mongo/Dockerfile +27 -15
  214. package/dist/starters/apps/base-ts-venom-mongo/README.md +1 -1
  215. package/dist/starters/apps/base-ts-venom-mongo/_gitignore +10 -0
  216. package/dist/starters/apps/base-ts-venom-mongo/package.json +31 -29
  217. package/dist/starters/apps/base-ts-venom-mongo/src/app.ts +7 -7
  218. package/dist/starters/apps/base-ts-venom-mysql/Dockerfile +27 -15
  219. package/dist/starters/apps/base-ts-venom-mysql/README.md +1 -1
  220. package/dist/starters/apps/base-ts-venom-mysql/_gitignore +10 -0
  221. package/dist/starters/apps/base-ts-venom-mysql/package.json +31 -29
  222. package/dist/starters/apps/base-ts-venom-mysql/src/app.ts +9 -9
  223. package/dist/starters/apps/base-ts-venom-postgres/Dockerfile +27 -15
  224. package/dist/starters/apps/base-ts-venom-postgres/README.md +1 -1
  225. package/dist/starters/apps/base-ts-venom-postgres/_gitignore +10 -0
  226. package/dist/starters/apps/base-ts-venom-postgres/package.json +31 -29
  227. package/dist/starters/apps/base-ts-venom-postgres/src/app.ts +10 -10
  228. package/dist/starters/apps/base-ts-wppconnect-json/Dockerfile +27 -15
  229. package/dist/starters/apps/base-ts-wppconnect-json/README.md +1 -1
  230. package/dist/starters/apps/base-ts-wppconnect-json/_gitignore +10 -0
  231. package/dist/starters/apps/base-ts-wppconnect-json/package.json +31 -29
  232. package/dist/starters/apps/base-ts-wppconnect-json/src/app.ts +5 -5
  233. package/dist/starters/apps/base-ts-wppconnect-memory/Dockerfile +27 -15
  234. package/dist/starters/apps/base-ts-wppconnect-memory/README.md +1 -1
  235. package/dist/starters/apps/base-ts-wppconnect-memory/_gitignore +10 -0
  236. package/dist/starters/apps/base-ts-wppconnect-memory/package.json +30 -28
  237. package/dist/starters/apps/base-ts-wppconnect-memory/src/app.ts +4 -4
  238. package/dist/starters/apps/base-ts-wppconnect-mongo/Dockerfile +27 -15
  239. package/dist/starters/apps/base-ts-wppconnect-mongo/README.md +1 -1
  240. package/dist/starters/apps/base-ts-wppconnect-mongo/_gitignore +10 -0
  241. package/dist/starters/apps/base-ts-wppconnect-mongo/package.json +31 -29
  242. package/dist/starters/apps/base-ts-wppconnect-mongo/src/app.ts +7 -7
  243. package/dist/starters/apps/base-ts-wppconnect-mysql/Dockerfile +27 -15
  244. package/dist/starters/apps/base-ts-wppconnect-mysql/README.md +1 -1
  245. package/dist/starters/apps/base-ts-wppconnect-mysql/_gitignore +10 -0
  246. package/dist/starters/apps/base-ts-wppconnect-mysql/package.json +31 -29
  247. package/dist/starters/apps/base-ts-wppconnect-mysql/src/app.ts +9 -9
  248. package/dist/starters/apps/base-ts-wppconnect-postgres/Dockerfile +27 -15
  249. package/dist/starters/apps/base-ts-wppconnect-postgres/README.md +1 -1
  250. package/dist/starters/apps/base-ts-wppconnect-postgres/_gitignore +10 -0
  251. package/dist/starters/apps/base-ts-wppconnect-postgres/package.json +31 -29
  252. package/dist/starters/apps/base-ts-wppconnect-postgres/src/app.ts +10 -10
  253. package/package.json +2 -3
@@ -6,7 +6,7 @@
6
6
  "type": "module",
7
7
  "scripts": {
8
8
  "lint": "eslint . --no-ignore",
9
- "dev": "npm run lint && nodemon ./src/app.js",
9
+ "dev": "npm run lint && node --no-warnings --watch-path=./src ./src/app.js",
10
10
  "start": "node ./src/app.js"
11
11
  },
12
12
  "keywords": [],
@@ -17,8 +17,7 @@
17
17
  },
18
18
  "devDependencies": {
19
19
  "eslint-plugin-builderbot": "latest",
20
- "eslint": "^8.57.0",
21
- "nodemon": "^3.1.0"
20
+ "eslint": "^8.57.0"
22
21
  },
23
22
  "author": "",
24
23
  "license": "ISC"
@@ -1,119 +1,120 @@
1
- import { createBot, createProvider, createFlow, addKeyword, utils } from '@builderbot/bot'
2
- import { MysqlAdapter as Database } from '@builderbot/database-mysql'
3
- import { BaileysProvider as Provider } from '@builderbot/provider-baileys'
4
-
5
- const PORT = process.env.PORT ?? 3008
6
-
7
- const discordFlow = addKeyword('doc').addAnswer(
8
- ['You can see the documentation here', '📄 https://builderbot.app/docs \n', 'Do you want to continue? *yes*'].join(
9
- '\n'
10
- ),
11
- { capture: true },
12
- async (ctx, { gotoFlow, flowDynamic }) => {
13
- if (ctx.body.toLocaleLowerCase().includes('yes')) {
14
- return gotoFlow(registerFlow)
15
- }
16
- await flowDynamic('Thanks!')
17
- return
18
- }
19
- )
20
-
21
- const welcomeFlow = addKeyword(['hi', 'hello', 'hola'])
22
- .addAnswer(`🙌 Hello welcome to this *Chatbot*`)
23
- .addAnswer(
24
- [
25
- 'I share with you the following links of interest about the project',
26
- '👉 *doc* to view the documentation',
27
- ].join('\n'),
28
- { delay: 800, capture: true },
29
- async (ctx, { fallBack }) => {
30
- if (!ctx.body.toLocaleLowerCase().includes('doc')) {
31
- return fallBack('You should type *doc*')
32
- }
33
- return
34
- },
35
- [discordFlow]
36
- )
37
-
38
- const registerFlow = addKeyword(utils.setEvent('REGISTER_FLOW'))
39
- .addAnswer(`What is your name?`, { capture: true }, async (ctx, { state }) => {
40
- await state.update({ name: ctx.body })
41
- })
42
- .addAnswer('What is your age?', { capture: true }, async (ctx, { state }) => {
43
- await state.update({ age: ctx.body })
44
- })
45
- .addAction(async (_, { flowDynamic, state }) => {
46
- await flowDynamic(`${state.get('name')}, thanks for your information!: Your age: ${state.get('age')}`)
47
- })
48
-
49
- const fullSamplesFlow = addKeyword(['samples', utils.setEvent('SAMPLES')])
50
- .addAnswer(`💪 I'll send you a lot files...`)
51
- .addAnswer(`Send image from Local`, { media: join(process.cwd(), 'assets', 'sample.png') })
52
- .addAnswer(`Send video from URL`, {
53
- media: 'https://media.giphy.com/media/v1.Y2lkPTc5MGI3NjExYTJ0ZGdjd2syeXAwMjQ4aWdkcW04OWlqcXI3Ynh1ODkwZ25zZWZ1dCZlcD12MV9pbnRlcm5hbF9naWZfYnlfaWQmY3Q9Zw/LCohAb657pSdHv0Q5h/giphy.mp4',
54
- })
55
- .addAnswer(`Send audio from URL`, { media: 'https://cdn.freesound.org/previews/728/728142_11861866-lq.mp3' })
56
- .addAnswer(`Send file from URL`, {
57
- media: 'https://www.w3.org/WAI/ER/tests/xhtml/testfiles/resources/pdf/dummy.pdf',
58
- })
59
-
60
- const main = async () => {
61
- const adapterFlow = createFlow([welcomeFlow, registerFlow, fullSamplesFlow])
62
-
63
- const adapterProvider = createProvider(Provider)
64
- const adapterDB = new Database({
65
- host: process.env.MYSQL_DB_HOST,
66
- user: process.env.MYSQL_DB_USER,
67
- database: process.env.MYSQL_DB_NAME,
68
- password: process.env.MYSQL_DB_PASSWORD,
69
- })
70
-
71
- const { handleCtx, httpServer } = await createBot({
72
- flow: adapterFlow,
73
- provider: adapterProvider,
74
- database: adapterDB,
75
- })
76
-
77
- adapterProvider.server.post(
78
- '/v1/messages',
79
- handleCtx(async (bot, req, res) => {
80
- const { number, message, urlMedia } = req.body
81
- await bot.sendMessage(number, message, { media: urlMedia ?? null })
82
- return res.end('sended')
83
- })
84
- )
85
-
86
- adapterProvider.server.post(
87
- '/v1/register',
88
- handleCtx(async (bot, req, res) => {
89
- const { number, name } = req.body
90
- await bot.dispatch('REGISTER_FLOW', { from: number, name })
91
- return res.end('trigger')
92
- })
93
- )
94
-
95
- adapterProvider.server.post(
96
- '/v1/samples',
97
- handleCtx(async (bot, req, res) => {
98
- const { number, name } = req.body
99
- await bot.dispatch('SAMPLES', { from: number, name })
100
- return res.end('trigger')
101
- })
102
- )
103
-
104
- adapterProvider.server.post(
105
- '/v1/blacklist',
106
- handleCtx(async (bot, req, res) => {
107
- const { number, intent } = req.body
108
- if (intent === 'remove') bot.blacklist.remove(number)
109
- if (intent === 'add') bot.blacklist.add(number)
110
-
111
- res.writeHead(200, { 'Content-Type': 'application/json' })
112
- return res.end(JSON.stringify({ status: 'ok', number, intent }))
113
- })
114
- )
115
-
116
- httpServer(+PORT)
117
- }
118
-
119
- main()
1
+ import { join } from 'path'
2
+ import { createBot, createProvider, createFlow, addKeyword, utils } from '@builderbot/bot'
3
+ import { MysqlAdapter as Database } from '@builderbot/database-mysql'
4
+ import { BaileysProvider as Provider } from '@builderbot/provider-baileys'
5
+
6
+ const PORT = process.env.PORT ?? 3008
7
+
8
+ const discordFlow = addKeyword('doc').addAnswer(
9
+ ['You can see the documentation here', '📄 https://builderbot.app/docs \n', 'Do you want to continue? *yes*'].join(
10
+ '\n'
11
+ ),
12
+ { capture: true },
13
+ async (ctx, { gotoFlow, flowDynamic }) => {
14
+ if (ctx.body.toLocaleLowerCase().includes('yes')) {
15
+ return gotoFlow(registerFlow)
16
+ }
17
+ await flowDynamic('Thanks!')
18
+ return
19
+ }
20
+ )
21
+
22
+ const welcomeFlow = addKeyword(['hi', 'hello', 'hola'])
23
+ .addAnswer(`🙌 Hello welcome to this *Chatbot*`)
24
+ .addAnswer(
25
+ [
26
+ 'I share with you the following links of interest about the project',
27
+ '👉 *doc* to view the documentation',
28
+ ].join('\n'),
29
+ { delay: 800, capture: true },
30
+ async (ctx, { fallBack }) => {
31
+ if (!ctx.body.toLocaleLowerCase().includes('doc')) {
32
+ return fallBack('You should type *doc*')
33
+ }
34
+ return
35
+ },
36
+ [discordFlow]
37
+ )
38
+
39
+ const registerFlow = addKeyword(utils.setEvent('REGISTER_FLOW'))
40
+ .addAnswer(`What is your name?`, { capture: true }, async (ctx, { state }) => {
41
+ await state.update({ name: ctx.body })
42
+ })
43
+ .addAnswer('What is your age?', { capture: true }, async (ctx, { state }) => {
44
+ await state.update({ age: ctx.body })
45
+ })
46
+ .addAction(async (_, { flowDynamic, state }) => {
47
+ await flowDynamic(`${state.get('name')}, thanks for your information!: Your age: ${state.get('age')}`)
48
+ })
49
+
50
+ const fullSamplesFlow = addKeyword(['samples', utils.setEvent('SAMPLES')])
51
+ .addAnswer(`💪 I'll send you a lot files...`)
52
+ .addAnswer(`Send image from Local`, { media: join(process.cwd(), 'assets', 'sample.png') })
53
+ .addAnswer(`Send video from URL`, {
54
+ media: 'https://media.giphy.com/media/v1.Y2lkPTc5MGI3NjExYTJ0ZGdjd2syeXAwMjQ4aWdkcW04OWlqcXI3Ynh1ODkwZ25zZWZ1dCZlcD12MV9pbnRlcm5hbF9naWZfYnlfaWQmY3Q9Zw/LCohAb657pSdHv0Q5h/giphy.mp4',
55
+ })
56
+ .addAnswer(`Send audio from URL`, { media: 'https://cdn.freesound.org/previews/728/728142_11861866-lq.mp3' })
57
+ .addAnswer(`Send file from URL`, {
58
+ media: 'https://www.w3.org/WAI/ER/tests/xhtml/testfiles/resources/pdf/dummy.pdf',
59
+ })
60
+
61
+ const main = async () => {
62
+ const adapterFlow = createFlow([welcomeFlow, registerFlow, fullSamplesFlow])
63
+
64
+ const adapterProvider = createProvider(Provider)
65
+ const adapterDB = new Database({
66
+ host: process.env.MYSQL_DB_HOST,
67
+ user: process.env.MYSQL_DB_USER,
68
+ database: process.env.MYSQL_DB_NAME,
69
+ password: process.env.MYSQL_DB_PASSWORD,
70
+ })
71
+
72
+ const { handleCtx, httpServer } = await createBot({
73
+ flow: adapterFlow,
74
+ provider: adapterProvider,
75
+ database: adapterDB,
76
+ })
77
+
78
+ adapterProvider.server.post(
79
+ '/v1/messages',
80
+ handleCtx(async (bot, req, res) => {
81
+ const { number, message, urlMedia } = req.body
82
+ await bot.sendMessage(number, message, { media: urlMedia ?? null })
83
+ return res.end('sended')
84
+ })
85
+ )
86
+
87
+ adapterProvider.server.post(
88
+ '/v1/register',
89
+ handleCtx(async (bot, req, res) => {
90
+ const { number, name } = req.body
91
+ await bot.dispatch('REGISTER_FLOW', { from: number, name })
92
+ return res.end('trigger')
93
+ })
94
+ )
95
+
96
+ adapterProvider.server.post(
97
+ '/v1/samples',
98
+ handleCtx(async (bot, req, res) => {
99
+ const { number, name } = req.body
100
+ await bot.dispatch('SAMPLES', { from: number, name })
101
+ return res.end('trigger')
102
+ })
103
+ )
104
+
105
+ adapterProvider.server.post(
106
+ '/v1/blacklist',
107
+ handleCtx(async (bot, req, res) => {
108
+ const { number, intent } = req.body
109
+ if (intent === 'remove') bot.blacklist.remove(number)
110
+ if (intent === 'add') bot.blacklist.add(number)
111
+
112
+ res.writeHead(200, { 'Content-Type': 'application/json' })
113
+ return res.end(JSON.stringify({ status: 'ok', number, intent }))
114
+ })
115
+ )
116
+
117
+ httpServer(+PORT)
118
+ }
119
+
120
+ main()
@@ -1,28 +1,38 @@
1
+ # Image size ~ 330MB
1
2
  FROM node:21-alpine3.18 as builder
2
3
 
4
+ WORKDIR /app
5
+
3
6
  RUN corepack enable && corepack prepare pnpm@latest --activate
4
7
  ENV PNPM_HOME=/usr/local/bin
5
8
 
6
- WORKDIR /app
7
-
8
- COPY package*.json pnpm-lock.yaml ./
9
+ COPY . .
9
10
 
10
- RUN apk add --no-cache \
11
- git
11
+ COPY package*.json *-lock.yaml ./
12
12
 
13
- # RUN pnpm install pm2 -g
13
+ RUN apk add --no-cache --virtual .gyp \
14
+ python3 \
15
+ make \
16
+ g++ \
17
+ && apk add --no-cache git \
18
+ && pnpm install \
19
+ && apk del .gyp
14
20
 
15
- COPY . .
16
- RUN pnpm i
21
+ FROM node:21-alpine3.18 as deploy
17
22
 
18
- FROM builder as deploy
23
+ WORKDIR /app
19
24
 
20
- ARG RAILWAY_STATIC_URL
21
- ARG PUBLIC_URL
22
25
  ARG PORT
23
- COPY --from=builder /app/src ./src
24
- COPY --from=builder /app/package.json /app/pnpm-lock.yaml ./
26
+ ENV PORT $PORT
27
+ EXPOSE $PORT
28
+
29
+ COPY --from=builder /app .
30
+
31
+ RUN corepack enable && corepack prepare pnpm@latest --activate
32
+ ENV PNPM_HOME=/usr/local/bin
33
+
34
+ RUN npm cache clean --force && pnpm install --production --ignore-scripts \
35
+ && addgroup -g 1001 -S nodejs && adduser -S -u 1001 nodejs \
36
+ && rm -rf $PNPM_HOME/.npm $PNPM_HOME/.node-gyp
25
37
 
26
- RUN pnpm install --frozen-lockfile --production
27
- # CMD ["pm2-runtime", "start", "./src/app.js", "--cron", "0 */12 * * *"]
28
38
  CMD ["npm", "start"]
@@ -1,7 +1,7 @@
1
1
  <p align="center">
2
2
  <a href="https://builderbot.vercel.app/">
3
3
  <picture>
4
- <img src="https://i.imgur.com/OPl026Z.png" height="80">
4
+ <img src="https://builderbot.vercel.app/assets/thumbnail-vector.png" height="80">
5
5
  </picture>
6
6
  <h2 align="center">BuilderBot</h2>
7
7
  </a>
@@ -0,0 +1,10 @@
1
+ dist/*
2
+ node_modules
3
+ .env
4
+
5
+ *_sessions
6
+ *tokens
7
+ .wwebjs*
8
+
9
+ *.log
10
+ *qr.png
@@ -6,7 +6,7 @@
6
6
  "type": "module",
7
7
  "scripts": {
8
8
  "lint": "eslint . --no-ignore",
9
- "dev": "npm run lint && nodemon ./src/app.js",
9
+ "dev": "npm run lint && node --no-warnings --watch-path=./src ./src/app.js",
10
10
  "start": "node ./src/app.js"
11
11
  },
12
12
  "keywords": [],
@@ -17,8 +17,7 @@
17
17
  },
18
18
  "devDependencies": {
19
19
  "eslint-plugin-builderbot": "latest",
20
- "eslint": "^8.57.0",
21
- "nodemon": "^3.1.0"
20
+ "eslint": "^8.57.0"
22
21
  },
23
22
  "author": "",
24
23
  "license": "ISC"
@@ -1,120 +1,121 @@
1
- import { createBot, createProvider, createFlow, addKeyword, utils } from '@builderbot/bot'
2
- import { PostgreSQLAdapter as Database } from '@builderbot/database-postgres'
3
- import { BaileysProvider as Provider } from '@builderbot/provider-baileys'
4
-
5
- const PORT = process.env.PORT ?? 3008
6
-
7
- const discordFlow = addKeyword('doc').addAnswer(
8
- ['You can see the documentation here', '📄 https://builderbot.app/docs \n', 'Do you want to continue? *yes*'].join(
9
- '\n'
10
- ),
11
- { capture: true },
12
- async (ctx, { gotoFlow, flowDynamic }) => {
13
- if (ctx.body.toLocaleLowerCase().includes('yes')) {
14
- return gotoFlow(registerFlow)
15
- }
16
- await flowDynamic('Thanks!')
17
- return
18
- }
19
- )
20
-
21
- const welcomeFlow = addKeyword(['hi', 'hello', 'hola'])
22
- .addAnswer(`🙌 Hello welcome to this *Chatbot*`)
23
- .addAnswer(
24
- [
25
- 'I share with you the following links of interest about the project',
26
- '👉 *doc* to view the documentation',
27
- ].join('\n'),
28
- { delay: 800, capture: true },
29
- async (ctx, { fallBack }) => {
30
- if (!ctx.body.toLocaleLowerCase().includes('doc')) {
31
- return fallBack('You should type *doc*')
32
- }
33
- return
34
- },
35
- [discordFlow]
36
- )
37
-
38
- const registerFlow = addKeyword(utils.setEvent('REGISTER_FLOW'))
39
- .addAnswer(`What is your name?`, { capture: true }, async (ctx, { state }) => {
40
- await state.update({ name: ctx.body })
41
- })
42
- .addAnswer('What is your age?', { capture: true }, async (ctx, { state }) => {
43
- await state.update({ age: ctx.body })
44
- })
45
- .addAction(async (_, { flowDynamic, state }) => {
46
- await flowDynamic(`${state.get('name')}, thanks for your information!: Your age: ${state.get('age')}`)
47
- })
48
-
49
- const fullSamplesFlow = addKeyword(['samples', utils.setEvent('SAMPLES')])
50
- .addAnswer(`💪 I'll send you a lot files...`)
51
- .addAnswer(`Send image from Local`, { media: join(process.cwd(), 'assets', 'sample.png') })
52
- .addAnswer(`Send video from URL`, {
53
- media: 'https://media.giphy.com/media/v1.Y2lkPTc5MGI3NjExYTJ0ZGdjd2syeXAwMjQ4aWdkcW04OWlqcXI3Ynh1ODkwZ25zZWZ1dCZlcD12MV9pbnRlcm5hbF9naWZfYnlfaWQmY3Q9Zw/LCohAb657pSdHv0Q5h/giphy.mp4',
54
- })
55
- .addAnswer(`Send audio from URL`, { media: 'https://cdn.freesound.org/previews/728/728142_11861866-lq.mp3' })
56
- .addAnswer(`Send file from URL`, {
57
- media: 'https://www.w3.org/WAI/ER/tests/xhtml/testfiles/resources/pdf/dummy.pdf',
58
- })
59
-
60
- const main = async () => {
61
- const adapterFlow = createFlow([welcomeFlow, registerFlow, fullSamplesFlow])
62
-
63
- const adapterProvider = createProvider(Provider)
64
- const adapterDB = new Database({
65
- host: process.env.POSTGRES_DB_HOST,
66
- user: process.env.POSTGRES_DB_USER,
67
- database: process.env.POSTGRES_DB_NAME,
68
- password: process.env.POSTGRES_DB_PASSWORD,
69
- port: +process.env.POSTGRES_DB_PORT
70
- })
71
-
72
- const { handleCtx, httpServer } = await createBot({
73
- flow: adapterFlow,
74
- provider: adapterProvider,
75
- database: adapterDB,
76
- })
77
-
78
- adapterProvider.server.post(
79
- '/v1/messages',
80
- handleCtx(async (bot, req, res) => {
81
- const { number, message, urlMedia } = req.body
82
- await bot.sendMessage(number, message, { media: urlMedia ?? null })
83
- return res.end('sended')
84
- })
85
- )
86
-
87
- adapterProvider.server.post(
88
- '/v1/register',
89
- handleCtx(async (bot, req, res) => {
90
- const { number, name } = req.body
91
- await bot.dispatch('REGISTER_FLOW', { from: number, name })
92
- return res.end('trigger')
93
- })
94
- )
95
-
96
- adapterProvider.server.post(
97
- '/v1/samples',
98
- handleCtx(async (bot, req, res) => {
99
- const { number, name } = req.body
100
- await bot.dispatch('SAMPLES', { from: number, name })
101
- return res.end('trigger')
102
- })
103
- )
104
-
105
- adapterProvider.server.post(
106
- '/v1/blacklist',
107
- handleCtx(async (bot, req, res) => {
108
- const { number, intent } = req.body
109
- if (intent === 'remove') bot.blacklist.remove(number)
110
- if (intent === 'add') bot.blacklist.add(number)
111
-
112
- res.writeHead(200, { 'Content-Type': 'application/json' })
113
- return res.end(JSON.stringify({ status: 'ok', number, intent }))
114
- })
115
- )
116
-
117
- httpServer(+PORT)
118
- }
119
-
120
- main()
1
+ import { join } from 'path'
2
+ import { createBot, createProvider, createFlow, addKeyword, utils } from '@builderbot/bot'
3
+ import { PostgreSQLAdapter as Database } from '@builderbot/database-postgres'
4
+ import { BaileysProvider as Provider } from '@builderbot/provider-baileys'
5
+
6
+ const PORT = process.env.PORT ?? 3008
7
+
8
+ const discordFlow = addKeyword('doc').addAnswer(
9
+ ['You can see the documentation here', '📄 https://builderbot.app/docs \n', 'Do you want to continue? *yes*'].join(
10
+ '\n'
11
+ ),
12
+ { capture: true },
13
+ async (ctx, { gotoFlow, flowDynamic }) => {
14
+ if (ctx.body.toLocaleLowerCase().includes('yes')) {
15
+ return gotoFlow(registerFlow)
16
+ }
17
+ await flowDynamic('Thanks!')
18
+ return
19
+ }
20
+ )
21
+
22
+ const welcomeFlow = addKeyword(['hi', 'hello', 'hola'])
23
+ .addAnswer(`🙌 Hello welcome to this *Chatbot*`)
24
+ .addAnswer(
25
+ [
26
+ 'I share with you the following links of interest about the project',
27
+ '👉 *doc* to view the documentation',
28
+ ].join('\n'),
29
+ { delay: 800, capture: true },
30
+ async (ctx, { fallBack }) => {
31
+ if (!ctx.body.toLocaleLowerCase().includes('doc')) {
32
+ return fallBack('You should type *doc*')
33
+ }
34
+ return
35
+ },
36
+ [discordFlow]
37
+ )
38
+
39
+ const registerFlow = addKeyword(utils.setEvent('REGISTER_FLOW'))
40
+ .addAnswer(`What is your name?`, { capture: true }, async (ctx, { state }) => {
41
+ await state.update({ name: ctx.body })
42
+ })
43
+ .addAnswer('What is your age?', { capture: true }, async (ctx, { state }) => {
44
+ await state.update({ age: ctx.body })
45
+ })
46
+ .addAction(async (_, { flowDynamic, state }) => {
47
+ await flowDynamic(`${state.get('name')}, thanks for your information!: Your age: ${state.get('age')}`)
48
+ })
49
+
50
+ const fullSamplesFlow = addKeyword(['samples', utils.setEvent('SAMPLES')])
51
+ .addAnswer(`💪 I'll send you a lot files...`)
52
+ .addAnswer(`Send image from Local`, { media: join(process.cwd(), 'assets', 'sample.png') })
53
+ .addAnswer(`Send video from URL`, {
54
+ media: 'https://media.giphy.com/media/v1.Y2lkPTc5MGI3NjExYTJ0ZGdjd2syeXAwMjQ4aWdkcW04OWlqcXI3Ynh1ODkwZ25zZWZ1dCZlcD12MV9pbnRlcm5hbF9naWZfYnlfaWQmY3Q9Zw/LCohAb657pSdHv0Q5h/giphy.mp4',
55
+ })
56
+ .addAnswer(`Send audio from URL`, { media: 'https://cdn.freesound.org/previews/728/728142_11861866-lq.mp3' })
57
+ .addAnswer(`Send file from URL`, {
58
+ media: 'https://www.w3.org/WAI/ER/tests/xhtml/testfiles/resources/pdf/dummy.pdf',
59
+ })
60
+
61
+ const main = async () => {
62
+ const adapterFlow = createFlow([welcomeFlow, registerFlow, fullSamplesFlow])
63
+
64
+ const adapterProvider = createProvider(Provider)
65
+ const adapterDB = new Database({
66
+ host: process.env.POSTGRES_DB_HOST,
67
+ user: process.env.POSTGRES_DB_USER,
68
+ database: process.env.POSTGRES_DB_NAME,
69
+ password: process.env.POSTGRES_DB_PASSWORD,
70
+ port: +process.env.POSTGRES_DB_PORT
71
+ })
72
+
73
+ const { handleCtx, httpServer } = await createBot({
74
+ flow: adapterFlow,
75
+ provider: adapterProvider,
76
+ database: adapterDB,
77
+ })
78
+
79
+ adapterProvider.server.post(
80
+ '/v1/messages',
81
+ handleCtx(async (bot, req, res) => {
82
+ const { number, message, urlMedia } = req.body
83
+ await bot.sendMessage(number, message, { media: urlMedia ?? null })
84
+ return res.end('sended')
85
+ })
86
+ )
87
+
88
+ adapterProvider.server.post(
89
+ '/v1/register',
90
+ handleCtx(async (bot, req, res) => {
91
+ const { number, name } = req.body
92
+ await bot.dispatch('REGISTER_FLOW', { from: number, name })
93
+ return res.end('trigger')
94
+ })
95
+ )
96
+
97
+ adapterProvider.server.post(
98
+ '/v1/samples',
99
+ handleCtx(async (bot, req, res) => {
100
+ const { number, name } = req.body
101
+ await bot.dispatch('SAMPLES', { from: number, name })
102
+ return res.end('trigger')
103
+ })
104
+ )
105
+
106
+ adapterProvider.server.post(
107
+ '/v1/blacklist',
108
+ handleCtx(async (bot, req, res) => {
109
+ const { number, intent } = req.body
110
+ if (intent === 'remove') bot.blacklist.remove(number)
111
+ if (intent === 'add') bot.blacklist.add(number)
112
+
113
+ res.writeHead(200, { 'Content-Type': 'application/json' })
114
+ return res.end(JSON.stringify({ status: 'ok', number, intent }))
115
+ })
116
+ )
117
+
118
+ httpServer(+PORT)
119
+ }
120
+
121
+ main()