fix: arreglando dir y varios mensajes en dialog flow essential

This commit is contained in:
DiegoAlonso27
2023-01-25 00:23:47 -05:00
parent 7e2bf22d63
commit 01c7db8fe7
3 changed files with 69 additions and 48 deletions

View File

@@ -111,11 +111,19 @@ class DialogFlowContext extends CoreClass {
return return
} }
const ctxFromDX = { /* const ctxFromDX = {
answer: queryResult?.fulfillmentText, answer: queryResult?.fulfillmentText,
} } */
this.sendFlowSimple([ctxFromDX], from) const arrayMsg = queryResult['fulfillmentMessages']
.map((a) => {
if (a.message === 'text') {
return { answer: a.text.text[0] }
}
})
.filter((e) => e)
this.sendFlowSimple(arrayMsg, from)
} }
} }

View File

@@ -29,13 +29,16 @@ const flowPrincipal = addKeyword(['hola', 'alo'])
Es importante que el número **vaya acompañado de su prefijo**, en el caso de España "34". Es importante que el número **vaya acompañado de su prefijo**, en el caso de España "34".
```js ```js
createBot({ createBot(
{
flow: adapterFlow, flow: adapterFlow,
provider: adapterProvider, provider: adapterProvider,
database: adapterDB, database: adapterDB,
},{ },
blackList:['34XXXXXXXXX','34XXXXXXXXX','34XXXXXXXXX','34XXXXXXXXX'] {
}) blackList: ['34XXXXXXXXX', '34XXXXXXXXX', '34XXXXXXXXX', '34XXXXXXXXX'],
}
)
``` ```
--- ---
@@ -175,65 +178,74 @@ const flowString = addKeyword('hola')
``` ```
--- ---
## endFlow() ## endFlow()
Esta funcion se utliza para finalizar un flujo con dos o más addAnswer. Un ejemplo de uso sería registrar 3 datos de un usuario en 3 preguntas distinas y Esta funcion se utliza para finalizar un flujo con dos o más addAnswer. Un ejemplo de uso sería registrar 3 datos de un usuario en 3 preguntas distinas y
que el usuario pueda finalizar por él mismo el flujo. que el usuario pueda finalizar por él mismo el flujo.
Como podrás comprobar en el ejemplo siguiente, se puede vincular flowDynamic y todas sus funciones; como por ejemplo botones. Como podrás comprobar en el ejemplo siguiente, se puede vincular flowDynamic y todas sus funciones; como por ejemplo botones.
```js ```js
const flowFormulario = addKeyword(['Hola']) const flowFormulario = addKeyword(['Hola'])
.addAnswer(
.addAnswer(['Hola!','Escriba su *Nombre* para generar su solicitud'], ['Hola!', 'Escriba su *Nombre* para generar su solicitud'],
{capture: true,buttons:[{body:'❌ Cancelar solicitud'}]}, { capture: true, buttons: [{ body: '❌ Cancelar solicitud' }] },
async (ctx,{flowDynamic, endFlow})=>{ async (ctx, { flowDynamic, endFlow }) => {
if(ctx.body == '❌ Cancelar solicitud'){ if (ctx.body == '❌ Cancelar solicitud') {
await flowDynamic([{body: "❌ *Su solicitud de cita ha sido cancelada* ❌", buttons:[{body:'⬅️ Volver al Inicio'}]}]) await flowDynamic([
return endFlow() {
} body: '❌ *Su solicitud de cita ha sido cancelada* ❌',
}) buttons: [{ body: '⬅️ Volver al Inicio' }],
.addAnswer(['También necesito tus dos apellidos'], },
{capture: true,buttons:[{body:'❌ Cancelar solicitud'}]}, ])
async (ctx,{flowDynamic, endFlow})=>{ return endFlow()
if(ctx.body == '❌ Cancelar solicitud'){ }
await flowDynamic([{body: "❌ *Su solicitud de cita ha sido cancelada* ❌", buttons:[{body:'⬅️ Volver al Inicio'}]}]) }
return endFlow() )
} .addAnswer(
}) ['También necesito tus dos apellidos'],
.addAnswer(['Dejeme su número de teléfono y le llamaré lo antes posible.'], { capture: true, buttons: [{ body: '❌ Cancelar solicitud' }] },
{capture: true,buttons:[{body:'❌ Cancelar solicitud'}]}, async (ctx, { flowDynamic, endFlow }) => {
async (ctx,{flowDynamic, endFlow})=>{ if (ctx.body == '❌ Cancelar solicitud') {
if(ctx.body == '❌ Cancelar solicitud'){ await flowDynamic([
await flowDynamic([{body: "❌ *Su solicitud de cita ha sido cancelada* ❌", buttons:[{body:'⬅️ Volver al Inicio'}]}]) {
return endFlow() body: '❌ *Su solicitud de cita ha sido cancelada* ❌',
} buttons: [{ body: '⬅️ Volver al Inicio' }],
}) },
])
return endFlow()
}
}
)
.addAnswer(
['Dejeme su número de teléfono y le llamaré lo antes posible.'],
{ capture: true, buttons: [{ body: '❌ Cancelar solicitud' }] },
async (ctx, { flowDynamic, endFlow }) => {
if (ctx.body == '❌ Cancelar solicitud') {
await flowDynamic([
{
body: '❌ *Su solicitud de cita ha sido cancelada* ❌',
buttons: [{ body: '⬅️ Volver al Inicio' }],
},
])
return endFlow()
}
}
)
``` ```
--- ---
# QRPortalWeb # QRPortalWeb
Argumento para asignar nombre y puerto al BOT Argumento para asignar nombre y puerto al BOT
```js ```js
QRPortalWeb({name:BOTNAME, port:3005 }); QRPortalWeb({ name: BOTNAME, port: 3005 })
``` ```
--- ---
<Navigation <Navigation
pages={[ pages={[
{ name: 'Conceptos', link: '/docs/essential' }, { name: 'Conceptos', link: '/docs/essential' },

View File

@@ -10,9 +10,10 @@ const PUBLIC_URL =
process.env.RAILWAY_STATIC_URL ?? process.env.RAILWAY_STATIC_URL ??
'http://localhost' 'http://localhost'
const dir = [join(__dirname, 'dist'), join(__dirname, '..', 'dist')].find((i) => /* const dir = [join(__dirname, 'dist'), join(__dirname, '..', 'dist')].find((i) =>
existsSync(i) existsSync(i)
) ) */
const dir = join(__dirname, 'dist')
const serve = require('serve-static')(dir) const serve = require('serve-static')(dir)
/** /**