Uso del botón para la entrada de datosUse button for input

se aplica a: SDK V4APPLIES TO: SDK v4

Los botones mejoran la experiencia conversacional al permitir que el usuario responda a una pregunta o seleccione el botón deseado, en lugar de tener que escribir una respuesta con un teclado.Buttons enhance the conversational experience by letting the user answer a question or select the desired button, rather than having to type a response with a keyboard. A diferencia de los botones que aparecen dentro de tarjetas enriquezcas (que permanecen visibles y accesibles para el usuario incluso después de seleccionarse), los botones que aparecen en el panel de acciones sugeridas desaparecerán después de que el usuario haga una selección.Unlike buttons that appear within rich cards (which remain visible and accessible to the user even after being selected), buttons that appear within the suggested actions pane will disappear after the user makes a selection. Esto evita que el usuario seleccione botones obsoletos dentro de una conversación y simplifica el desarrollo de bots, ya que no tendrá que tener en cuenta ese escenario.This prevents the user from selecting stale buttons within a conversation and simplifies bot development since you won't need to account for that scenario.

Acción sugerida con un botónSuggest action using button

Las acciones sugeridas permiten al bot presentar botones.Suggested actions enable your bot to present buttons. Puede crear una lista de acciones sugeridas (también conocidas como respuestas rápidas) que se mostrarán al usuario para un único turno de la conversación.You can create a list of suggested actions (also known as quick replies) that will be shown to the user for a single turn of the conversation.

El código fuente que se muestra a continuación se basa en el ejemplo Acciones sugeridas.The source code shown here is based on the Suggested actions sample.

// Creates and sends an activity with suggested actions to the user. When the user
/// clicks one of the buttons the text value from the "CardAction" will be
/// displayed in the channel just as if the user entered the text. There are multiple
/// "ActionTypes" that may be used for different situations.
private static async Task SendSuggestedActionsAsync(ITurnContext turnContext, CancellationToken cancellationToken)
{
    var reply = MessageFactory.Text("What is your favorite color?");

    reply.SuggestedActions = new SuggestedActions()
    {
        Actions = new List<CardAction>()
        {
            new CardAction() { Title = "Red", Type = ActionTypes.ImBack, Value = "Red", Image = "https://via.placeholder.com/20/FF0000?text=R", ImageAltText = "R" },
            new CardAction() { Title = "Yellow", Type = ActionTypes.ImBack, Value = "Yellow", Image = "https://via.placeholder.com/20/FFFF00?text=Y", ImageAltText = "Y" },
            new CardAction() { Title = "Blue", Type = ActionTypes.ImBack, Value = "Blue", Image = "https://via.placeholder.com/20/0000FF?text=B", ImageAltText = "B"   },
        },
    };
    await turnContext.SendActivityAsync(reply, cancellationToken);
}

Recursos adicionalesAdditional resources

Puede acceder al código fuente completo del ejemplo de acciones sugeridas en C#, JavaScript, Java y Python.You can access the complete source code for the Suggested actions sample in C#, JavaScript, Java and Python.

Pasos siguientesNext steps