@builderbot/cli 1.0.4-alpha.0 → 1.0.6-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.
- package/dist/starters/apps/base-js-baileys-json/package.json +4 -4
- package/dist/starters/apps/base-js-baileys-json/src/app.js +3 -2
- package/dist/starters/apps/base-js-baileys-memory/package.json +4 -4
- package/dist/starters/apps/base-js-baileys-memory/src/app.js +1 -1
- package/dist/starters/apps/base-js-baileys-mongo/package.json +4 -4
- package/dist/starters/apps/base-js-baileys-mongo/src/app.js +88 -78
- package/dist/starters/apps/base-js-baileys-mysql/package.json +4 -4
- package/dist/starters/apps/base-js-baileys-mysql/src/app.js +89 -79
- package/dist/starters/apps/base-js-baileys-postgres/package.json +4 -4
- package/dist/starters/apps/base-js-baileys-postgres/src/app.js +91 -82
- package/dist/starters/apps/base-js-meta-json/package.json +4 -4
- package/dist/starters/apps/base-js-meta-json/src/app.js +90 -81
- package/dist/starters/apps/base-js-meta-memory/package.json +4 -4
- package/dist/starters/apps/base-js-meta-memory/src/app.js +89 -81
- package/dist/starters/apps/base-js-meta-mongo/package.json +4 -4
- package/dist/starters/apps/base-js-meta-mongo/src/app.js +92 -82
- package/dist/starters/apps/base-js-meta-mysql/package.json +4 -4
- package/dist/starters/apps/base-js-meta-mysql/src/app.js +93 -83
- package/dist/starters/apps/base-js-meta-postgres/package.json +4 -4
- package/dist/starters/apps/base-js-meta-postgres/src/app.js +95 -86
- package/dist/starters/apps/base-js-twilio-json/package.json +4 -4
- package/dist/starters/apps/base-js-twilio-json/src/app.js +87 -77
- package/dist/starters/apps/base-js-twilio-memory/package.json +4 -4
- package/dist/starters/apps/base-js-twilio-memory/src/app.js +86 -77
- package/dist/starters/apps/base-js-twilio-mongo/package.json +4 -4
- package/dist/starters/apps/base-js-twilio-mongo/src/app.js +88 -77
- package/dist/starters/apps/base-js-twilio-mysql/package.json +4 -4
- package/dist/starters/apps/base-js-twilio-mysql/src/app.js +89 -78
- package/dist/starters/apps/base-js-twilio-postgres/package.json +4 -4
- package/dist/starters/apps/base-js-twilio-postgres/src/app.js +92 -82
- package/dist/starters/apps/base-js-venom-json/package.json +4 -4
- package/dist/starters/apps/base-js-venom-json/src/app.js +86 -77
- package/dist/starters/apps/base-js-venom-memory/package.json +4 -4
- package/dist/starters/apps/base-js-venom-memory/src/app.js +85 -77
- package/dist/starters/apps/base-js-venom-mongo/package.json +4 -4
- package/dist/starters/apps/base-js-venom-mongo/src/app.js +88 -78
- package/dist/starters/apps/base-js-venom-mysql/package.json +4 -4
- package/dist/starters/apps/base-js-venom-mysql/src/app.js +89 -79
- package/dist/starters/apps/base-js-venom-postgres/package.json +4 -4
- package/dist/starters/apps/base-js-venom-postgres/src/app.js +91 -82
- package/dist/starters/apps/base-js-wppconnect-json/package.json +4 -4
- package/dist/starters/apps/base-js-wppconnect-json/src/app.js +86 -77
- package/dist/starters/apps/base-js-wppconnect-memory/package.json +4 -4
- package/dist/starters/apps/base-js-wppconnect-memory/src/app.js +85 -77
- package/dist/starters/apps/base-js-wppconnect-mongo/package.json +4 -4
- package/dist/starters/apps/base-js-wppconnect-mongo/src/app.js +88 -78
- package/dist/starters/apps/base-js-wppconnect-mysql/package.json +4 -4
- package/dist/starters/apps/base-js-wppconnect-mysql/src/app.js +89 -79
- package/dist/starters/apps/base-js-wppconnect-postgres/package.json +4 -4
- package/dist/starters/apps/base-js-wppconnect-postgres/src/app.js +91 -82
- package/dist/starters/apps/base-ts-baileys-json/package.json +7 -7
- package/dist/starters/apps/base-ts-baileys-json/rollup.config.js +12 -12
- package/dist/starters/apps/base-ts-baileys-json/src/app.ts +86 -77
- package/dist/starters/apps/base-ts-baileys-memory/package.json +7 -7
- package/dist/starters/apps/base-ts-baileys-memory/rollup.config.js +12 -12
- package/dist/starters/apps/base-ts-baileys-memory/src/app.ts +85 -77
- package/dist/starters/apps/base-ts-baileys-mongo/package.json +7 -7
- package/dist/starters/apps/base-ts-baileys-mongo/rollup.config.js +12 -12
- package/dist/starters/apps/base-ts-baileys-mongo/src/app.ts +88 -78
- package/dist/starters/apps/base-ts-baileys-mysql/package.json +7 -7
- package/dist/starters/apps/base-ts-baileys-mysql/rollup.config.js +12 -12
- package/dist/starters/apps/base-ts-baileys-mysql/src/app.ts +89 -79
- package/dist/starters/apps/base-ts-baileys-postgres/package.json +7 -7
- package/dist/starters/apps/base-ts-baileys-postgres/rollup.config.js +12 -12
- package/dist/starters/apps/base-ts-baileys-postgres/src/app.ts +91 -82
- package/dist/starters/apps/base-ts-meta-json/package.json +7 -7
- package/dist/starters/apps/base-ts-meta-json/rollup.config.js +12 -12
- package/dist/starters/apps/base-ts-meta-json/src/app.ts +90 -81
- package/dist/starters/apps/base-ts-meta-memory/package.json +7 -7
- package/dist/starters/apps/base-ts-meta-memory/rollup.config.js +12 -12
- package/dist/starters/apps/base-ts-meta-memory/src/app.ts +89 -81
- package/dist/starters/apps/base-ts-meta-mongo/package.json +7 -7
- package/dist/starters/apps/base-ts-meta-mongo/rollup.config.js +12 -12
- package/dist/starters/apps/base-ts-meta-mongo/src/app.ts +92 -82
- package/dist/starters/apps/base-ts-meta-mysql/package.json +7 -7
- package/dist/starters/apps/base-ts-meta-mysql/rollup.config.js +12 -12
- package/dist/starters/apps/base-ts-meta-mysql/src/app.ts +93 -83
- package/dist/starters/apps/base-ts-meta-postgres/package.json +7 -7
- package/dist/starters/apps/base-ts-meta-postgres/rollup.config.js +12 -12
- package/dist/starters/apps/base-ts-meta-postgres/src/app.ts +95 -86
- package/dist/starters/apps/base-ts-twilio-json/package.json +7 -7
- package/dist/starters/apps/base-ts-twilio-json/rollup.config.js +12 -12
- package/dist/starters/apps/base-ts-twilio-json/src/app.ts +87 -77
- package/dist/starters/apps/base-ts-twilio-memory/package.json +7 -7
- package/dist/starters/apps/base-ts-twilio-memory/rollup.config.js +12 -12
- package/dist/starters/apps/base-ts-twilio-memory/src/app.ts +86 -77
- package/dist/starters/apps/base-ts-twilio-mongo/package.json +7 -7
- package/dist/starters/apps/base-ts-twilio-mongo/rollup.config.js +12 -12
- package/dist/starters/apps/base-ts-twilio-mongo/src/app.ts +88 -77
- package/dist/starters/apps/base-ts-twilio-mysql/package.json +7 -7
- package/dist/starters/apps/base-ts-twilio-mysql/rollup.config.js +12 -12
- package/dist/starters/apps/base-ts-twilio-mysql/src/app.ts +89 -78
- package/dist/starters/apps/base-ts-twilio-postgres/package.json +7 -7
- package/dist/starters/apps/base-ts-twilio-postgres/rollup.config.js +12 -12
- package/dist/starters/apps/base-ts-twilio-postgres/src/app.ts +92 -82
- package/dist/starters/apps/base-ts-venom-json/package.json +7 -7
- package/dist/starters/apps/base-ts-venom-json/rollup.config.js +12 -12
- package/dist/starters/apps/base-ts-venom-json/src/app.ts +86 -77
- package/dist/starters/apps/base-ts-venom-memory/package.json +7 -7
- package/dist/starters/apps/base-ts-venom-memory/rollup.config.js +12 -12
- package/dist/starters/apps/base-ts-venom-memory/src/app.ts +85 -77
- package/dist/starters/apps/base-ts-venom-mongo/package.json +7 -7
- package/dist/starters/apps/base-ts-venom-mongo/rollup.config.js +12 -12
- package/dist/starters/apps/base-ts-venom-mongo/src/app.ts +88 -78
- package/dist/starters/apps/base-ts-venom-mysql/package.json +7 -7
- package/dist/starters/apps/base-ts-venom-mysql/rollup.config.js +12 -12
- package/dist/starters/apps/base-ts-venom-mysql/src/app.ts +89 -79
- package/dist/starters/apps/base-ts-venom-postgres/package.json +7 -7
- package/dist/starters/apps/base-ts-venom-postgres/rollup.config.js +12 -12
- package/dist/starters/apps/base-ts-venom-postgres/src/app.ts +91 -82
- package/dist/starters/apps/base-ts-wppconnect-json/package.json +7 -7
- package/dist/starters/apps/base-ts-wppconnect-json/rollup.config.js +12 -12
- package/dist/starters/apps/base-ts-wppconnect-json/src/app.ts +86 -77
- package/dist/starters/apps/base-ts-wppconnect-memory/package.json +7 -7
- package/dist/starters/apps/base-ts-wppconnect-memory/rollup.config.js +12 -12
- package/dist/starters/apps/base-ts-wppconnect-memory/src/app.ts +85 -77
- package/dist/starters/apps/base-ts-wppconnect-mongo/package.json +7 -7
- package/dist/starters/apps/base-ts-wppconnect-mongo/rollup.config.js +12 -12
- package/dist/starters/apps/base-ts-wppconnect-mongo/src/app.ts +88 -78
- package/dist/starters/apps/base-ts-wppconnect-mysql/package.json +7 -7
- package/dist/starters/apps/base-ts-wppconnect-mysql/rollup.config.js +12 -12
- package/dist/starters/apps/base-ts-wppconnect-mysql/src/app.ts +89 -79
- package/dist/starters/apps/base-ts-wppconnect-postgres/package.json +7 -7
- package/dist/starters/apps/base-ts-wppconnect-postgres/rollup.config.js +12 -12
- package/dist/starters/apps/base-ts-wppconnect-postgres/src/app.ts +91 -82
- package/package.json +2 -2
|
@@ -1,81 +1,90 @@
|
|
|
1
|
-
import { createBot, createProvider, createFlow, addKeyword, utils } from '@bot-whatsapp/bot'
|
|
1
|
+
import { createBot, createProvider, createFlow, addKeyword, utils } from '@bot-whatsapp/bot'
|
|
2
2
|
import { JsonFileDB as Database } from '@bot-whatsapp/database-json'
|
|
3
3
|
import { WPPConnectProvider as Provider } from '@bot-whatsapp/provider-wppconnect'
|
|
4
|
-
|
|
5
|
-
const PORT = process.env.PORT ?? 3008
|
|
6
|
-
|
|
7
|
-
const discordFlow = addKeyword('doc').addAnswer(
|
|
8
|
-
[
|
|
9
|
-
'
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
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 },
|
|
29
|
-
null,
|
|
30
|
-
[discordFlow]
|
|
31
|
-
)
|
|
32
|
-
|
|
33
|
-
const registerFlow = addKeyword(utils.setEvent('REGISTER_FLOW'))
|
|
34
|
-
.addAnswer(`What is your name?`, { capture: true }, async (ctx, { state }) => {
|
|
35
|
-
await state.update({ name: ctx.body })
|
|
36
|
-
})
|
|
37
|
-
.addAnswer('What is your age?', { capture: true }, async (ctx, { state }) => {
|
|
38
|
-
await state.update({ age: ctx.body })
|
|
39
|
-
})
|
|
40
|
-
.addAction(async (_, { flowDynamic, state }) => {
|
|
41
|
-
await flowDynamic(`${state.get('name')}, thanks for your information!: Your age: ${state.get('age')}`)
|
|
42
|
-
})
|
|
43
|
-
|
|
44
|
-
const main = async () => {
|
|
45
|
-
|
|
46
|
-
const adapterFlow = createFlow([welcomeFlow, registerFlow])
|
|
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 },
|
|
29
|
+
null,
|
|
30
|
+
[discordFlow]
|
|
31
|
+
)
|
|
32
|
+
|
|
33
|
+
const registerFlow = addKeyword(utils.setEvent('REGISTER_FLOW'))
|
|
34
|
+
.addAnswer(`What is your name?`, { capture: true }, async (ctx, { state }) => {
|
|
35
|
+
await state.update({ name: ctx.body })
|
|
36
|
+
})
|
|
37
|
+
.addAnswer('What is your age?', { capture: true }, async (ctx, { state }) => {
|
|
38
|
+
await state.update({ age: ctx.body })
|
|
39
|
+
})
|
|
40
|
+
.addAction(async (_, { flowDynamic, state }) => {
|
|
41
|
+
await flowDynamic(`${state.get('name')}, thanks for your information!: Your age: ${state.get('age')}`)
|
|
42
|
+
})
|
|
43
|
+
|
|
44
|
+
const main = async () => {
|
|
45
|
+
const adapterFlow = createFlow([welcomeFlow, registerFlow])
|
|
47
46
|
|
|
48
|
-
const adapterProvider = createProvider(Provider)
|
|
47
|
+
const adapterProvider = createProvider(Provider)
|
|
49
48
|
|
|
50
|
-
const adapterDB = new Database({ filename: 'db.json' })
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
49
|
+
const adapterDB = new Database({ filename: 'db.json' })
|
|
50
|
+
|
|
51
|
+
const { handleCtx, httpServer } = await createBot({
|
|
52
|
+
flow: adapterFlow,
|
|
53
|
+
provider: adapterProvider,
|
|
54
|
+
database: adapterDB,
|
|
55
|
+
})
|
|
56
|
+
|
|
57
|
+
httpServer(+PORT)
|
|
58
|
+
|
|
59
|
+
adapterProvider.http.server.post(
|
|
60
|
+
'/v1/messages',
|
|
61
|
+
handleCtx(async (bot, req, res) => {
|
|
62
|
+
const { number, message, urlMedia } = req.body
|
|
63
|
+
await bot.sendMessage(number, message, { media: urlMedia ?? null })
|
|
64
|
+
return res.end('sended')
|
|
65
|
+
})
|
|
66
|
+
)
|
|
67
|
+
|
|
68
|
+
adapterProvider.http.server.post(
|
|
69
|
+
'/v1/register',
|
|
70
|
+
handleCtx(async (bot, req, res) => {
|
|
71
|
+
const { number, name } = req.body
|
|
72
|
+
await bot.dispatch('REGISTER_FLOW', { from: number, name })
|
|
73
|
+
return res.end('trigger')
|
|
74
|
+
})
|
|
75
|
+
)
|
|
76
|
+
|
|
77
|
+
adapterProvider.http.server.post(
|
|
78
|
+
'/v1/blacklist',
|
|
79
|
+
handleCtx(async (bot, req, res) => {
|
|
80
|
+
const { number, intent } = req.body
|
|
81
|
+
if (intent === 'remove') bot.blacklist.remove(`340000000`)
|
|
82
|
+
if (intent === 'add') bot.blacklist.add(`340000000`)
|
|
83
|
+
|
|
84
|
+
res.writeHead(200, { 'Content-Type': 'application/json' })
|
|
85
|
+
return res.end(JSON.stringify({ status: 'ok', number, intent }))
|
|
86
|
+
})
|
|
87
|
+
)
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
main()
|
|
@@ -10,12 +10,12 @@
|
|
|
10
10
|
},
|
|
11
11
|
"keywords": [],
|
|
12
12
|
"dependencies": {
|
|
13
|
-
"@
|
|
14
|
-
"@
|
|
15
|
-
"@
|
|
13
|
+
"@builderbot/bot": "latest",
|
|
14
|
+
"@builderbot/database-json": "latest",
|
|
15
|
+
"@builderbot/provider-baileys": "latest"
|
|
16
16
|
},
|
|
17
17
|
"devDependencies": {
|
|
18
|
-
"eslint-plugin-
|
|
18
|
+
"eslint-plugin-builderbot": "latest"
|
|
19
19
|
},
|
|
20
20
|
"author": "",
|
|
21
21
|
"license": "ISC"
|
|
@@ -1,81 +1,89 @@
|
|
|
1
|
-
import { createBot, createProvider, createFlow, addKeyword, utils } from '@bot-whatsapp/bot'
|
|
1
|
+
import { createBot, createProvider, createFlow, addKeyword, utils } from '@bot-whatsapp/bot'
|
|
2
2
|
import { MemoryDB as Database } from '@bot-whatsapp/bot'
|
|
3
3
|
import { WPPConnectProvider as Provider } from '@bot-whatsapp/provider-wppconnect'
|
|
4
|
-
|
|
5
|
-
const PORT = process.env.PORT ?? 3008
|
|
6
|
-
|
|
7
|
-
const discordFlow = addKeyword('doc').addAnswer(
|
|
8
|
-
[
|
|
9
|
-
'
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
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 },
|
|
29
|
-
null,
|
|
30
|
-
[discordFlow]
|
|
31
|
-
)
|
|
32
|
-
|
|
33
|
-
const registerFlow = addKeyword(utils.setEvent('REGISTER_FLOW'))
|
|
34
|
-
.addAnswer(`What is your name?`, { capture: true }, async (ctx, { state }) => {
|
|
35
|
-
await state.update({ name: ctx.body })
|
|
36
|
-
})
|
|
37
|
-
.addAnswer('What is your age?', { capture: true }, async (ctx, { state }) => {
|
|
38
|
-
await state.update({ age: ctx.body })
|
|
39
|
-
})
|
|
40
|
-
.addAction(async (_, { flowDynamic, state }) => {
|
|
41
|
-
await flowDynamic(`${state.get('name')}, thanks for your information!: Your age: ${state.get('age')}`)
|
|
42
|
-
})
|
|
43
|
-
|
|
44
|
-
const main = async () => {
|
|
45
|
-
|
|
46
|
-
const adapterFlow = createFlow([welcomeFlow, registerFlow])
|
|
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 },
|
|
29
|
+
null,
|
|
30
|
+
[discordFlow]
|
|
31
|
+
)
|
|
32
|
+
|
|
33
|
+
const registerFlow = addKeyword(utils.setEvent('REGISTER_FLOW'))
|
|
34
|
+
.addAnswer(`What is your name?`, { capture: true }, async (ctx, { state }) => {
|
|
35
|
+
await state.update({ name: ctx.body })
|
|
36
|
+
})
|
|
37
|
+
.addAnswer('What is your age?', { capture: true }, async (ctx, { state }) => {
|
|
38
|
+
await state.update({ age: ctx.body })
|
|
39
|
+
})
|
|
40
|
+
.addAction(async (_, { flowDynamic, state }) => {
|
|
41
|
+
await flowDynamic(`${state.get('name')}, thanks for your information!: Your age: ${state.get('age')}`)
|
|
42
|
+
})
|
|
43
|
+
|
|
44
|
+
const main = async () => {
|
|
45
|
+
const adapterFlow = createFlow([welcomeFlow, registerFlow])
|
|
47
46
|
|
|
48
|
-
const adapterProvider = createProvider(Provider)
|
|
47
|
+
const adapterProvider = createProvider(Provider)
|
|
49
48
|
const adapterDB = new Database()
|
|
50
|
-
|
|
51
|
-
const { handleCtx, httpServer } = await createBot({
|
|
52
|
-
flow: adapterFlow,
|
|
53
|
-
provider: adapterProvider,
|
|
54
|
-
database: adapterDB,
|
|
55
|
-
})
|
|
56
|
-
|
|
57
|
-
httpServer(+PORT)
|
|
58
|
-
|
|
59
|
-
adapterProvider.http.server.post(
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
49
|
+
|
|
50
|
+
const { handleCtx, httpServer } = await createBot({
|
|
51
|
+
flow: adapterFlow,
|
|
52
|
+
provider: adapterProvider,
|
|
53
|
+
database: adapterDB,
|
|
54
|
+
})
|
|
55
|
+
|
|
56
|
+
httpServer(+PORT)
|
|
57
|
+
|
|
58
|
+
adapterProvider.http.server.post(
|
|
59
|
+
'/v1/messages',
|
|
60
|
+
handleCtx(async (bot, req, res) => {
|
|
61
|
+
const { number, message, urlMedia } = req.body
|
|
62
|
+
await bot.sendMessage(number, message, { media: urlMedia ?? null })
|
|
63
|
+
return res.end('sended')
|
|
64
|
+
})
|
|
65
|
+
)
|
|
66
|
+
|
|
67
|
+
adapterProvider.http.server.post(
|
|
68
|
+
'/v1/register',
|
|
69
|
+
handleCtx(async (bot, req, res) => {
|
|
70
|
+
const { number, name } = req.body
|
|
71
|
+
await bot.dispatch('REGISTER_FLOW', { from: number, name })
|
|
72
|
+
return res.end('trigger')
|
|
73
|
+
})
|
|
74
|
+
)
|
|
75
|
+
|
|
76
|
+
adapterProvider.http.server.post(
|
|
77
|
+
'/v1/blacklist',
|
|
78
|
+
handleCtx(async (bot, req, res) => {
|
|
79
|
+
const { number, intent } = req.body
|
|
80
|
+
if (intent === 'remove') bot.blacklist.remove(`340000000`)
|
|
81
|
+
if (intent === 'add') bot.blacklist.add(`340000000`)
|
|
82
|
+
|
|
83
|
+
res.writeHead(200, { 'Content-Type': 'application/json' })
|
|
84
|
+
return res.end(JSON.stringify({ status: 'ok', number, intent }))
|
|
85
|
+
})
|
|
86
|
+
)
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
main()
|
|
@@ -10,12 +10,12 @@
|
|
|
10
10
|
},
|
|
11
11
|
"keywords": [],
|
|
12
12
|
"dependencies": {
|
|
13
|
-
"@
|
|
14
|
-
"@
|
|
15
|
-
"@
|
|
13
|
+
"@builderbot/bot": "latest",
|
|
14
|
+
"@builderbot/database-json": "latest",
|
|
15
|
+
"@builderbot/provider-baileys": "latest"
|
|
16
16
|
},
|
|
17
17
|
"devDependencies": {
|
|
18
|
-
"eslint-plugin-
|
|
18
|
+
"eslint-plugin-builderbot": "latest"
|
|
19
19
|
},
|
|
20
20
|
"author": "",
|
|
21
21
|
"license": "ISC"
|
|
@@ -1,82 +1,92 @@
|
|
|
1
|
-
import { createBot, createProvider, createFlow, addKeyword, utils } from '@bot-whatsapp/bot'
|
|
2
|
-
import { MongoAdapter as Database } from '@bot-whatsapp/database-mongo'
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
'
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
.addAnswer(
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
'
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
const adapterFlow = createFlow([welcomeFlow, registerFlow])
|
|
1
|
+
import { createBot, createProvider, createFlow, addKeyword, utils } from '@bot-whatsapp/bot'
|
|
2
|
+
import { MongoAdapter as Database } from '@bot-whatsapp/database-mongo'
|
|
3
|
+
import { WPPConnectProvider as Provider } from '@bot-whatsapp/provider-wppconnect'
|
|
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 },
|
|
29
|
+
null,
|
|
30
|
+
[discordFlow]
|
|
31
|
+
)
|
|
32
|
+
|
|
33
|
+
const registerFlow = addKeyword(utils.setEvent('REGISTER_FLOW'))
|
|
34
|
+
.addAnswer(`What is your name?`, { capture: true }, async (ctx, { state }) => {
|
|
35
|
+
await state.update({ name: ctx.body })
|
|
36
|
+
})
|
|
37
|
+
.addAnswer('What is your age?', { capture: true }, async (ctx, { state }) => {
|
|
38
|
+
await state.update({ age: ctx.body })
|
|
39
|
+
})
|
|
40
|
+
.addAction(async (_, { flowDynamic, state }) => {
|
|
41
|
+
await flowDynamic(`${state.get('name')}, thanks for your information!: Your age: ${state.get('age')}`)
|
|
42
|
+
})
|
|
43
|
+
|
|
44
|
+
const main = async () => {
|
|
45
|
+
const adapterFlow = createFlow([welcomeFlow, registerFlow])
|
|
46
46
|
|
|
47
|
-
const adapterProvider = createProvider(Provider)
|
|
47
|
+
const adapterProvider = createProvider(Provider)
|
|
48
48
|
const adapterDB = new Database({
|
|
49
49
|
dbUri: process.env.MONGO_DB_URI,
|
|
50
50
|
dbName: process.env.MONGO_DB_NAME,
|
|
51
|
-
})
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
51
|
+
})
|
|
52
|
+
|
|
53
|
+
const { handleCtx, httpServer } = await createBot({
|
|
54
|
+
flow: adapterFlow,
|
|
55
|
+
provider: adapterProvider,
|
|
56
|
+
database: adapterDB,
|
|
57
|
+
})
|
|
58
|
+
|
|
59
|
+
httpServer(+PORT)
|
|
60
|
+
|
|
61
|
+
adapterProvider.http.server.post(
|
|
62
|
+
'/v1/messages',
|
|
63
|
+
handleCtx(async (bot, req, res) => {
|
|
64
|
+
const { number, message, urlMedia } = req.body
|
|
65
|
+
await bot.sendMessage(number, message, { media: urlMedia ?? null })
|
|
66
|
+
return res.end('sended')
|
|
67
|
+
})
|
|
68
|
+
)
|
|
69
|
+
|
|
70
|
+
adapterProvider.http.server.post(
|
|
71
|
+
'/v1/register',
|
|
72
|
+
handleCtx(async (bot, req, res) => {
|
|
73
|
+
const { number, name } = req.body
|
|
74
|
+
await bot.dispatch('REGISTER_FLOW', { from: number, name })
|
|
75
|
+
return res.end('trigger')
|
|
76
|
+
})
|
|
77
|
+
)
|
|
78
|
+
|
|
79
|
+
adapterProvider.http.server.post(
|
|
80
|
+
'/v1/blacklist',
|
|
81
|
+
handleCtx(async (bot, req, res) => {
|
|
82
|
+
const { number, intent } = req.body
|
|
83
|
+
if (intent === 'remove') bot.blacklist.remove(`340000000`)
|
|
84
|
+
if (intent === 'add') bot.blacklist.add(`340000000`)
|
|
85
|
+
|
|
86
|
+
res.writeHead(200, { 'Content-Type': 'application/json' })
|
|
87
|
+
return res.end(JSON.stringify({ status: 'ok', number, intent }))
|
|
88
|
+
})
|
|
89
|
+
)
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
main()
|
|
@@ -10,12 +10,12 @@
|
|
|
10
10
|
},
|
|
11
11
|
"keywords": [],
|
|
12
12
|
"dependencies": {
|
|
13
|
-
"@
|
|
14
|
-
"@
|
|
15
|
-
"@
|
|
13
|
+
"@builderbot/bot": "latest",
|
|
14
|
+
"@builderbot/database-json": "latest",
|
|
15
|
+
"@builderbot/provider-baileys": "latest"
|
|
16
16
|
},
|
|
17
17
|
"devDependencies": {
|
|
18
|
-
"eslint-plugin-
|
|
18
|
+
"eslint-plugin-builderbot": "latest"
|
|
19
19
|
},
|
|
20
20
|
"author": "",
|
|
21
21
|
"license": "ISC"
|