입력에 단추 사용

적용 대상: SDK v4

단추는 사용자가 키보드로 응답을 입력하지 않고 질문에 대답하거나 원하는 단추를 선택하도록 하여 대화 환경을 향상시킵니다. 선택한 후에도 사용자가 볼 수 있고 액세스할 수 있는 서식 있는 카드 내에 표시되는 단추와 달리 제안된 작업 창 내에 표시되는 단추는 사용자가 선택한 후에 사라집니다. 이렇게 하면 사용자가 대화 내에서 부실 단추를 선택할 수 없으며 해당 시나리오를 고려할 필요가 없으므로 봇 개발이 간소화됩니다.

참고 항목

Bot Framework JavaScript, C#및 Python SDK는 계속 지원되지만 Java SDK는 2023년 11월에 종료되는 최종 장기 지원으로 사용 중지됩니다.

Java SDK를 사용하여 빌드된 기존 봇은 계속 작동합니다.

새 봇 빌드의 경우 Microsoft Copilot Studio를 사용하고 올바른 부조종사 솔루션 선택에 대해 알아봅니다.

자세한 내용은 봇 빌드의 미래를 참조 하세요.

단추를 사용하여 작업 제안

제안된 작업을 사용하면 봇이 단추를 표시할 수 있습니다. 대화의 단일 턴에 대해 사용자에게 표시될 제안된 작업(빠른 회신이라고도 함) 목록을 만들 수 있습니다.

다음은 제안된 작업 샘플의 예입니다.

// 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#, JavaScript, Java 및 Python에서 제안된 작업 샘플의 전체 소스 코드액세스할 수 있습니다.

다음 단계