es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

El indicador de escritura sigue apareciendo incluso después de que se envía el mensaje en Bot Framework Composer.

Exactamente lo que indica el título. He estado intentando implementar el indicador de escritura (antes de que el bot envíe un mensaje) para un bot creado a través de Bot Framework Composer. Las pautas indican establecer la propiedad showTyping en appsettings.json en verdadero, pero cuando hago esto, a veces muestra el indicador de escritura antes de que el bot envíe un mensaje, pero otras veces lo muestra después del mensaje del bot.

Ya he buscado este error y parece que no hay soporte para Bot Framework Composer en ninguna parte, pero hay recursos para el mismo problema que ocurre utilizando Bot Framework SDK. He leído y probado exhaustivamente todas las sugerencias para la versión SDK, pero no puedo hacer que funcione. No sé si me falta algún código que conecte los componentes, pero he hecho varias cosas que incluyen:

  • Creación de CustomShowTypingMiddleware.cs
  • Creación y edición de AdapterWithErrorHandler.cs
  • Usar el adaptador en Startup.cs

No sé si se debe agregar algo más a alguno de los otros archivos c# de composer (por ejemplo, BotController.cs, Program.cs), pero estos fueron los cambios que noté en los ejemplos de código, así que esto es todo lo que agregué. Al hacer estos cambios, parece que no hace nada. No rompe el bot, pero tampoco agrega ninguna funcionalidad de escritura. Una alternativa que intenté y que solo funcionaba localmente era crear un componente middleware personalizado (siguiendo esto: https://learn.microsoft.com/en-us/composer/how-to-create-custom-actions?tabs=csharp#export-the-bot-runtime), haciendo referencia a él dentro de mi bot de composer y luego agregando el nombre del nuevo componente a mi matriz components en appsettings.json. Esto envió con éxito una actividad de escritura y la mostró en el chat localmente, pero cada vez que implementaba el código en Azure y lo probaba en Webchat o lo usaba en nuestra aplicación de cliente vinculada a este bot hospedado en Azure, siempre enviaba un error 502/500 diciendo que falta un secreto o un token en la solicitud webchat/join cuando de hecho la cabecera de Autorización muestra lo contrario.

Agradecería cualquier ayuda para intentar hacer que funcionen ambos métodos (adaptador o componente personalizado) o uno nuevo si hay algo más disponible.

Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    Problema con el Indicador de Escritura en Bot Framework Composer

    Como experto en tecnologías de IT especializado en c#, botframework, direct-line-botframework, web-chat, y bot-framework-composer, el desafío que enfrenta involucra la implementación de la función del indicador de escritura en un bot creado a través de Bot Framework Composer. Según las pautas, para lograr esto, es necesario configurar la propiedad showTyping en appsettings.json como verdadero. Desafortunadamente, incluso después de implementar esto, el indicador de escritura solo aparece antes de que el bot envíe un mensaje ocasionalmente o después del mensaje en algunos casos.

    Ha buscado soporte para este problema, y aunque existen varios recursos disponibles para implementar esta función utilizando Bot Framework SDK, ninguno parece funcionar con Bot Framework Composer. Ha seguido todas las sugerencias para la versión del SDK, incluyendo la creación de un CustomShowTypingMiddleware.cs, la edición del AdapterWithErrorHandler.cs, y el uso del adaptador en Startup.cs. Sin embargo, ninguno de estos cambios parece haber funcionado para habilitar la funcionalidad de escritura.

    En un intento alternativo para resolver el problema, ha creado un componente de middleware personalizado siguiendo las instrucciones en (https://learn.microsoft.com/en-us/composer/how-to-create-custom-actions?tabs=csharp#export-the-bot-runtime), lo ha referenciado dentro de su bot de composer, y ha añadido el nombre del nuevo componente a su conjunto de components en appsettings.json. Esto funcionó inicialmente, ya que la actividad de escritura fue enviada y mostrada con éxito en el chat local. Sin embargo, cada vez que despliega el código en Azure y lo prueba en Webchat, o lo usa en su aplicación cliente vinculada al bot de Azure alojado, sigue recibiendo un error 502/500 que indica una falta de secreto o token en la solicitud webchat/join, aunque la cabecera de autorización muestra lo contrario.

    Requiere asistencia para hacer que cualquiera de los métodos (adaptador o componente personalizado) funcionen o cualquier otro enfoque efectivo para resolver el problema. Cualquier ayuda será altamente apreciada.

Comments are closed.