addAnswer

Esta funcion se importa desde @bot-whatsapp/bot

Se encarga de responder al usuario, puedes responder un texto o archivo adjunto.

    const { addKeyword } = require('@bot-whatsapp/bot')

    const flowWelcome = addKeyword('hola').addAnswer('Hola y bievendido! como puedo ayudarte')

El mensaje'Hola y bievendido! como puedo ayudarte' se enviara como un mensaje de whatsapp

Enviar más de un mensaje

    const { addKeyword } = require('@bot-whatsapp/bot')

    const flowWelcome = addKeyword('hola')
    .addAnswer('Hola!')
    .addAnswer('Bienvenido')
    .addAnswer('¿Como puedo ayudarte?')

Se enviaran (3) tres mensajes por separados consecutivamente. Hola , Bienvenido, ¿Como puedo ayudarte?


Enviar mensaje con salto de linea

    const { addKeyword } = require('@bot-whatsapp/bot')

    const flowWelcome = addKeyword('hola')
    .addAnswer(['Hola!','Bienvenido','¿Como puedo ayudarte?'])


Se enviara (1) un mensaje pero con saltos de linea


Retardo

Enviar un mensaje con 1000ms = 1segundo de espera

    const { addKeyword } = require('@bot-whatsapp/bot')

  const flowString = addKeyword('hola').addAnswer('Este mensaje se enviara 1 segundo despues', {
        delay: 1000,
    })



Enviar imagen, video, pdf: Url externa

Puedes enviar archivos desde url externas publicas o desde archivos locales.

    const { addKeyword } = require('@bot-whatsapp/bot')

    const flowString = addKeyword('hola').addAnswer('Este mensaje envia una imagen', {
            media: 'https://i.imgur.com/0HpzsEm.png',
    })


Esta imagen https://i.imgur.com/0HpzsEm.png se envia desde una URL externa.


Enviar imagen, video, pdf: locales

Dependiendo de tus sistema operativo asegurate de colocar bien la ruta absoluta

    const { addKeyword } = require('@bot-whatsapp/bot')

    const flowString = addKeyword('hola').addAnswer('Este mensaje envia una imagen', {
            media: 'c:/ruta/imagen.png', //'c:\ruta\imagen.png'
    })


Botones

NOTA Los botones funcionan bien en Meta o Twilio. En los proveedores gratuitos son inestables.

    const { addKeyword } = require('@bot-whatsapp/bot')

    const flowString = addKeyword('hola').addAnswer('Este mensaje envia tres botones', {
        buttons: [{ body: 'Boton 1' }, { body: 'Boton 2' }, { body: 'Boton 3' }],
    })


Capture

En algunas ocaciones necesitamos esperar por la respuesta del usuario para ello usamos capture

    const { addKeyword } = require('@bot-whatsapp/bot')

  const flowString = addKeyword('hola').addAnswer('¿Cual es tu email?', {
        capture: true,
    })


Ejemplos

En este ejemplo, se crean dos flujos de conversación: uno para saludar al usuario cuando escribe "hola" y otro para despedirse cuando escribe "adios".

Cada flujo tiene una respuesta predefinida que se mostrará al usuario. Puedes personalizar las respuestas según tus necesidades.

    const { addKeyword } = require('@bot-whatsapp/bot')

    const flowSaludo = addKeyword('hola')
        .addAnswer('¡Hola! ¿En qué puedo ayudarte?')

    const flowDespedida = addKeyword('adios')
        .addAnswer('¡Hasta luego! Espero haberte sido de ayuda. ¡Vuelve pronto!')


En este ejemplo, se crean dos flujos de conversación: uno para el saludo y otro para la despedida.

Además, se agrega un flujo adicional para enviar una imagen cuando se recibe el mensaje 'imagen'.

const flowSaludo = addKeyword('hola').addAnswer('¡Hola! ¿En qué puedo ayudarte?');
const flowDespedida = addKeyword('adios').addAnswer('¡Hasta luego! Espero haberte sido de ayuda.');

const flowImagen = addKeyword('imagen').addAnswer('¡Aquí tienes una imagen!', { media: 'https://ruta/a/imagen.jpg' });

const adapterFlow = createFlow([flowSaludo, flowDespedida, flowImagen]);

const adapterProvider = createProvider(WebWhatsappProvider);
createBot({
    flow: adapterFlow,
    provider: adapterProvider,
    database: adapterDB,
});