@builderbot/cli 1.3.14 → 1.3.15-alpha.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 (181) hide show
  1. package/dist/starters/apps/base-js-baileys-json/src/app.js +9 -0
  2. package/dist/starters/apps/base-js-baileys-memory/src/app.js +9 -0
  3. package/dist/starters/apps/base-js-baileys-mongo/src/app.js +9 -0
  4. package/dist/starters/apps/base-js-baileys-mysql/src/app.js +9 -0
  5. package/dist/starters/apps/base-js-baileys-postgres/src/app.js +9 -0
  6. package/dist/starters/apps/base-js-evolution-api-json/src/app.js +9 -0
  7. package/dist/starters/apps/base-js-evolution-api-memory/src/app.js +9 -0
  8. package/dist/starters/apps/base-js-evolution-api-mongo/src/app.js +9 -0
  9. package/dist/starters/apps/base-js-evolution-api-mysql/src/app.js +9 -0
  10. package/dist/starters/apps/base-js-evolution-api-postgres/src/app.js +9 -0
  11. package/dist/starters/apps/base-js-facebook-messenger-json/src/app.js +9 -0
  12. package/dist/starters/apps/base-js-facebook-messenger-memory/src/app.js +9 -0
  13. package/dist/starters/apps/base-js-facebook-messenger-mongo/src/app.js +9 -0
  14. package/dist/starters/apps/base-js-facebook-messenger-mysql/src/app.js +9 -0
  15. package/dist/starters/apps/base-js-facebook-messenger-postgres/src/app.js +9 -0
  16. package/dist/starters/apps/base-js-instagram-json/src/app.js +9 -0
  17. package/dist/starters/apps/base-js-instagram-memory/src/app.js +9 -0
  18. package/dist/starters/apps/base-js-instagram-mongo/src/app.js +9 -0
  19. package/dist/starters/apps/base-js-instagram-mysql/src/app.js +9 -0
  20. package/dist/starters/apps/base-js-instagram-postgres/src/app.js +9 -0
  21. package/dist/starters/apps/base-js-meta-json/src/app.js +9 -0
  22. package/dist/starters/apps/base-js-meta-memory/src/app.js +9 -0
  23. package/dist/starters/apps/base-js-meta-mongo/src/app.js +9 -0
  24. package/dist/starters/apps/base-js-meta-mysql/src/app.js +9 -0
  25. package/dist/starters/apps/base-js-meta-postgres/src/app.js +9 -0
  26. package/dist/starters/apps/base-js-sherpa-json/src/app.js +9 -0
  27. package/dist/starters/apps/base-js-sherpa-memory/src/app.js +9 -0
  28. package/dist/starters/apps/base-js-sherpa-mongo/src/app.js +9 -0
  29. package/dist/starters/apps/base-js-sherpa-mysql/src/app.js +9 -0
  30. package/dist/starters/apps/base-js-sherpa-postgres/src/app.js +9 -0
  31. package/dist/starters/apps/base-js-twilio-json/src/app.js +9 -0
  32. package/dist/starters/apps/base-js-twilio-memory/src/app.js +9 -0
  33. package/dist/starters/apps/base-js-twilio-mongo/src/app.js +9 -0
  34. package/dist/starters/apps/base-js-twilio-mysql/src/app.js +9 -0
  35. package/dist/starters/apps/base-js-twilio-postgres/src/app.js +9 -0
  36. package/dist/starters/apps/base-js-wppconnect-json/src/app.js +9 -0
  37. package/dist/starters/apps/base-js-wppconnect-memory/src/app.js +9 -0
  38. package/dist/starters/apps/base-js-wppconnect-mongo/src/app.js +9 -0
  39. package/dist/starters/apps/base-js-wppconnect-mysql/src/app.js +9 -0
  40. package/dist/starters/apps/base-js-wppconnect-postgres/src/app.js +9 -0
  41. package/dist/starters/apps/base-ts-baileys-json/src/app.ts +10 -0
  42. package/dist/starters/apps/base-ts-baileys-memory/src/app.ts +10 -0
  43. package/dist/starters/apps/base-ts-baileys-mongo/src/app.ts +10 -0
  44. package/dist/starters/apps/base-ts-baileys-mysql/src/app.ts +10 -0
  45. package/dist/starters/apps/base-ts-baileys-postgres/src/app.ts +10 -0
  46. package/dist/starters/apps/base-ts-evolution-api-json/src/app.ts +10 -0
  47. package/dist/starters/apps/base-ts-evolution-api-memory/src/app.ts +10 -0
  48. package/dist/starters/apps/base-ts-evolution-api-mongo/src/app.ts +10 -0
  49. package/dist/starters/apps/base-ts-evolution-api-mysql/src/app.ts +10 -0
  50. package/dist/starters/apps/base-ts-evolution-api-postgres/src/app.ts +10 -0
  51. package/dist/starters/apps/base-ts-facebook-messenger-json/src/app.ts +10 -0
  52. package/dist/starters/apps/base-ts-facebook-messenger-memory/src/app.ts +10 -0
  53. package/dist/starters/apps/base-ts-facebook-messenger-mongo/src/app.ts +10 -0
  54. package/dist/starters/apps/base-ts-facebook-messenger-mysql/src/app.ts +10 -0
  55. package/dist/starters/apps/base-ts-facebook-messenger-postgres/src/app.ts +10 -0
  56. package/dist/starters/apps/base-ts-instagram-json/src/app.ts +10 -0
  57. package/dist/starters/apps/base-ts-instagram-memory/src/app.ts +10 -0
  58. package/dist/starters/apps/base-ts-instagram-mongo/src/app.ts +10 -0
  59. package/dist/starters/apps/base-ts-instagram-mysql/src/app.ts +10 -0
  60. package/dist/starters/apps/base-ts-instagram-postgres/src/app.ts +10 -0
  61. package/dist/starters/apps/base-ts-meta-json/src/app.ts +10 -0
  62. package/dist/starters/apps/base-ts-meta-memory/src/app.ts +10 -0
  63. package/dist/starters/apps/base-ts-meta-mongo/src/app.ts +10 -0
  64. package/dist/starters/apps/base-ts-meta-mysql/src/app.ts +10 -0
  65. package/dist/starters/apps/base-ts-meta-postgres/src/app.ts +10 -0
  66. package/dist/starters/apps/base-ts-sherpa-json/src/app.ts +10 -0
  67. package/dist/starters/apps/base-ts-sherpa-memory/src/app.ts +10 -0
  68. package/dist/starters/apps/base-ts-sherpa-mongo/src/app.ts +10 -0
  69. package/dist/starters/apps/base-ts-sherpa-mysql/src/app.ts +10 -0
  70. package/dist/starters/apps/base-ts-sherpa-postgres/src/app.ts +10 -0
  71. package/dist/starters/apps/base-ts-twilio-json/src/app.ts +10 -0
  72. package/dist/starters/apps/base-ts-twilio-memory/src/app.ts +10 -0
  73. package/dist/starters/apps/base-ts-twilio-mongo/src/app.ts +10 -0
  74. package/dist/starters/apps/base-ts-twilio-mysql/src/app.ts +10 -0
  75. package/dist/starters/apps/base-ts-twilio-postgres/src/app.ts +10 -0
  76. package/dist/starters/apps/base-ts-wppconnect-json/src/app.ts +10 -0
  77. package/dist/starters/apps/base-ts-wppconnect-memory/src/app.ts +10 -0
  78. package/dist/starters/apps/base-ts-wppconnect-mongo/src/app.ts +10 -0
  79. package/dist/starters/apps/base-ts-wppconnect-mysql/src/app.ts +10 -0
  80. package/dist/starters/apps/base-ts-wppconnect-postgres/src/app.ts +10 -0
  81. package/package.json +2 -2
  82. package/dist/starters/apps/base-js-venom-json/.dockerignore +0 -7
  83. package/dist/starters/apps/base-js-venom-json/.eslintrc.json +0 -17
  84. package/dist/starters/apps/base-js-venom-json/Dockerfile +0 -65
  85. package/dist/starters/apps/base-js-venom-json/README.md +0 -44
  86. package/dist/starters/apps/base-js-venom-json/_gitignore +0 -10
  87. package/dist/starters/apps/base-js-venom-json/assets/sample.png +0 -0
  88. package/dist/starters/apps/base-js-venom-json/nodemon.json +0 -9
  89. package/dist/starters/apps/base-js-venom-json/package.json +0 -25
  90. package/dist/starters/apps/base-js-venom-json/src/app.js +0 -116
  91. package/dist/starters/apps/base-js-venom-memory/.dockerignore +0 -7
  92. package/dist/starters/apps/base-js-venom-memory/.eslintrc.json +0 -17
  93. package/dist/starters/apps/base-js-venom-memory/Dockerfile +0 -65
  94. package/dist/starters/apps/base-js-venom-memory/README.md +0 -44
  95. package/dist/starters/apps/base-js-venom-memory/_gitignore +0 -10
  96. package/dist/starters/apps/base-js-venom-memory/assets/sample.png +0 -0
  97. package/dist/starters/apps/base-js-venom-memory/nodemon.json +0 -9
  98. package/dist/starters/apps/base-js-venom-memory/package.json +0 -24
  99. package/dist/starters/apps/base-js-venom-memory/src/app.js +0 -115
  100. package/dist/starters/apps/base-js-venom-mongo/.dockerignore +0 -7
  101. package/dist/starters/apps/base-js-venom-mongo/.eslintrc.json +0 -17
  102. package/dist/starters/apps/base-js-venom-mongo/Dockerfile +0 -65
  103. package/dist/starters/apps/base-js-venom-mongo/README.md +0 -44
  104. package/dist/starters/apps/base-js-venom-mongo/_gitignore +0 -10
  105. package/dist/starters/apps/base-js-venom-mongo/assets/sample.png +0 -0
  106. package/dist/starters/apps/base-js-venom-mongo/nodemon.json +0 -9
  107. package/dist/starters/apps/base-js-venom-mongo/package.json +0 -25
  108. package/dist/starters/apps/base-js-venom-mongo/src/app.js +0 -118
  109. package/dist/starters/apps/base-js-venom-mysql/.dockerignore +0 -7
  110. package/dist/starters/apps/base-js-venom-mysql/.eslintrc.json +0 -17
  111. package/dist/starters/apps/base-js-venom-mysql/Dockerfile +0 -65
  112. package/dist/starters/apps/base-js-venom-mysql/README.md +0 -44
  113. package/dist/starters/apps/base-js-venom-mysql/_gitignore +0 -10
  114. package/dist/starters/apps/base-js-venom-mysql/assets/sample.png +0 -0
  115. package/dist/starters/apps/base-js-venom-mysql/nodemon.json +0 -9
  116. package/dist/starters/apps/base-js-venom-mysql/package.json +0 -25
  117. package/dist/starters/apps/base-js-venom-mysql/src/app.js +0 -120
  118. package/dist/starters/apps/base-js-venom-postgres/.dockerignore +0 -7
  119. package/dist/starters/apps/base-js-venom-postgres/.eslintrc.json +0 -17
  120. package/dist/starters/apps/base-js-venom-postgres/Dockerfile +0 -65
  121. package/dist/starters/apps/base-js-venom-postgres/README.md +0 -44
  122. package/dist/starters/apps/base-js-venom-postgres/_gitignore +0 -10
  123. package/dist/starters/apps/base-js-venom-postgres/assets/sample.png +0 -0
  124. package/dist/starters/apps/base-js-venom-postgres/nodemon.json +0 -9
  125. package/dist/starters/apps/base-js-venom-postgres/package.json +0 -25
  126. package/dist/starters/apps/base-js-venom-postgres/src/app.js +0 -121
  127. package/dist/starters/apps/base-ts-venom-json/.dockerignore +0 -7
  128. package/dist/starters/apps/base-ts-venom-json/.eslintrc.json +0 -26
  129. package/dist/starters/apps/base-ts-venom-json/Dockerfile +0 -66
  130. package/dist/starters/apps/base-ts-venom-json/README.md +0 -44
  131. package/dist/starters/apps/base-ts-venom-json/_gitignore +0 -10
  132. package/dist/starters/apps/base-ts-venom-json/assets/sample.png +0 -0
  133. package/dist/starters/apps/base-ts-venom-json/nodemon.json +0 -12
  134. package/dist/starters/apps/base-ts-venom-json/package.json +0 -33
  135. package/dist/starters/apps/base-ts-venom-json/rollup.config.js +0 -13
  136. package/dist/starters/apps/base-ts-venom-json/src/app.ts +0 -116
  137. package/dist/starters/apps/base-ts-venom-json/tsconfig.json +0 -34
  138. package/dist/starters/apps/base-ts-venom-memory/.dockerignore +0 -7
  139. package/dist/starters/apps/base-ts-venom-memory/.eslintrc.json +0 -26
  140. package/dist/starters/apps/base-ts-venom-memory/Dockerfile +0 -66
  141. package/dist/starters/apps/base-ts-venom-memory/README.md +0 -44
  142. package/dist/starters/apps/base-ts-venom-memory/_gitignore +0 -10
  143. package/dist/starters/apps/base-ts-venom-memory/assets/sample.png +0 -0
  144. package/dist/starters/apps/base-ts-venom-memory/nodemon.json +0 -12
  145. package/dist/starters/apps/base-ts-venom-memory/package.json +0 -32
  146. package/dist/starters/apps/base-ts-venom-memory/rollup.config.js +0 -13
  147. package/dist/starters/apps/base-ts-venom-memory/src/app.ts +0 -115
  148. package/dist/starters/apps/base-ts-venom-memory/tsconfig.json +0 -34
  149. package/dist/starters/apps/base-ts-venom-mongo/.dockerignore +0 -7
  150. package/dist/starters/apps/base-ts-venom-mongo/.eslintrc.json +0 -26
  151. package/dist/starters/apps/base-ts-venom-mongo/Dockerfile +0 -66
  152. package/dist/starters/apps/base-ts-venom-mongo/README.md +0 -44
  153. package/dist/starters/apps/base-ts-venom-mongo/_gitignore +0 -10
  154. package/dist/starters/apps/base-ts-venom-mongo/assets/sample.png +0 -0
  155. package/dist/starters/apps/base-ts-venom-mongo/nodemon.json +0 -12
  156. package/dist/starters/apps/base-ts-venom-mongo/package.json +0 -33
  157. package/dist/starters/apps/base-ts-venom-mongo/rollup.config.js +0 -13
  158. package/dist/starters/apps/base-ts-venom-mongo/src/app.ts +0 -118
  159. package/dist/starters/apps/base-ts-venom-mongo/tsconfig.json +0 -34
  160. package/dist/starters/apps/base-ts-venom-mysql/.dockerignore +0 -7
  161. package/dist/starters/apps/base-ts-venom-mysql/.eslintrc.json +0 -26
  162. package/dist/starters/apps/base-ts-venom-mysql/Dockerfile +0 -66
  163. package/dist/starters/apps/base-ts-venom-mysql/README.md +0 -44
  164. package/dist/starters/apps/base-ts-venom-mysql/_gitignore +0 -10
  165. package/dist/starters/apps/base-ts-venom-mysql/assets/sample.png +0 -0
  166. package/dist/starters/apps/base-ts-venom-mysql/nodemon.json +0 -12
  167. package/dist/starters/apps/base-ts-venom-mysql/package.json +0 -33
  168. package/dist/starters/apps/base-ts-venom-mysql/rollup.config.js +0 -13
  169. package/dist/starters/apps/base-ts-venom-mysql/src/app.ts +0 -120
  170. package/dist/starters/apps/base-ts-venom-mysql/tsconfig.json +0 -34
  171. package/dist/starters/apps/base-ts-venom-postgres/.dockerignore +0 -7
  172. package/dist/starters/apps/base-ts-venom-postgres/.eslintrc.json +0 -26
  173. package/dist/starters/apps/base-ts-venom-postgres/Dockerfile +0 -66
  174. package/dist/starters/apps/base-ts-venom-postgres/README.md +0 -44
  175. package/dist/starters/apps/base-ts-venom-postgres/_gitignore +0 -10
  176. package/dist/starters/apps/base-ts-venom-postgres/assets/sample.png +0 -0
  177. package/dist/starters/apps/base-ts-venom-postgres/nodemon.json +0 -12
  178. package/dist/starters/apps/base-ts-venom-postgres/package.json +0 -33
  179. package/dist/starters/apps/base-ts-venom-postgres/rollup.config.js +0 -13
  180. package/dist/starters/apps/base-ts-venom-postgres/src/app.ts +0 -121
  181. package/dist/starters/apps/base-ts-venom-postgres/tsconfig.json +0 -34
@@ -1,12 +0,0 @@
1
- {
2
- "watch": ["src"],
3
- "ext": "ts",
4
- "ignore": [
5
- "**/*.test.ts",
6
- "**/*.spec.ts"
7
- ],
8
- "delay": "3",
9
- "execMap": {
10
- "ts": "tsx"
11
- }
12
- }
@@ -1,33 +0,0 @@
1
- {
2
- "name": "base-bailey-json",
3
- "version": "1.0.0",
4
- "description": "",
5
- "main": "dist/app.js",
6
- "type": "module",
7
- "scripts": {
8
- "start": "node ./dist/app.js",
9
- "lint": "eslint . --no-ignore",
10
- "dev": "npm run lint && nodemon --signal SIGKILL ./src/app.ts",
11
- "build": "npx rollup -c"
12
- },
13
- "keywords": [],
14
- "dependencies": {
15
- "@builderbot/bot": "latest",
16
- "@builderbot/provider-venom": "latest",
17
- "@builderbot/database-mongo": "latest"
18
- },
19
- "devDependencies": {
20
- "@types/node": "^20.11.30",
21
- "@typescript-eslint/eslint-plugin": "^7.4.0",
22
- "@typescript-eslint/parser": "^7.4.0",
23
- "eslint": "^8.52.0",
24
- "eslint-plugin-builderbot": "latest",
25
- "rollup": "^4.10.0",
26
- "nodemon": "^3.1.0",
27
- "rollup-plugin-typescript2": "^0.36.0",
28
- "tsx": "^4.7.1",
29
- "typescript": "^5.4.3"
30
- },
31
- "author": "",
32
- "license": "ISC"
33
- }
@@ -1,13 +0,0 @@
1
- import typescript from 'rollup-plugin-typescript2'
2
-
3
- export default {
4
- input: 'src/app.ts',
5
- output: {
6
- file: 'dist/app.js',
7
- format: 'esm',
8
- },
9
- onwarn: (warning) => {
10
- if (warning.code === 'UNRESOLVED_IMPORT') return
11
- },
12
- plugins: [typescript()],
13
- }
@@ -1,118 +0,0 @@
1
- import { join } from 'path'
2
- import { createBot, createProvider, createFlow, addKeyword, utils } from '@builderbot/bot'
3
- import { MongoAdapter as Database } from '@builderbot/database-mongo'
4
- import { VenomProvider as Provider } from '@builderbot/provider-venom'
5
-
6
- const PORT = process.env.PORT ?? 3008
7
-
8
- const discordFlow = addKeyword<Provider, Database>('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<Provider, Database>(['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<Provider, Database>(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<Provider, Database>(['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
- dbUri: process.env.MONGO_DB_URI,
67
- dbName: process.env.MONGO_DB_NAME,
68
- })
69
-
70
- const { handleCtx, httpServer } = await createBot({
71
- flow: adapterFlow,
72
- provider: adapterProvider,
73
- database: adapterDB,
74
- })
75
-
76
- adapterProvider.server.post(
77
- '/v1/messages',
78
- handleCtx(async (bot, req, res) => {
79
- const { number, message, urlMedia } = req.body
80
- await bot.sendMessage(number, message, { media: urlMedia ?? null })
81
- return res.end('sended')
82
- })
83
- )
84
-
85
- adapterProvider.server.post(
86
- '/v1/register',
87
- handleCtx(async (bot, req, res) => {
88
- const { number, name } = req.body
89
- await bot.dispatch('REGISTER_FLOW', { from: number, name })
90
- return res.end('trigger')
91
- })
92
- )
93
-
94
- adapterProvider.server.post(
95
- '/v1/samples',
96
- handleCtx(async (bot, req, res) => {
97
- const { number, name } = req.body
98
- await bot.dispatch('SAMPLES', { from: number, name })
99
- return res.end('trigger')
100
- })
101
- )
102
-
103
- adapterProvider.server.post(
104
- '/v1/blacklist',
105
- handleCtx(async (bot, req, res) => {
106
- const { number, intent } = req.body
107
- if (intent === 'remove') bot.blacklist.remove(number)
108
- if (intent === 'add') bot.blacklist.add(number)
109
-
110
- res.writeHead(200, { 'Content-Type': 'application/json' })
111
- return res.end(JSON.stringify({ status: 'ok', number, intent }))
112
- })
113
- )
114
-
115
- httpServer(+PORT)
116
- }
117
-
118
- main()
@@ -1,34 +0,0 @@
1
- {
2
- "compilerOptions": {
3
- "target": "ES2022",
4
- "module": "ES2022",
5
- "declaration": false,
6
- "declarationMap": false,
7
- "moduleResolution": "node",
8
- "removeComments": true,
9
- "emitDecoratorMetadata": true,
10
- "experimentalDecorators": true,
11
- "allowSyntheticDefaultImports": true,
12
- "sourceMap": false,
13
- "outDir": "./dist",
14
- "baseUrl": "./",
15
- "rootDir": "./",
16
- "incremental": true,
17
- "skipLibCheck": true,
18
- "paths": {
19
- "~/*": ["./src/*"]
20
- }
21
- },
22
- "include": [
23
- "**/*.js",
24
- "**/*.ts"
25
- ],
26
- "exclude": [
27
- "node_modules",
28
- "dist",
29
- "**/*.test.ts",
30
- "**/*.spec.ts",
31
- "**e2e**",
32
- "**mock**"
33
- ]
34
- }
@@ -1,7 +0,0 @@
1
- dist/*
2
- node_modules
3
- .env
4
-
5
- *_sessions
6
- *tokens
7
- .wwebjs*
@@ -1,26 +0,0 @@
1
- {
2
- "root": true,
3
- "env": {
4
- "browser": true,
5
- "node": true,
6
- "es2021": true
7
- },
8
- "extends": [
9
- "eslint:recommended",
10
- "plugin:@typescript-eslint/recommended",
11
- "plugin:builderbot/recommended"
12
- ],
13
- "parser": "@typescript-eslint/parser",
14
- "parserOptions": {
15
- "ecmaVersion": "latest",
16
- "sourceType": "module"
17
- },
18
- "plugins": ["@typescript-eslint", "builderbot"],
19
- "rules": {
20
- "@typescript-eslint/no-explicit-any": "off",
21
- "@typescript-eslint/no-unused-vars": "off",
22
- "@typescript-eslint/ban-ts-comment": "off",
23
- "@typescript-eslint/ban-types": "off",
24
- "no-unsafe-optional-chaining": "off"
25
- }
26
- }
@@ -1,66 +0,0 @@
1
- FROM node:21-alpine3.18 as builder
2
-
3
- RUN apk add --no-cache \
4
- git \
5
- python3 \
6
- make \
7
- g++ \
8
- chromium \
9
- nss \
10
- freetype \
11
- harfbuzz \
12
- ca-certificates \
13
- libpq-dev \
14
- ttf-freefont \
15
- udev
16
-
17
- RUN corepack enable && corepack prepare pnpm@latest --activate
18
- ENV PNPM_HOME=/usr/local/bin
19
-
20
- RUN addgroup -S pptruser && adduser -S -G pptruser pptruser
21
-
22
- WORKDIR /app
23
- RUN chown -R pptruser:pptruser /app
24
-
25
- USER pptruser
26
-
27
- COPY package.json *-lock.* ./
28
-
29
- RUN pnpm install --production=false
30
-
31
- COPY . .
32
- RUN pnpm run build
33
-
34
- FROM node:21-alpine3.18
35
-
36
- RUN apk add --no-cache \
37
- chromium \
38
- nss \
39
- freetype \
40
- harfbuzz \
41
- ca-certificates \
42
- libpq-dev \
43
- ttf-freefont \
44
- udev
45
-
46
- RUN corepack enable && corepack prepare pnpm@latest --activate
47
- ENV PNPM_HOME=/usr/local/bin
48
-
49
- RUN addgroup -S pptruser && adduser -S -G pptruser pptruser
50
-
51
- WORKDIR /app
52
-
53
- COPY --from=builder /app/dist ./dist
54
- COPY --from=builder /app/package.json /app/pnpm-lock.yaml ./
55
-
56
- RUN chown -R pptruser:pptruser /app
57
-
58
- USER pptruser
59
-
60
- ARG PORT
61
- ENV PORT $PORT
62
- EXPOSE $PORT
63
-
64
- RUN pnpm install --production
65
-
66
- CMD ["npm", "start"]
@@ -1,44 +0,0 @@
1
- <p align="center">
2
- <a href="https://builderbot.app/">
3
- <picture>
4
- <img src="https://builderbot.app/assets/thumbnail-vector.png" height="80">
5
- </picture>
6
- <h2 align="center">BuilderBot</h2>
7
- </a>
8
- </p>
9
-
10
-
11
-
12
- <p align="center">
13
- <a aria-label="NPM version" href="https://www.npmjs.com/package/@builderbot/bot">
14
- <img alt="" src="https://img.shields.io/npm/v/@builderbot/bot?color=%2300c200&label=%40bot-whatsapp">
15
- </a>
16
- <a aria-label="Join the community on GitHub" href="https://link.codigoencasa.com/DISCORD">
17
- <img alt="" src="https://img.shields.io/discord/915193197645402142?logo=discord">
18
- </a>
19
- </p>
20
-
21
-
22
- ## Getting Started
23
-
24
- With this library, you can build automated conversation flows agnostic to the WhatsApp provider, set up automated responses for frequently asked questions, receive and respond to messages automatically, and track interactions with customers. Additionally, you can easily set up triggers to expand functionalities limitlessly.
25
-
26
- ```
27
- npm create builderbot@latest
28
- ```
29
-
30
-
31
- ## Documentation
32
-
33
- Visit [builderbot](https://builderbot.app/) to view the full documentation.
34
-
35
-
36
- ## Official Course
37
-
38
- If you want to discover all the functions and features offered by the library you can take the course.
39
- [View Course](https://app.codigoencasa.com/courses/builderbot?refCode=LEIFER)
40
-
41
-
42
- ## Contact Us
43
- - [💻 Discord](https://link.codigoencasa.com/DISCORD)
44
- - [👌 𝕏 (Twitter)](https://twitter.com/leifermendez)
@@ -1,10 +0,0 @@
1
- dist/*
2
- node_modules
3
- .env
4
-
5
- *_sessions
6
- *tokens
7
- .wwebjs*
8
-
9
- *.log
10
- *qr.png
@@ -1,12 +0,0 @@
1
- {
2
- "watch": ["src"],
3
- "ext": "ts",
4
- "ignore": [
5
- "**/*.test.ts",
6
- "**/*.spec.ts"
7
- ],
8
- "delay": "3",
9
- "execMap": {
10
- "ts": "tsx"
11
- }
12
- }
@@ -1,33 +0,0 @@
1
- {
2
- "name": "base-bailey-json",
3
- "version": "1.0.0",
4
- "description": "",
5
- "main": "dist/app.js",
6
- "type": "module",
7
- "scripts": {
8
- "start": "node ./dist/app.js",
9
- "lint": "eslint . --no-ignore",
10
- "dev": "npm run lint && nodemon --signal SIGKILL ./src/app.ts",
11
- "build": "npx rollup -c"
12
- },
13
- "keywords": [],
14
- "dependencies": {
15
- "@builderbot/bot": "latest",
16
- "@builderbot/provider-venom": "latest",
17
- "@builderbot/database-mysql": "latest"
18
- },
19
- "devDependencies": {
20
- "@types/node": "^20.11.30",
21
- "@typescript-eslint/eslint-plugin": "^7.4.0",
22
- "@typescript-eslint/parser": "^7.4.0",
23
- "eslint": "^8.52.0",
24
- "eslint-plugin-builderbot": "latest",
25
- "rollup": "^4.10.0",
26
- "nodemon": "^3.1.0",
27
- "rollup-plugin-typescript2": "^0.36.0",
28
- "tsx": "^4.7.1",
29
- "typescript": "^5.4.3"
30
- },
31
- "author": "",
32
- "license": "ISC"
33
- }
@@ -1,13 +0,0 @@
1
- import typescript from 'rollup-plugin-typescript2'
2
-
3
- export default {
4
- input: 'src/app.ts',
5
- output: {
6
- file: 'dist/app.js',
7
- format: 'esm',
8
- },
9
- onwarn: (warning) => {
10
- if (warning.code === 'UNRESOLVED_IMPORT') return
11
- },
12
- plugins: [typescript()],
13
- }
@@ -1,120 +0,0 @@
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 { VenomProvider as Provider } from '@builderbot/provider-venom'
5
-
6
- const PORT = process.env.PORT ?? 3008
7
-
8
- const discordFlow = addKeyword<Provider, Database>('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<Provider, Database>(['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<Provider, Database>(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<Provider, Database>(['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,34 +0,0 @@
1
- {
2
- "compilerOptions": {
3
- "target": "ES2022",
4
- "module": "ES2022",
5
- "declaration": false,
6
- "declarationMap": false,
7
- "moduleResolution": "node",
8
- "removeComments": true,
9
- "emitDecoratorMetadata": true,
10
- "experimentalDecorators": true,
11
- "allowSyntheticDefaultImports": true,
12
- "sourceMap": false,
13
- "outDir": "./dist",
14
- "baseUrl": "./",
15
- "rootDir": "./",
16
- "incremental": true,
17
- "skipLibCheck": true,
18
- "paths": {
19
- "~/*": ["./src/*"]
20
- }
21
- },
22
- "include": [
23
- "**/*.js",
24
- "**/*.ts"
25
- ],
26
- "exclude": [
27
- "node_modules",
28
- "dist",
29
- "**/*.test.ts",
30
- "**/*.spec.ts",
31
- "**e2e**",
32
- "**mock**"
33
- ]
34
- }
@@ -1,7 +0,0 @@
1
- dist/*
2
- node_modules
3
- .env
4
-
5
- *_sessions
6
- *tokens
7
- .wwebjs*
@@ -1,26 +0,0 @@
1
- {
2
- "root": true,
3
- "env": {
4
- "browser": true,
5
- "node": true,
6
- "es2021": true
7
- },
8
- "extends": [
9
- "eslint:recommended",
10
- "plugin:@typescript-eslint/recommended",
11
- "plugin:builderbot/recommended"
12
- ],
13
- "parser": "@typescript-eslint/parser",
14
- "parserOptions": {
15
- "ecmaVersion": "latest",
16
- "sourceType": "module"
17
- },
18
- "plugins": ["@typescript-eslint", "builderbot"],
19
- "rules": {
20
- "@typescript-eslint/no-explicit-any": "off",
21
- "@typescript-eslint/no-unused-vars": "off",
22
- "@typescript-eslint/ban-ts-comment": "off",
23
- "@typescript-eslint/ban-types": "off",
24
- "no-unsafe-optional-chaining": "off"
25
- }
26
- }