mirror of
https://github.com/cheveguerra/bot-whatsapp.git
synced 2026-04-18 03:29:15 +00:00
Merge branch 'codigoencasa:dev' into dev
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@bot-whatsapp/bot",
|
||||
"version": "0.0.22-alpha.0",
|
||||
"version": "0.0.23-alpha.0",
|
||||
"description": "",
|
||||
"main": "./lib/bundle.bot.cjs",
|
||||
"scripts": {
|
||||
|
||||
@@ -33,10 +33,10 @@ const startInteractive = async () => {
|
||||
message: '¿Cuál proveedor de whatsapp quieres utilizar?',
|
||||
choices: [
|
||||
{ title: 'whatsapp-web.js (gratis)', value: 'wweb' },
|
||||
{ title: 'Twilio', value: 'twilio' },
|
||||
{ title: 'Venom (gratis)', value: 'venom' },
|
||||
{ title: 'Baileys (gratis)', value: 'bailey' },
|
||||
{ title: 'API Oficial (Meta)', value: 'meta', disabled: true },
|
||||
{ title: 'Twilio', value: 'twilio' },
|
||||
{ title: 'API Oficial (Meta)', value: 'meta' },
|
||||
],
|
||||
max: 1,
|
||||
hint: 'Espacio para seleccionar',
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@bot-whatsapp/cli",
|
||||
"version": "0.0.29-alpha.0",
|
||||
"version": "0.0.30-alpha.0",
|
||||
"description": "",
|
||||
"main": "index.js",
|
||||
"devDependencies": {
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "create-bot-whatsapp",
|
||||
"version": "0.0.40-alpha.0",
|
||||
"version": "0.0.41-alpha.0",
|
||||
"description": "",
|
||||
"main": "./lib/bundle.create-bot-whatsapp.cjs",
|
||||
"files": [
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@bot-whatsapp/database",
|
||||
"version": "0.0.21-alpha.0",
|
||||
"version": "0.0.22-alpha.0",
|
||||
"description": "Esto es el conector a mysql, pg, mongo",
|
||||
"main": "./lib/mock/index.cjs",
|
||||
"keywords": [],
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@bot-whatsapp/provider",
|
||||
"version": "0.0.27-alpha.0",
|
||||
"version": "0.0.28-alpha.0",
|
||||
"description": "Esto es el conector a Twilio, Meta, etc...",
|
||||
"main": "./lib/mock/index.cjs",
|
||||
"keywords": [],
|
||||
|
||||
@@ -32,7 +32,7 @@ class MetaProvider extends ProviderClass {
|
||||
}
|
||||
|
||||
/**
|
||||
* Mapeamos los eventos nativos de whatsapp-web.js a los que la clase Provider espera
|
||||
* Mapeamos los eventos nativos a los que la clase Provider espera
|
||||
* para tener un standar de eventos
|
||||
* @returns
|
||||
*/
|
||||
@@ -53,7 +53,7 @@ class MetaProvider extends ProviderClass {
|
||||
},
|
||||
]
|
||||
|
||||
async sendMessageMeta(body) {
|
||||
sendMessageMeta = async (body) => {
|
||||
try {
|
||||
const response = await axios.post(
|
||||
`${URL}/${this.numberId}/messages`,
|
||||
@@ -70,7 +70,7 @@ class MetaProvider extends ProviderClass {
|
||||
}
|
||||
}
|
||||
|
||||
async sendtext(number, message) {
|
||||
sendtext = async (number, message) => {
|
||||
const body = {
|
||||
messaging_product: 'whatsapp',
|
||||
to: number,
|
||||
@@ -83,7 +83,7 @@ class MetaProvider extends ProviderClass {
|
||||
await this.sendMessageMeta(body)
|
||||
}
|
||||
|
||||
async sendMedia(number, message, mediaInput = null) {
|
||||
sendMedia = async (number, _, mediaInput = null) => {
|
||||
if (!mediaInput) throw new Error(`MEDIA_INPUT_NULL_: ${mediaInput}`)
|
||||
const body = {
|
||||
messaging_product: 'whatsapp',
|
||||
|
||||
12
starters/apps/base-meta-memory/README.md
Normal file
12
starters/apps/base-meta-memory/README.md
Normal file
@@ -0,0 +1,12 @@
|
||||
### BASE APP
|
||||
|
||||
Este bot contiene un flujo basico en el cual una persona (cliente) escribe **"hola"** y el bot responde.
|
||||
- Bienvenido a mi tienda
|
||||
- Como puedo ayudarte?
|
||||
- Tengo: Zapatos Bolsos etc..
|
||||
|
||||
------
|
||||
- [Discord](https://link.codigoencasa.com/DISCORD)
|
||||
- [Twitter](https://twitter.com/leifermendez)
|
||||
- [Youtube](https://www.youtube.com/watch?v=5lEMCeWEJ8o&list=PL_WGMLcL4jzWPhdhcUyhbFU6bC0oJd2BR)
|
||||
- [Telegram](https://t.me/leifermendez)
|
||||
88
starters/apps/base-meta-memory/app.js
Normal file
88
starters/apps/base-meta-memory/app.js
Normal file
@@ -0,0 +1,88 @@
|
||||
const {
|
||||
createBot,
|
||||
createProvider,
|
||||
createFlow,
|
||||
addKeyword,
|
||||
addChild,
|
||||
} = require('@bot-whatsapp/bot')
|
||||
|
||||
const TwilioProvider = require('@bot-whatsapp/provider/twilio')
|
||||
const MockAdapter = require('@bot-whatsapp/database/mock')
|
||||
|
||||
/**
|
||||
* Declarando flujo hijo
|
||||
*/
|
||||
|
||||
const flowBolsos2 = addKeyword(['bolsos2', '2'])
|
||||
.addAnswer('🤯 *MUCHOS* bolsos ...')
|
||||
.addAnswer('y mas bolsos... bla bla')
|
||||
|
||||
const flowZapatos2 = addKeyword(['zapatos2', '2'])
|
||||
.addAnswer('🤯 repito que tengo *MUCHOS* zapatos.')
|
||||
.addAnswer('y algunas otras cosas.')
|
||||
|
||||
const flowZapatos = addKeyword(['zapatos', 'ZAPATOS'])
|
||||
.addAnswer('🤯 Veo que elegiste zapatos')
|
||||
.addAnswer('Tengo muchos zapatos...bla bla')
|
||||
.addAnswer(
|
||||
['Manda:', '*2*', 'o', '*zapatos2*', 'para mas información'],
|
||||
{ capture: true },
|
||||
(ctx) => {
|
||||
console.log('Aqui puedes ver más info del usuario...')
|
||||
console.log('Puedes enviar un mail, hook, etc..')
|
||||
console.log(ctx)
|
||||
},
|
||||
[...addChild(flowZapatos2)]
|
||||
)
|
||||
|
||||
const flowBolsos = addKeyword(['bolsos', 'BOLSOS'])
|
||||
.addAnswer('🙌 Veo que elegiste bolsos')
|
||||
.addAnswer('Tengo muchos bolsos...bla bla')
|
||||
.addAnswer(
|
||||
['Manda:', '*2*', 'o', '*bolsos2*', 'para mas información.'],
|
||||
{ capture: true },
|
||||
(ctx) => {
|
||||
console.log('Aqui puedes ver más info del usuario...')
|
||||
console.log('Puedes enviar un mail, hook, etc..')
|
||||
console.log(ctx)
|
||||
},
|
||||
[...addChild(flowBolsos2)]
|
||||
)
|
||||
|
||||
/**
|
||||
* Declarando flujo principal
|
||||
*/
|
||||
const flowPrincipal = addKeyword(['hola', 'ole', 'alo'])
|
||||
.addAnswer('Hola, bienvenido a mi tienda')
|
||||
.addAnswer('Como puedo ayudarte?')
|
||||
.addAnswer(['Tengo:', 'Zapatos', 'Bolsos', 'etc..'])
|
||||
.addAnswer(
|
||||
['Para continuar escribe:', '*Zapatos*', 'o', '*Bolsos*'],
|
||||
{ capture: true },
|
||||
(ctx) => {
|
||||
console.log('Aqui puedes ver más info del usuario...')
|
||||
console.log('Puedes enviar un mail, hook, etc..')
|
||||
console.log(ctx)
|
||||
console.log(ctx['_data']['notifyName'])
|
||||
},
|
||||
[...addChild(flowBolsos), ...addChild(flowZapatos)]
|
||||
)
|
||||
|
||||
const main = async () => {
|
||||
const adapterDB = new MockAdapter()
|
||||
const adapterFlow = createFlow([flowPrincipal])
|
||||
|
||||
const adapterProvider = createProvider(TwilioProvider, {
|
||||
accountSid: 'YOUR_ACCOUNT_SID',
|
||||
authToken: 'YOUR_ACCOUNT_TOKEN',
|
||||
vendorNumber: '+14155238886',
|
||||
})
|
||||
|
||||
createBot({
|
||||
flow: adapterFlow,
|
||||
provider: adapterProvider,
|
||||
database: adapterDB,
|
||||
})
|
||||
}
|
||||
|
||||
main()
|
||||
22
starters/apps/base-meta-memory/package.json
Normal file
22
starters/apps/base-meta-memory/package.json
Normal file
@@ -0,0 +1,22 @@
|
||||
{
|
||||
"name": "bot-whatsapp-base-meta-memory",
|
||||
"version": "1.0.0",
|
||||
"description": "",
|
||||
"main": "app.js",
|
||||
"scripts": {
|
||||
"pre-copy": "cd .. && yarn run copy.lib base-meta-memory",
|
||||
"start": "node app.js"
|
||||
},
|
||||
"keywords": [],
|
||||
"dependencies": {
|
||||
"body-parser": "^1.20.1",
|
||||
"polka": "^0.5.2",
|
||||
"twilio": "^3.83.4",
|
||||
"@bot-whatsapp/bot": "latest",
|
||||
"@bot-whatsapp/cli": "latest",
|
||||
"@bot-whatsapp/database": "latest",
|
||||
"@bot-whatsapp/provider": "latest"
|
||||
},
|
||||
"author": "",
|
||||
"license": "ISC"
|
||||
}
|
||||
Reference in New Issue
Block a user