Usar o botão para a entrada

APLICA-SE A: SDK v4

Os botões aprimoram a experiência de conversa, permitindo que o usuário responda a uma pergunta ou selecione o botão desejado, em vez de precisar digitar uma resposta com um teclado. Ao contrário dos botões que aparecem em cartões avançados (que permanecem visíveis e acessíveis para o usuário mesmo após a seleção), os botões que aparecem no painel de ações sugerido desaparecerão depois que o usuário fizer uma seleção. Isso impede que o usuário selecione botões obsoletos dentro de uma conversa e simplifica o desenvolvimento do bot, pois você não precisará considerar esse cenário.

Sugerir ação usando o botão

As ações sugeridas permitem que seu bot apresente botões. Você pode criar uma lista de ações sugeridas (também conhecidas como respostas rápidas) que serão mostradas ao usuário para uma única vez da conversa.

O código-fonte mostrado aqui se baseia no exemplo de ações sugeridas.

// 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 adicionais

Você pode acessar o código-fonte completo para o exemplo de ações sugeridas em C#, JavaScript, Java e Python.

Próximas etapas