@builderbot/cli 1.3.15-alpha.7 → 1.3.15-alpha.9

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 (183) hide show
  1. package/dist/configuration/index.d.ts.map +1 -1
  2. package/dist/index.cjs +1 -0
  3. package/dist/starters/apps/base-js-baileys-json/eslint.config.js +19 -20
  4. package/dist/starters/apps/base-js-baileys-memory/eslint.config.js +19 -20
  5. package/dist/starters/apps/base-js-baileys-mongo/eslint.config.js +19 -20
  6. package/dist/starters/apps/base-js-baileys-mysql/eslint.config.js +19 -20
  7. package/dist/starters/apps/base-js-baileys-postgres/eslint.config.js +19 -20
  8. package/dist/starters/apps/base-js-email-json/.dockerignore +16 -0
  9. package/dist/starters/apps/base-js-email-json/Dockerfile +40 -0
  10. package/dist/starters/apps/base-js-email-json/README.md +44 -0
  11. package/dist/starters/apps/base-js-email-json/_gitignore +10 -0
  12. package/dist/starters/apps/base-js-email-json/assets/sample.png +0 -0
  13. package/dist/starters/apps/base-js-email-json/eslint.config.js +23 -0
  14. package/dist/starters/apps/base-js-email-json/nodemon.json +9 -0
  15. package/dist/starters/apps/base-js-email-json/package.json +25 -0
  16. package/dist/starters/apps/base-js-email-json/src/app.js +143 -0
  17. package/dist/starters/apps/base-js-email-memory/.dockerignore +16 -0
  18. package/dist/starters/apps/base-js-email-memory/Dockerfile +40 -0
  19. package/dist/starters/apps/base-js-email-memory/README.md +44 -0
  20. package/dist/starters/apps/base-js-email-memory/_gitignore +10 -0
  21. package/dist/starters/apps/base-js-email-memory/assets/sample.png +0 -0
  22. package/dist/starters/apps/base-js-email-memory/eslint.config.js +23 -0
  23. package/dist/starters/apps/base-js-email-memory/nodemon.json +9 -0
  24. package/dist/starters/apps/base-js-email-memory/package.json +24 -0
  25. package/dist/starters/apps/base-js-email-memory/src/app.js +142 -0
  26. package/dist/starters/apps/base-js-email-mongo/.dockerignore +16 -0
  27. package/dist/starters/apps/base-js-email-mongo/Dockerfile +40 -0
  28. package/dist/starters/apps/base-js-email-mongo/README.md +44 -0
  29. package/dist/starters/apps/base-js-email-mongo/_gitignore +10 -0
  30. package/dist/starters/apps/base-js-email-mongo/assets/sample.png +0 -0
  31. package/dist/starters/apps/base-js-email-mongo/eslint.config.js +23 -0
  32. package/dist/starters/apps/base-js-email-mongo/nodemon.json +9 -0
  33. package/dist/starters/apps/base-js-email-mongo/package.json +25 -0
  34. package/dist/starters/apps/base-js-email-mongo/src/app.js +145 -0
  35. package/dist/starters/apps/base-js-email-mysql/.dockerignore +16 -0
  36. package/dist/starters/apps/base-js-email-mysql/Dockerfile +40 -0
  37. package/dist/starters/apps/base-js-email-mysql/README.md +44 -0
  38. package/dist/starters/apps/base-js-email-mysql/_gitignore +10 -0
  39. package/dist/starters/apps/base-js-email-mysql/assets/sample.png +0 -0
  40. package/dist/starters/apps/base-js-email-mysql/eslint.config.js +23 -0
  41. package/dist/starters/apps/base-js-email-mysql/nodemon.json +9 -0
  42. package/dist/starters/apps/base-js-email-mysql/package.json +25 -0
  43. package/dist/starters/apps/base-js-email-mysql/src/app.js +147 -0
  44. package/dist/starters/apps/base-js-email-postgres/.dockerignore +16 -0
  45. package/dist/starters/apps/base-js-email-postgres/Dockerfile +40 -0
  46. package/dist/starters/apps/base-js-email-postgres/README.md +44 -0
  47. package/dist/starters/apps/base-js-email-postgres/_gitignore +10 -0
  48. package/dist/starters/apps/base-js-email-postgres/assets/sample.png +0 -0
  49. package/dist/starters/apps/base-js-email-postgres/eslint.config.js +23 -0
  50. package/dist/starters/apps/base-js-email-postgres/nodemon.json +9 -0
  51. package/dist/starters/apps/base-js-email-postgres/package.json +25 -0
  52. package/dist/starters/apps/base-js-email-postgres/src/app.js +148 -0
  53. package/dist/starters/apps/base-js-evolution-api-json/eslint.config.js +19 -20
  54. package/dist/starters/apps/base-js-evolution-api-memory/eslint.config.js +19 -20
  55. package/dist/starters/apps/base-js-evolution-api-mongo/eslint.config.js +19 -20
  56. package/dist/starters/apps/base-js-evolution-api-mysql/eslint.config.js +19 -20
  57. package/dist/starters/apps/base-js-evolution-api-postgres/eslint.config.js +19 -20
  58. package/dist/starters/apps/base-js-facebook-messenger-json/eslint.config.js +19 -20
  59. package/dist/starters/apps/base-js-facebook-messenger-memory/eslint.config.js +19 -20
  60. package/dist/starters/apps/base-js-facebook-messenger-mongo/eslint.config.js +19 -20
  61. package/dist/starters/apps/base-js-facebook-messenger-mysql/eslint.config.js +19 -20
  62. package/dist/starters/apps/base-js-facebook-messenger-postgres/eslint.config.js +19 -20
  63. package/dist/starters/apps/base-js-instagram-json/eslint.config.js +19 -20
  64. package/dist/starters/apps/base-js-instagram-memory/eslint.config.js +19 -20
  65. package/dist/starters/apps/base-js-instagram-mongo/eslint.config.js +19 -20
  66. package/dist/starters/apps/base-js-instagram-mysql/eslint.config.js +19 -20
  67. package/dist/starters/apps/base-js-instagram-postgres/eslint.config.js +19 -20
  68. package/dist/starters/apps/base-js-meta-json/eslint.config.js +19 -20
  69. package/dist/starters/apps/base-js-meta-memory/eslint.config.js +19 -20
  70. package/dist/starters/apps/base-js-meta-mongo/eslint.config.js +19 -20
  71. package/dist/starters/apps/base-js-meta-mysql/eslint.config.js +19 -20
  72. package/dist/starters/apps/base-js-meta-postgres/eslint.config.js +19 -20
  73. package/dist/starters/apps/base-js-sherpa-json/eslint.config.js +19 -20
  74. package/dist/starters/apps/base-js-sherpa-memory/eslint.config.js +19 -20
  75. package/dist/starters/apps/base-js-sherpa-mongo/eslint.config.js +19 -20
  76. package/dist/starters/apps/base-js-sherpa-mysql/eslint.config.js +19 -20
  77. package/dist/starters/apps/base-js-sherpa-postgres/eslint.config.js +19 -20
  78. package/dist/starters/apps/base-js-twilio-json/eslint.config.js +19 -20
  79. package/dist/starters/apps/base-js-twilio-memory/eslint.config.js +19 -20
  80. package/dist/starters/apps/base-js-twilio-mongo/eslint.config.js +19 -20
  81. package/dist/starters/apps/base-js-twilio-mysql/eslint.config.js +19 -20
  82. package/dist/starters/apps/base-js-twilio-postgres/eslint.config.js +19 -20
  83. package/dist/starters/apps/base-js-wppconnect-json/eslint.config.js +19 -20
  84. package/dist/starters/apps/base-js-wppconnect-memory/eslint.config.js +19 -20
  85. package/dist/starters/apps/base-js-wppconnect-mongo/eslint.config.js +19 -20
  86. package/dist/starters/apps/base-js-wppconnect-mysql/eslint.config.js +19 -20
  87. package/dist/starters/apps/base-js-wppconnect-postgres/eslint.config.js +19 -20
  88. package/dist/starters/apps/base-ts-baileys-json/eslint.config.js +21 -22
  89. package/dist/starters/apps/base-ts-baileys-memory/eslint.config.js +21 -22
  90. package/dist/starters/apps/base-ts-baileys-mongo/eslint.config.js +21 -22
  91. package/dist/starters/apps/base-ts-baileys-mysql/eslint.config.js +21 -22
  92. package/dist/starters/apps/base-ts-baileys-postgres/eslint.config.js +21 -22
  93. package/dist/starters/apps/base-ts-email-json/.dockerignore +16 -0
  94. package/dist/starters/apps/base-ts-email-json/Dockerfile +40 -0
  95. package/dist/starters/apps/base-ts-email-json/README.md +44 -0
  96. package/dist/starters/apps/base-ts-email-json/_gitignore +10 -0
  97. package/dist/starters/apps/base-ts-email-json/assets/sample.png +0 -0
  98. package/dist/starters/apps/base-ts-email-json/eslint.config.js +25 -0
  99. package/dist/starters/apps/base-ts-email-json/nodemon.json +12 -0
  100. package/dist/starters/apps/base-ts-email-json/package.json +32 -0
  101. package/dist/starters/apps/base-ts-email-json/rollup.config.js +13 -0
  102. package/dist/starters/apps/base-ts-email-json/src/app.ts +143 -0
  103. package/dist/starters/apps/base-ts-email-json/tsconfig.json +34 -0
  104. package/dist/starters/apps/base-ts-email-memory/.dockerignore +16 -0
  105. package/dist/starters/apps/base-ts-email-memory/Dockerfile +40 -0
  106. package/dist/starters/apps/base-ts-email-memory/README.md +44 -0
  107. package/dist/starters/apps/base-ts-email-memory/_gitignore +10 -0
  108. package/dist/starters/apps/base-ts-email-memory/assets/sample.png +0 -0
  109. package/dist/starters/apps/base-ts-email-memory/eslint.config.js +25 -0
  110. package/dist/starters/apps/base-ts-email-memory/nodemon.json +12 -0
  111. package/dist/starters/apps/base-ts-email-memory/package.json +31 -0
  112. package/dist/starters/apps/base-ts-email-memory/rollup.config.js +13 -0
  113. package/dist/starters/apps/base-ts-email-memory/src/app.ts +142 -0
  114. package/dist/starters/apps/base-ts-email-memory/tsconfig.json +34 -0
  115. package/dist/starters/apps/base-ts-email-mongo/.dockerignore +16 -0
  116. package/dist/starters/apps/base-ts-email-mongo/Dockerfile +40 -0
  117. package/dist/starters/apps/base-ts-email-mongo/README.md +44 -0
  118. package/dist/starters/apps/base-ts-email-mongo/_gitignore +10 -0
  119. package/dist/starters/apps/base-ts-email-mongo/assets/sample.png +0 -0
  120. package/dist/starters/apps/base-ts-email-mongo/eslint.config.js +25 -0
  121. package/dist/starters/apps/base-ts-email-mongo/nodemon.json +12 -0
  122. package/dist/starters/apps/base-ts-email-mongo/package.json +32 -0
  123. package/dist/starters/apps/base-ts-email-mongo/rollup.config.js +13 -0
  124. package/dist/starters/apps/base-ts-email-mongo/src/app.ts +145 -0
  125. package/dist/starters/apps/base-ts-email-mongo/tsconfig.json +34 -0
  126. package/dist/starters/apps/base-ts-email-mysql/.dockerignore +16 -0
  127. package/dist/starters/apps/base-ts-email-mysql/Dockerfile +40 -0
  128. package/dist/starters/apps/base-ts-email-mysql/README.md +44 -0
  129. package/dist/starters/apps/base-ts-email-mysql/_gitignore +10 -0
  130. package/dist/starters/apps/base-ts-email-mysql/assets/sample.png +0 -0
  131. package/dist/starters/apps/base-ts-email-mysql/eslint.config.js +25 -0
  132. package/dist/starters/apps/base-ts-email-mysql/nodemon.json +12 -0
  133. package/dist/starters/apps/base-ts-email-mysql/package.json +32 -0
  134. package/dist/starters/apps/base-ts-email-mysql/rollup.config.js +13 -0
  135. package/dist/starters/apps/base-ts-email-mysql/src/app.ts +147 -0
  136. package/dist/starters/apps/base-ts-email-mysql/tsconfig.json +34 -0
  137. package/dist/starters/apps/base-ts-email-postgres/.dockerignore +16 -0
  138. package/dist/starters/apps/base-ts-email-postgres/Dockerfile +40 -0
  139. package/dist/starters/apps/base-ts-email-postgres/README.md +44 -0
  140. package/dist/starters/apps/base-ts-email-postgres/_gitignore +10 -0
  141. package/dist/starters/apps/base-ts-email-postgres/assets/sample.png +0 -0
  142. package/dist/starters/apps/base-ts-email-postgres/eslint.config.js +25 -0
  143. package/dist/starters/apps/base-ts-email-postgres/nodemon.json +12 -0
  144. package/dist/starters/apps/base-ts-email-postgres/package.json +32 -0
  145. package/dist/starters/apps/base-ts-email-postgres/rollup.config.js +13 -0
  146. package/dist/starters/apps/base-ts-email-postgres/src/app.ts +148 -0
  147. package/dist/starters/apps/base-ts-email-postgres/tsconfig.json +34 -0
  148. package/dist/starters/apps/base-ts-evolution-api-json/eslint.config.js +21 -22
  149. package/dist/starters/apps/base-ts-evolution-api-memory/eslint.config.js +21 -22
  150. package/dist/starters/apps/base-ts-evolution-api-mongo/eslint.config.js +21 -22
  151. package/dist/starters/apps/base-ts-evolution-api-mysql/eslint.config.js +21 -22
  152. package/dist/starters/apps/base-ts-evolution-api-postgres/eslint.config.js +21 -22
  153. package/dist/starters/apps/base-ts-facebook-messenger-json/eslint.config.js +21 -22
  154. package/dist/starters/apps/base-ts-facebook-messenger-memory/eslint.config.js +21 -22
  155. package/dist/starters/apps/base-ts-facebook-messenger-mongo/eslint.config.js +21 -22
  156. package/dist/starters/apps/base-ts-facebook-messenger-mysql/eslint.config.js +21 -22
  157. package/dist/starters/apps/base-ts-facebook-messenger-postgres/eslint.config.js +21 -22
  158. package/dist/starters/apps/base-ts-instagram-json/eslint.config.js +21 -22
  159. package/dist/starters/apps/base-ts-instagram-memory/eslint.config.js +21 -22
  160. package/dist/starters/apps/base-ts-instagram-mongo/eslint.config.js +21 -22
  161. package/dist/starters/apps/base-ts-instagram-mysql/eslint.config.js +21 -22
  162. package/dist/starters/apps/base-ts-instagram-postgres/eslint.config.js +21 -22
  163. package/dist/starters/apps/base-ts-meta-json/eslint.config.js +21 -22
  164. package/dist/starters/apps/base-ts-meta-memory/eslint.config.js +21 -22
  165. package/dist/starters/apps/base-ts-meta-mongo/eslint.config.js +21 -22
  166. package/dist/starters/apps/base-ts-meta-mysql/eslint.config.js +21 -22
  167. package/dist/starters/apps/base-ts-meta-postgres/eslint.config.js +21 -22
  168. package/dist/starters/apps/base-ts-sherpa-json/eslint.config.js +21 -22
  169. package/dist/starters/apps/base-ts-sherpa-memory/eslint.config.js +21 -22
  170. package/dist/starters/apps/base-ts-sherpa-mongo/eslint.config.js +21 -22
  171. package/dist/starters/apps/base-ts-sherpa-mysql/eslint.config.js +21 -22
  172. package/dist/starters/apps/base-ts-sherpa-postgres/eslint.config.js +21 -22
  173. package/dist/starters/apps/base-ts-twilio-json/eslint.config.js +21 -22
  174. package/dist/starters/apps/base-ts-twilio-memory/eslint.config.js +21 -22
  175. package/dist/starters/apps/base-ts-twilio-mongo/eslint.config.js +21 -22
  176. package/dist/starters/apps/base-ts-twilio-mysql/eslint.config.js +21 -22
  177. package/dist/starters/apps/base-ts-twilio-postgres/eslint.config.js +21 -22
  178. package/dist/starters/apps/base-ts-wppconnect-json/eslint.config.js +21 -22
  179. package/dist/starters/apps/base-ts-wppconnect-memory/eslint.config.js +21 -22
  180. package/dist/starters/apps/base-ts-wppconnect-mongo/eslint.config.js +21 -22
  181. package/dist/starters/apps/base-ts-wppconnect-mysql/eslint.config.js +21 -22
  182. package/dist/starters/apps/base-ts-wppconnect-postgres/eslint.config.js +21 -22
  183. package/package.json +2 -2
@@ -0,0 +1,25 @@
1
+ import tseslint from 'typescript-eslint'
2
+ import builderbot from 'eslint-plugin-builderbot'
3
+
4
+ export default [
5
+ {
6
+ ignores: ['dist/**', 'node_modules/**', 'rollup.config.js'],
7
+ },
8
+ ...tseslint.configs.recommended,
9
+ {
10
+ plugins: {
11
+ builderbot,
12
+ },
13
+ languageOptions: {
14
+ ecmaVersion: 'latest',
15
+ sourceType: 'module',
16
+ },
17
+ rules: {
18
+ ...builderbot.configs.recommended.rules,
19
+ '@typescript-eslint/no-explicit-any': 'off',
20
+ '@typescript-eslint/no-unused-vars': 'off',
21
+ '@typescript-eslint/ban-ts-comment': 'off',
22
+ 'no-unsafe-optional-chaining': 'off',
23
+ },
24
+ },
25
+ ]
@@ -0,0 +1,12 @@
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
+ }
@@ -0,0 +1,32 @@
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-email": "latest",
17
+ "@builderbot/database-postgres": "latest"
18
+ },
19
+ "devDependencies": {
20
+ "@types/node": "^25.0.0",
21
+ "typescript-eslint": "^8.0.0",
22
+ "eslint": "^9.0.0",
23
+ "eslint-plugin-builderbot": "latest",
24
+ "rollup": "^4.10.0",
25
+ "nodemon": "^3.1.11",
26
+ "rollup-plugin-typescript2": "^0.36.0",
27
+ "tsx": "^4.7.1",
28
+ "typescript": "^5.4.3"
29
+ },
30
+ "author": "",
31
+ "license": "ISC"
32
+ }
@@ -0,0 +1,13 @@
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
+ }
@@ -0,0 +1,148 @@
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 { EmailProvider as Provider } from '@builderbot/provider-email'
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
+ const adapterProvider = createProvider(Provider, {
64
+ imap: {
65
+ host: 'imap.gmail.com',
66
+ port: 993,
67
+ secure: true,
68
+ auth: {
69
+ user: 'YOUR_EMAIL@gmail.com',
70
+ pass: 'YOUR_APP_PASSWORD'
71
+ }
72
+ },
73
+ smtp: {
74
+ host: 'smtp.gmail.com',
75
+ port: 465,
76
+ secure: true,
77
+ auth: {
78
+ user: 'YOUR_EMAIL@gmail.com',
79
+ pass: 'YOUR_APP_PASSWORD'
80
+ }
81
+ }
82
+ })
83
+ const adapterDB = new Database({
84
+ host: process.env.POSTGRES_DB_HOST,
85
+ user: process.env.POSTGRES_DB_USER,
86
+ database: process.env.POSTGRES_DB_NAME,
87
+ password: process.env.POSTGRES_DB_PASSWORD,
88
+ port: +process.env.POSTGRES_DB_PORT
89
+ })
90
+
91
+ const { handleCtx, httpServer } = await createBot({
92
+ flow: adapterFlow,
93
+ provider: adapterProvider,
94
+ database: adapterDB,
95
+ })
96
+
97
+ adapterProvider.server.post(
98
+ '/v1/messages',
99
+ handleCtx(async (bot, req, res) => {
100
+ const { number, message, urlMedia } = req.body
101
+ await bot.sendMessage(number, message, { media: urlMedia ?? null })
102
+ return res.end('sended')
103
+ })
104
+ )
105
+
106
+ adapterProvider.server.post(
107
+ '/v1/register',
108
+ handleCtx(async (bot, req, res) => {
109
+ const { number, name } = req.body
110
+ await bot.dispatch('REGISTER_FLOW', { from: number, name })
111
+ return res.end('trigger')
112
+ })
113
+ )
114
+
115
+ adapterProvider.server.post(
116
+ '/v1/samples',
117
+ handleCtx(async (bot, req, res) => {
118
+ const { number, name } = req.body
119
+ await bot.dispatch('SAMPLES', { from: number, name })
120
+ return res.end('trigger')
121
+ })
122
+ )
123
+
124
+ adapterProvider.server.post(
125
+ '/v1/blacklist',
126
+ handleCtx(async (bot, req, res) => {
127
+ const { number, intent } = req.body
128
+ if (intent === 'remove') bot.blacklist.remove(number)
129
+ if (intent === 'add') bot.blacklist.add(number)
130
+
131
+ res.writeHead(200, { 'Content-Type': 'application/json' })
132
+ return res.end(JSON.stringify({ status: 'ok', number, intent }))
133
+ })
134
+ )
135
+
136
+ adapterProvider.server.get(
137
+ '/v1/blacklist/list',
138
+ handleCtx(async (bot, req, res) => {
139
+ const blacklist = bot.blacklist.getList()
140
+ res.writeHead(200, { 'Content-Type': 'application/json' })
141
+ return res.end(JSON.stringify({ status: 'ok', blacklist }))
142
+ })
143
+ )
144
+
145
+ httpServer(+PORT)
146
+ }
147
+
148
+ main()
@@ -0,0 +1,34 @@
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,26 +1,25 @@
1
- import tseslint from 'typescript-eslint';
2
- import builderbot from 'eslint-plugin-builderbot';
1
+ import tseslint from 'typescript-eslint'
2
+ import builderbot from 'eslint-plugin-builderbot'
3
3
 
4
4
  export default [
5
- {
6
- ignores: ['dist/**', 'node_modules/**', 'rollup.config.js'],
7
- },
8
- ...tseslint.configs.recommended,
9
- {
10
- plugins: {
11
- builderbot,
5
+ {
6
+ ignores: ['dist/**', 'node_modules/**', 'rollup.config.js'],
12
7
  },
13
- languageOptions: {
14
- ecmaVersion: 'latest',
15
- sourceType: 'module',
8
+ ...tseslint.configs.recommended,
9
+ {
10
+ plugins: {
11
+ builderbot,
12
+ },
13
+ languageOptions: {
14
+ ecmaVersion: 'latest',
15
+ sourceType: 'module',
16
+ },
17
+ rules: {
18
+ ...builderbot.configs.recommended.rules,
19
+ '@typescript-eslint/no-explicit-any': 'off',
20
+ '@typescript-eslint/no-unused-vars': 'off',
21
+ '@typescript-eslint/ban-ts-comment': 'off',
22
+ 'no-unsafe-optional-chaining': 'off',
23
+ },
16
24
  },
17
- rules: {
18
- ...builderbot.configs.recommended.rules,
19
- '@typescript-eslint/no-explicit-any': 'off',
20
- '@typescript-eslint/no-unused-vars': 'off',
21
- '@typescript-eslint/ban-ts-comment': 'off',
22
- 'no-unsafe-optional-chaining': 'off',
23
- },
24
- },
25
- ];
26
-
25
+ ]
@@ -1,26 +1,25 @@
1
- import tseslint from 'typescript-eslint';
2
- import builderbot from 'eslint-plugin-builderbot';
1
+ import tseslint from 'typescript-eslint'
2
+ import builderbot from 'eslint-plugin-builderbot'
3
3
 
4
4
  export default [
5
- {
6
- ignores: ['dist/**', 'node_modules/**', 'rollup.config.js'],
7
- },
8
- ...tseslint.configs.recommended,
9
- {
10
- plugins: {
11
- builderbot,
5
+ {
6
+ ignores: ['dist/**', 'node_modules/**', 'rollup.config.js'],
12
7
  },
13
- languageOptions: {
14
- ecmaVersion: 'latest',
15
- sourceType: 'module',
8
+ ...tseslint.configs.recommended,
9
+ {
10
+ plugins: {
11
+ builderbot,
12
+ },
13
+ languageOptions: {
14
+ ecmaVersion: 'latest',
15
+ sourceType: 'module',
16
+ },
17
+ rules: {
18
+ ...builderbot.configs.recommended.rules,
19
+ '@typescript-eslint/no-explicit-any': 'off',
20
+ '@typescript-eslint/no-unused-vars': 'off',
21
+ '@typescript-eslint/ban-ts-comment': 'off',
22
+ 'no-unsafe-optional-chaining': 'off',
23
+ },
16
24
  },
17
- rules: {
18
- ...builderbot.configs.recommended.rules,
19
- '@typescript-eslint/no-explicit-any': 'off',
20
- '@typescript-eslint/no-unused-vars': 'off',
21
- '@typescript-eslint/ban-ts-comment': 'off',
22
- 'no-unsafe-optional-chaining': 'off',
23
- },
24
- },
25
- ];
26
-
25
+ ]
@@ -1,26 +1,25 @@
1
- import tseslint from 'typescript-eslint';
2
- import builderbot from 'eslint-plugin-builderbot';
1
+ import tseslint from 'typescript-eslint'
2
+ import builderbot from 'eslint-plugin-builderbot'
3
3
 
4
4
  export default [
5
- {
6
- ignores: ['dist/**', 'node_modules/**', 'rollup.config.js'],
7
- },
8
- ...tseslint.configs.recommended,
9
- {
10
- plugins: {
11
- builderbot,
5
+ {
6
+ ignores: ['dist/**', 'node_modules/**', 'rollup.config.js'],
12
7
  },
13
- languageOptions: {
14
- ecmaVersion: 'latest',
15
- sourceType: 'module',
8
+ ...tseslint.configs.recommended,
9
+ {
10
+ plugins: {
11
+ builderbot,
12
+ },
13
+ languageOptions: {
14
+ ecmaVersion: 'latest',
15
+ sourceType: 'module',
16
+ },
17
+ rules: {
18
+ ...builderbot.configs.recommended.rules,
19
+ '@typescript-eslint/no-explicit-any': 'off',
20
+ '@typescript-eslint/no-unused-vars': 'off',
21
+ '@typescript-eslint/ban-ts-comment': 'off',
22
+ 'no-unsafe-optional-chaining': 'off',
23
+ },
16
24
  },
17
- rules: {
18
- ...builderbot.configs.recommended.rules,
19
- '@typescript-eslint/no-explicit-any': 'off',
20
- '@typescript-eslint/no-unused-vars': 'off',
21
- '@typescript-eslint/ban-ts-comment': 'off',
22
- 'no-unsafe-optional-chaining': 'off',
23
- },
24
- },
25
- ];
26
-
25
+ ]
@@ -1,26 +1,25 @@
1
- import tseslint from 'typescript-eslint';
2
- import builderbot from 'eslint-plugin-builderbot';
1
+ import tseslint from 'typescript-eslint'
2
+ import builderbot from 'eslint-plugin-builderbot'
3
3
 
4
4
  export default [
5
- {
6
- ignores: ['dist/**', 'node_modules/**', 'rollup.config.js'],
7
- },
8
- ...tseslint.configs.recommended,
9
- {
10
- plugins: {
11
- builderbot,
5
+ {
6
+ ignores: ['dist/**', 'node_modules/**', 'rollup.config.js'],
12
7
  },
13
- languageOptions: {
14
- ecmaVersion: 'latest',
15
- sourceType: 'module',
8
+ ...tseslint.configs.recommended,
9
+ {
10
+ plugins: {
11
+ builderbot,
12
+ },
13
+ languageOptions: {
14
+ ecmaVersion: 'latest',
15
+ sourceType: 'module',
16
+ },
17
+ rules: {
18
+ ...builderbot.configs.recommended.rules,
19
+ '@typescript-eslint/no-explicit-any': 'off',
20
+ '@typescript-eslint/no-unused-vars': 'off',
21
+ '@typescript-eslint/ban-ts-comment': 'off',
22
+ 'no-unsafe-optional-chaining': 'off',
23
+ },
16
24
  },
17
- rules: {
18
- ...builderbot.configs.recommended.rules,
19
- '@typescript-eslint/no-explicit-any': 'off',
20
- '@typescript-eslint/no-unused-vars': 'off',
21
- '@typescript-eslint/ban-ts-comment': 'off',
22
- 'no-unsafe-optional-chaining': 'off',
23
- },
24
- },
25
- ];
26
-
25
+ ]
@@ -1,26 +1,25 @@
1
- import tseslint from 'typescript-eslint';
2
- import builderbot from 'eslint-plugin-builderbot';
1
+ import tseslint from 'typescript-eslint'
2
+ import builderbot from 'eslint-plugin-builderbot'
3
3
 
4
4
  export default [
5
- {
6
- ignores: ['dist/**', 'node_modules/**', 'rollup.config.js'],
7
- },
8
- ...tseslint.configs.recommended,
9
- {
10
- plugins: {
11
- builderbot,
5
+ {
6
+ ignores: ['dist/**', 'node_modules/**', 'rollup.config.js'],
12
7
  },
13
- languageOptions: {
14
- ecmaVersion: 'latest',
15
- sourceType: 'module',
8
+ ...tseslint.configs.recommended,
9
+ {
10
+ plugins: {
11
+ builderbot,
12
+ },
13
+ languageOptions: {
14
+ ecmaVersion: 'latest',
15
+ sourceType: 'module',
16
+ },
17
+ rules: {
18
+ ...builderbot.configs.recommended.rules,
19
+ '@typescript-eslint/no-explicit-any': 'off',
20
+ '@typescript-eslint/no-unused-vars': 'off',
21
+ '@typescript-eslint/ban-ts-comment': 'off',
22
+ 'no-unsafe-optional-chaining': 'off',
23
+ },
16
24
  },
17
- rules: {
18
- ...builderbot.configs.recommended.rules,
19
- '@typescript-eslint/no-explicit-any': 'off',
20
- '@typescript-eslint/no-unused-vars': 'off',
21
- '@typescript-eslint/ban-ts-comment': 'off',
22
- 'no-unsafe-optional-chaining': 'off',
23
- },
24
- },
25
- ];
26
-
25
+ ]
@@ -1,26 +1,25 @@
1
- import tseslint from 'typescript-eslint';
2
- import builderbot from 'eslint-plugin-builderbot';
1
+ import tseslint from 'typescript-eslint'
2
+ import builderbot from 'eslint-plugin-builderbot'
3
3
 
4
4
  export default [
5
- {
6
- ignores: ['dist/**', 'node_modules/**', 'rollup.config.js'],
7
- },
8
- ...tseslint.configs.recommended,
9
- {
10
- plugins: {
11
- builderbot,
5
+ {
6
+ ignores: ['dist/**', 'node_modules/**', 'rollup.config.js'],
12
7
  },
13
- languageOptions: {
14
- ecmaVersion: 'latest',
15
- sourceType: 'module',
8
+ ...tseslint.configs.recommended,
9
+ {
10
+ plugins: {
11
+ builderbot,
12
+ },
13
+ languageOptions: {
14
+ ecmaVersion: 'latest',
15
+ sourceType: 'module',
16
+ },
17
+ rules: {
18
+ ...builderbot.configs.recommended.rules,
19
+ '@typescript-eslint/no-explicit-any': 'off',
20
+ '@typescript-eslint/no-unused-vars': 'off',
21
+ '@typescript-eslint/ban-ts-comment': 'off',
22
+ 'no-unsafe-optional-chaining': 'off',
23
+ },
16
24
  },
17
- rules: {
18
- ...builderbot.configs.recommended.rules,
19
- '@typescript-eslint/no-explicit-any': 'off',
20
- '@typescript-eslint/no-unused-vars': 'off',
21
- '@typescript-eslint/ban-ts-comment': 'off',
22
- 'no-unsafe-optional-chaining': 'off',
23
- },
24
- },
25
- ];
26
-
25
+ ]
@@ -1,26 +1,25 @@
1
- import tseslint from 'typescript-eslint';
2
- import builderbot from 'eslint-plugin-builderbot';
1
+ import tseslint from 'typescript-eslint'
2
+ import builderbot from 'eslint-plugin-builderbot'
3
3
 
4
4
  export default [
5
- {
6
- ignores: ['dist/**', 'node_modules/**', 'rollup.config.js'],
7
- },
8
- ...tseslint.configs.recommended,
9
- {
10
- plugins: {
11
- builderbot,
5
+ {
6
+ ignores: ['dist/**', 'node_modules/**', 'rollup.config.js'],
12
7
  },
13
- languageOptions: {
14
- ecmaVersion: 'latest',
15
- sourceType: 'module',
8
+ ...tseslint.configs.recommended,
9
+ {
10
+ plugins: {
11
+ builderbot,
12
+ },
13
+ languageOptions: {
14
+ ecmaVersion: 'latest',
15
+ sourceType: 'module',
16
+ },
17
+ rules: {
18
+ ...builderbot.configs.recommended.rules,
19
+ '@typescript-eslint/no-explicit-any': 'off',
20
+ '@typescript-eslint/no-unused-vars': 'off',
21
+ '@typescript-eslint/ban-ts-comment': 'off',
22
+ 'no-unsafe-optional-chaining': 'off',
23
+ },
16
24
  },
17
- rules: {
18
- ...builderbot.configs.recommended.rules,
19
- '@typescript-eslint/no-explicit-any': 'off',
20
- '@typescript-eslint/no-unused-vars': 'off',
21
- '@typescript-eslint/ban-ts-comment': 'off',
22
- 'no-unsafe-optional-chaining': 'off',
23
- },
24
- },
25
- ];
26
-
25
+ ]
@@ -1,26 +1,25 @@
1
- import tseslint from 'typescript-eslint';
2
- import builderbot from 'eslint-plugin-builderbot';
1
+ import tseslint from 'typescript-eslint'
2
+ import builderbot from 'eslint-plugin-builderbot'
3
3
 
4
4
  export default [
5
- {
6
- ignores: ['dist/**', 'node_modules/**', 'rollup.config.js'],
7
- },
8
- ...tseslint.configs.recommended,
9
- {
10
- plugins: {
11
- builderbot,
5
+ {
6
+ ignores: ['dist/**', 'node_modules/**', 'rollup.config.js'],
12
7
  },
13
- languageOptions: {
14
- ecmaVersion: 'latest',
15
- sourceType: 'module',
8
+ ...tseslint.configs.recommended,
9
+ {
10
+ plugins: {
11
+ builderbot,
12
+ },
13
+ languageOptions: {
14
+ ecmaVersion: 'latest',
15
+ sourceType: 'module',
16
+ },
17
+ rules: {
18
+ ...builderbot.configs.recommended.rules,
19
+ '@typescript-eslint/no-explicit-any': 'off',
20
+ '@typescript-eslint/no-unused-vars': 'off',
21
+ '@typescript-eslint/ban-ts-comment': 'off',
22
+ 'no-unsafe-optional-chaining': 'off',
23
+ },
16
24
  },
17
- rules: {
18
- ...builderbot.configs.recommended.rules,
19
- '@typescript-eslint/no-explicit-any': 'off',
20
- '@typescript-eslint/no-unused-vars': 'off',
21
- '@typescript-eslint/ban-ts-comment': 'off',
22
- 'no-unsafe-optional-chaining': 'off',
23
- },
24
- },
25
- ];
26
-
25
+ ]