builderbot icon indicating copy to clipboard operation
builderbot copied to clipboard

Botones y DialogFlow por el payload. No funciona

Open HKong31 opened this issue 3 years ago • 6 comments

Mientras esto funciona a través del payload (aunque a vcs la imagen sale primero que el mensaje): { "media":"https://media2.giphy.com/media/VQJu0IeULuAmCwf5SL/giphy.gif", } Esto no funciona casi de ninguna forma de las que he probado (colocándolo en el payload): { "actions":{ "title":"¿Que te interesa ver?", "message":"Recuerda todo este contenido es gratis y estaria genial que me siguas!", "footer":"Gracias", "buttons":[ {"body":"Cursos"}, {"body":"Youtube"}, {"body":"Telegram"} ] } }

Si alguien sabe como lograr esto....

HKong31 avatar Sep 17 '22 12:09 HKong31

Para los botones corre este comando para moverte a la rama resuelta del api de whatsapp

npm i github:pedroslopez/whatsapp-web.js#fix-buttons-list

Con respecto a DialogFlow, cual es tu problema?

KJoaquin avatar Sep 20 '22 16:09 KJoaquin

Gracias por tu respuesta, siento no haber sido mas explicito, creí que si combinaban el titulo con el cuerpo del mensaje quedaría clara la pregunta. Lo que colocas ....npm i github:pedroslopez/whatsapp-web.js#fix-buttons-list...., ya lo sabia y tenia tiempo aplicado. Los botones funcionan si uso el "modo" JSON en el .env. Pero como usarlo con DialogFlow?, por medio del payload, eso también lo se. Como menciono las imágenes pasan bien. Pero no logro hacer funcionar los botones.

HKong31 avatar Sep 20 '22 17:09 HKong31

Listo ya comprendo:

Captura de Pantalla 2022-09-20 a la(s) 11 39 35

En el caso de que lo quieras agregar asi, tienes que agregar al código a la función, ya que no se encuentra esa función asi

adapter/dialogflow.js

Captura de Pantalla 2022-09-20 a la(s) 11 42 01

La función tendría que leerse e interpretarse para que envie la estructura en la función de envio de botones, esto se tendría que agregar desde:

controllers/flow.js

Captura de Pantalla 2022-09-20 a la(s) 11 45 27

La otra opción seria que lo agregues directamente en el app.js

Captura de Pantalla 2022-09-20 a la(s) 11 46 33

En dado caso que no lo quieras agregar de esta manera y quieras jugar mas con los Intets puedes hacerlo de esta manera:

Captura de Pantalla 2022-09-20 a la(s) 11 48 45

De esta manera puedes jugar con todas las funciones que incluye el api.

Espero ser de ayuda, quedo atento a tus comentarios

KJoaquin avatar Sep 20 '22 17:09 KJoaquin

Excelente, muchísimas gracias por taimarte el tiempo. Tan pronto puedo me pongo a trabajar. De verdad repito, agradecido.

HKong31 avatar Sep 20 '22 18:09 HKong31

Dale, quedo atento, si necesitas ayuda me comentas

KJoaquin avatar Sep 20 '22 18:09 KJoaquin

Hola @KJoaquin, según el "primer método" (agregar en formato JSON por el payload, que es el que me interesa). No encontré forma de hacerlo funcionar, ni con tus indicaciones, ni con otras mas que intente. se envía el "JSON", la consola recibe= { fields: { actions: { structValue: [Object], kind: 'structValue' } } } y el error "[BT01] No buttons". Otra cosa, según veo en flow.js (original), según entiendo, solo guarda el archivo multimedia, no tiene que ver con el envió del mismo.

HKong31 avatar Oct 06 '22 12:10 HKong31

Lograste @HKong31 ??

KJoaquin avatar Oct 31 '22 17:10 KJoaquin

Hola @KJoaquin, Si, ya todo esta funcionando bien aparentemente. Gracias por tu ayuda.

HKong31 avatar Nov 01 '22 04:11 HKong31

Yo lo tengo de esta manera

Captura de pantalla 2022-11-02 a la(s) 10 13 27 a  m

Pero tambien lo tienes que validar en el flows.js

Captura de pantalla 2022-11-02 a la(s) 10 13 56 a  m

KJoaquin avatar Nov 02 '22 16:11 KJoaquin