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.

¿Cómo puedo cambiar la tarjeta adaptativa una vez que se envía la entrada del usuario?

Aunque hubo algunas preguntas relacionadas, no veo ninguna solución funcional.

Estoy trabajando en un BOT para retroalimentación. Actualmente, el usuario puede enviar múltiples respuestas haciendo clic en las opciones proporcionadas en la tarjeta adaptable. Estoy tratando de reemplazar la tarjeta adaptable con una tarjeta adaptable simple que solo tenga un texto simple, como “Has elegido la opción 3”.

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Para reemplazar la tarjeta adaptativa con una respuesta de texto plano en tu BOT para comentarios, puedes modificar tu código para manejar de manera diferente la respuesta del usuario. En lugar de usar una tarjeta adaptativa con múltiples opciones, intenta usar una sencilla solicitud de texto para pedir al usuario que seleccione una opción. Una vez que el usuario responda con su elección, puedes enviar una tarjeta adaptativa simple con el mensaje de confirmación como “Has elegido la opción 3”.

    Para hacer esto, puedes modificar el método onMessage en tu código del bot para manejar respuestas de texto plano del usuario. Puedes usar el objeto Activity para obtener el mensaje del usuario y extraer la opción seleccionada. Una vez que tengas la opción seleccionada, puedes crear una tarjeta adaptativa simple utilizando el SDK de AdaptiveCards y enviarla de vuelta al usuario.

    Aquí tienes un ejemplo de código:

    bot.onMessage(async (context, next) => {
      const userMessage = context.activity.text;
    
      // Obtén la opción seleccionada del mensaje del usuario
      const selectedOption = userMessage.substring(userMessage.lastIndexOf(' ') + 1);
    
      // Crea una tarjeta adaptativa simple con el mensaje de confirmación
      const card = {
        "$schema": "http://adaptivecards.io/schemas/adaptive-card.json",
        "type": "AdaptiveCard",
        "body": [
          {
            "type": "TextBlock",
            "text": `Has elegido la opción ${selectedOption}.`
          }
        ],
        "version": "1.0"
      };
    
      // Envía la tarjeta adaptativa simple al usuario
      await context.sendActivity({ attachments: [CardFactory.adaptiveCard(card)] });
    
      await next();
    });
    

    Ten en cuenta que el código anterior asume que el mensaje del usuario contiene la opción seleccionada como la última palabra. Es posible que necesites modificar este código en función de tus requisitos específicos. ¡Espero que esto te ayude!

Comments are closed.