使用按鈕進行輸入

適用于: SDK v4

按鈕可讓使用者回答問題或選取所需的按鈕,而不需要使用鍵盤輸入回應,藉此增強對話式體驗。 不同于出現在豐富卡片內的按鈕 (即使在選取) 之後,使用者仍可看見並可供使用者存取,但在使用者進行選取之後,出現在 [建議的動作] 窗格中的按鈕將會消失。 這可防止使用者在交談中選取過時的按鈕,並簡化 bot 開發,因為您不需要考慮該案例。

使用按鈕建議動作

「建議動作」 可讓 Bot 顯示按鈕。 您可以建立一份建議的動作清單, (也稱為 快速回復) 將會向使用者顯示對話的單一回合。

這裡顯示的原始程式碼是以建議動作範例為基礎。

// 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);
}

其他資源

您可以使用 c #JavaScriptPython中的 建議動作 範例來存取完整的原始程式碼。

後續步驟