다음을 통해 공유


Prompt<T> 클래스

형식 매개 변수

T

프롬프트가 만들어지는 을 입력합니다.

public abstract class Prompt
extends Dialog

프롬프트 대화의 핵심 동작을 정의합니다. 프롬프트가 종료되면 메시지가 표시된 값을 나타내는 Object를 반환해야 합니다. 또는 addDialog(Dialog dialog) 를 사용하여 add(Dialog dialog) 대화 집합 또는 구성 요소 대화 상자에 각각 프롬프트를 추가합니다. 또는 beginDialog(String dialogId, Object options) 를 사용하여 prompt(String dialogId, PromptOptions options) 프롬프트를 시작합니다. 의 에서 프롬프트를 WaterfallStepWaterfallDialog시작하면 폭포의 다음 단계에서 프롬프트 결과를 사용할 수 있습니다.

필드 요약

한정자 및 형식 필드 및 설명
static final java.lang.String ATTEMPTCOUNTKEY

생성자 요약

생성자 Description
Prompt(String dialogId, PromptValidator<T> validator)

{@link Prompt{T}} 클래스의 새 인스턴스를 초기화합니다.

메서드 요약

한정자 및 형식 메서드 및 설명
protected Activity appendChoices(Activity prompt, String channelId, List<Choice> choices, ListStyle style, ChoiceFactoryOptions options)

파생 클래스에서 재정의되는 경우 사용자가 입력하라는 메시지가 표시되면 작업에 선택 항목을 추가합니다.

java.util.concurrent.CompletableFuture<DialogTurnResult> beginDialog(DialogContext dc, Object options)

프롬프트 대화 상자가 대화 스택에 푸시되고 활성화될 때 호출됩니다.

java.util.concurrent.CompletableFuture<DialogTurnResult> continueDialog(DialogContext dc)

프롬프트 대화 상자가 활성 대화이고 사용자가 새 활동으로 응답할 때 호출됩니다.

protected java.util.concurrent.CompletableFuture<java.lang.Boolean> onPreBubbleEvent(DialogContext dc, DialogEvent e)

이벤트가 부모에 버블링되기 전에 호출됩니다.

protected abstract java.util.concurrent.CompletableFuture<java.lang.Void> onPrompt(TurnContext turnContext, Map<String,Object> state, PromptOptions options, Boolean isRetry)

파생 클래스에서 재정의된 경우 사용자에게 입력을 묻는 메시지를 표시합니다.

protected abstract java.util.concurrent.CompletableFuture<PromptRecognizerResult<T>> onRecognize(TurnContext turnContext, Map<String,Object> state, PromptOptions options)

파생 클래스에서 재정의된 경우 사용자의 입력을 인식하려고 시도합니다.

java.util.concurrent.CompletableFuture<java.lang.Void> repromptDialog(TurnContext turnContext, DialogInstance instance)

사용자에게 입력을 다시 요청하는 프롬프트 대화 상자가 요청되었을 때 호출됩니다.

java.util.concurrent.CompletableFuture<DialogTurnResult> resumeDialog(DialogContext dc, DialogReason reason, Object result)

스택의 이전 활성 대화 상자가 완료되는 경우와 같이 대화 상자 스택의 활성 대화가 다시 시작될 때 호출됩니다.

다음에서 상속된 메서드 Dialog

다음에서 상속된 메서드 java.lang.Object

java.lang.Object.clone java.lang.Object.equals java.lang.Object.finalize java.lang.Object.getClass java.lang.Object.hashCode java.lang.Object.notify java.lang.Object.notifyAll java.lang.Object.toString java.lang.Object.wait java.lang.Object.wait java.lang.Object.wait

필드 세부 정보

ATTEMPTCOUNTKEY

public static final String ATTEMPTCOUNTKEY

생성자 세부 정보

Prompt

public Prompt(String dialogId, PromptValidator validator)

{@link Prompt{T}} 클래스의 새 인스턴스를 초기화합니다. 파생 클래스의 생성자에서 호출되어 {@link Prompt{T}} 클래스를 초기화합니다.

매개 변수:

dialogId - 이 프롬프트에 할당할 ID입니다.
validator - 선택 사항으로, 이 프롬프트에 대한 추가적인 사용자 지정 유효성 검사가 포함된 {@link PromptValidator{T}}입니다.
              The value of dialogId must be unique within the
              <xref uid="com.microsoft.bot.dialogs.DialogSet" data-throw-if-not-resolved="false" data-raw-source="com.microsoft.bot.dialogs.DialogSet"></xref> or
              <xref uid="com.microsoft.bot.dialogs.ComponentDialog" data-throw-if-not-resolved="false" data-raw-source="com.microsoft.bot.dialogs.ComponentDialog"></xref> to which
              the prompt is added.

메서드 세부 정보

appendChoices

protected Activity appendChoices(Activity prompt, String channelId, List choices, ListStyle style, ChoiceFactoryOptions options)

파생 클래스에서 재정의되는 경우 사용자가 입력하라는 메시지가 표시되면 작업에 선택 항목을 추가합니다.

매개 변수:

prompt - 선택 항목을 추가할 활동입니다.
channelId - 사용자 채널의 ID입니다.
choices - 추가할 선택 항목입니다.
style - 선택 항목을 사용자에게 표시하는 방법을 나타냅니다.
options - 선택 항목을 표시할 때 사용할 서식 옵션입니다.

반환:

비동기 작업을 나타내는 CompletableFuture입니다.
     If the task is successful, the result contains the updated activity.

beginDialog

public CompletableFuture beginDialog(DialogContext dc, Object options)

프롬프트 대화 상자가 대화 스택에 푸시되고 활성화될 때 호출됩니다.

재정의:

Prompt<T>.beginDialog(DialogContext dc, Object options)

매개 변수:

dc - 대화의 현재 전환에 대한 대화 컨텍스트입니다.
options - 선택 사항이며 시작 중인 프롬프트에 전달할 추가 정보입니다.

반환:

비동기 작업을 나타내는 CompletableFuture입니다.
     If the task is successful, the result indicates whether the prompt is
     still active after the turn has been processed by the prompt.

continueDialog

public CompletableFuture continueDialog(DialogContext dc)

프롬프트 대화 상자가 활성 대화이고 사용자가 새 활동으로 응답할 때 호출됩니다.

재정의:

Prompt<T>.continueDialog(DialogContext dc)

매개 변수:

dc - 현재 대화 전환에 대한 대화 컨텍스트입니다.

반환:

비동기 작업을 나타내는 CompletableFuture입니다.
     If the task is successful, the result indicates whether the dialog is
     still active after the turn has been processed by the dialog. The
     prompt generally continues to receive the user's replies until it
     accepts the user's reply as valid input for the prompt.

onPreBubbleEvent

protected CompletableFuture onPreBubbleEvent(DialogContext dc, DialogEvent e)

이벤트가 부모에 버블링되기 전에 호출됩니다. 'true'를 반환하면 대화 부모에게 이벤트가 더 이상 버블링되지 않으며 모든 자식 대화 상자가 기본 처리를 수행하지 못하게 되므로 이벤트를 가로채는 것이 좋습니다.

재정의:

Prompt<T>.onPreBubbleEvent(DialogContext dc, DialogEvent e)

매개 변수:

dc - 현재 대화 전환에 대한 대화 컨텍스트입니다.
e - 발생 중인 이벤트입니다.

반환:

이벤트가 현재 대화 상자에서 처리되는지 여부와 추가 처리를 중지해야 합니다.

onPrompt

protected abstract CompletableFuture onPrompt(TurnContext turnContext, Map state, PromptOptions options, Boolean isRetry)

파생 클래스에서 재정의된 경우 사용자에게 입력을 묻는 메시지를 표시합니다.

매개 변수:

turnContext - 사용자와의 현재 대화 전환에 대한 컨텍스트입니다.
state - 대화 상자 스택에서 프롬프트의 현재 인스턴스에 대한 상태를 포함합니다.
options - 프롬프트 옵션 개체는 에 대한 호출 prompt(String dialogId, PromptOptions options) 에서 처음 제공된 옵션에서 생성됩니다.
isRetry - 이 프롬프트 대화 상자 인스턴스가 스택에 처음 있는 경우 true이면 사용자에게 입력하라는 메시지가 표시됩니다. 그렇지 않으면 false입니다. 사용 여부를 getPrompt()getRetryPrompt() 결정합니다.

반환:

비동기 작업을 나타내는 CompletableFuture입니다.

onRecognize

protected abstract CompletableFuture> onRecognize(TurnContext turnContext, Map state, PromptOptions options)

파생 클래스에서 재정의된 경우 사용자의 입력을 인식하려고 시도합니다.

매개 변수:

turnContext - 사용자와의 현재 대화 전환에 대한 컨텍스트입니다.
state - 대화 상자 스택에서 프롬프트의 현재 인스턴스에 대한 상태를 포함합니다.
options - 프롬프트 옵션 개체는 에 대한 호출 prompt(String dialogId, PromptOptions options) 에서 처음 제공된 옵션에서 생성됩니다.

반환:

비동기 작업을 나타내는 CompletableFuture입니다.
     If the task is successful, the result describes the result of the
     recognition attempt.

repromptDialog

public CompletableFuture repromptDialog(TurnContext turnContext, DialogInstance instance)

사용자에게 입력을 다시 요청하는 프롬프트 대화 상자가 요청되었을 때 호출됩니다.

재정의:

Prompt<T>.repromptDialog(TurnContext turnContext, DialogInstance instance)

매개 변수:

turnContext - 사용자와의 현재 대화 전환에 대한 컨텍스트입니다.
instance - 스택에 있는 대화 상자의 인스턴스입니다.

반환:

비동기 작업을 나타내는 CompletableFuture입니다.

resumeDialog

public CompletableFuture resumeDialog(DialogContext dc, DialogReason reason, Object result)

스택의 이전 활성 대화 상자가 완료되는 경우와 같이 대화 상자 스택의 활성 대화가 다시 시작될 때 호출됩니다.

재정의:

Prompt<T>.resumeDialog(DialogContext dc, DialogReason reason, Object result)

매개 변수:

dc - 대화의 현재 전환에 대한 대화 컨텍스트입니다.
reason - 대화가 다시 시작된 이유를 나타내는 열거형입니다.
result - 선택 사항으로, 스택의 이전 대화 상자에서 반환된 값입니다. 반환되는 값의 형식은 이전 대화 상자에 따라 달라집니다.

반환:

비동기 작업을 나타내는 CompletableFuture입니다.
     If the task is successful, the result indicates whether the dialog is
     still active after the turn has been processed by the dialog.

적용 대상