Dialog 클래스

  • java.lang.Object
    • com.microsoft.bot.dialogs.Dialog

public abstract class Dialog

모든 대화 상자의 기본 클래스입니다.

필드 요약

한정자 및 형식 필드 및 설명
static final DialogTurnResult END_OF_TURN

현재 대화 상자가 여전히 활성 상태이며 다음 턴에서 사용자의 입력을 기다리고 있음을 나타내는 DialogTurnResult.

생성자 요약

생성자 Description
Dialog(String dialogId)

Dialog 클래스의 새 인스턴스를 초기화합니다.

메서드 요약

한정자 및 형식 메서드 및 설명
java.util.concurrent.CompletableFuture<DialogTurnResult> beginDialog(DialogContext dc)

대화 상자가 시작되고 대화 스택으로 푸시될 때 호출됩니다.

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

대화 상자가 시작되고 대화 스택으로 푸시될 때 호출됩니다.

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

대화 상자가 _continued_이면 호출됩니다. 여기서 대화는 활성 대화이고 사용자는 새 활동으로 회신합니다.

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

대화 상자가 끝날 때 호출됩니다.

java.lang.String getId()

대화 상자의 ID를 가져옵니다.

BotTelemetryClient getTelemetryClient()

로깅에 사용할 BotTelemetryClient 가져옵니다.

java.lang.String getVersion()

이 대화 상자의 버전을 나타내는 고유한 String을 가져옵니다.

protected static java.util.concurrent.CompletableFuture<DialogTurnResult> innerRun(TurnContext turnContext, String dialogId, DialogContext dialogContext, DialogStateManagerConfiguration stateConfiguration)

Dialog 및 DialogManager를 사용하여 실행의 공유 구현입니다.

protected java.lang.String onComputeId()

대화 상자의 ID를 계산합니다.

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

'DialogContext를 사용하여 이벤트가 발생할 때 호출됩니다.현재 대화 상자 또는 현재 대화 상자가 시작된 대화 상자로Event()'를 내보낸다.

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

이벤트가 모든 부모에게 버블링 된 후 호출하고 처리되지 않았습니다.

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

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

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

대화 상자가 사용자에게 입력하라는 메시지를 다시 표시해야 할 때 호출됩니다.

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

자식 대화 상자가 이 턴을 완료하면 호출되어 이 대화 상자로 컨트롤을 반환합니다.

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

자식 대화 상자가 이 턴을 완료하면 호출되어 이 대화 상자로 컨트롤을 반환합니다.

static java.util.concurrent.CompletableFuture<java.lang.Void> run(Dialog dialog, TurnContext turnContext, StatePropertyAccessor<DialogState> accessor)

대화 상자 스택을 만들고 대화 상자를 시작하여 스택으로 푸시합니다.

void setId(String withId)

대화 상자의 ID를 설정합니다.

void setTelemetryClient(BotTelemetryClient withTelemetryClient)

로깅에 사용할 BotTelemetryClient 설정합니다.

다음에서 상속된 메서드 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

필드 세부 정보

END_OF_TURN

public static final DialogTurnResult END_OF_TURN

현재 대화 상자가 여전히 활성 상태이며 다음 턴에서 사용자의 입력을 기다리고 있음을 나타내는 DialogTurnResult.

생성자 세부 정보

Dialog

public Dialog(String dialogId)

Dialog 클래스의 새 인스턴스를 초기화합니다.

매개 변수:

dialogId - 이 대화 상자에 할당할 ID입니다.

메서드 세부 정보

beginDialog

public CompletableFuture beginDialog(DialogContext dc)

대화 상자가 시작되고 대화 스택으로 푸시될 때 호출됩니다.

매개 변수:

dc - 현재 대화 전환에 대한 DialogContext.

반환:

작업이 성공하면 결과는 대화 상자에서 턴이 처리된 후에도 대화 상자가 여전히 활성 상태인지 여부를 나타냅니다.

beginDialog

public abstract CompletableFuture beginDialog(DialogContext dc, Object options)

대화 상자가 시작되고 대화 스택으로 푸시될 때 호출됩니다.

매개 변수:

dc - 현재 대화 전환에 대한 DialogContext.
options - 대화 상자에 전달할 초기 정보입니다.

반환:

작업이 성공하면 결과는 대화 상자에서 턴이 처리된 후에도 대화 상자가 여전히 활성 상태인지 여부를 나타냅니다.

continueDialog

public CompletableFuture continueDialog(DialogContext dc)

대화 상자가 _continued_이면 호출됩니다. 여기서 대화는 활성 대화이고 사용자는 새 활동으로 회신합니다.

이 메서드가 *not*으로 재정의되면 사용자가 회신할 때 대화 상자가 자동으로 종료됩니다.

매개 변수:

dc - 현재 대화 전환에 대한 DialogContext.

반환:

작업이 성공하면 결과는 대화 상자에서 턴이 처리된 후에도 대화 상자가 여전히 활성 상태인지 여부를 나타냅니다. 결과에는 반환 값도 포함될 수 있습니다.

endDialog

public CompletableFuture endDialog(TurnContext turnContext, DialogInstance instance, DialogReason reason)

대화 상자가 끝날 때 호출됩니다.

매개 변수:

turnContext - 이 턴의 컨텍스트 개체입니다.
instance - 대화 상자 스택에서 이 대화 상자의 인스턴스와 연결된 상태 정보입니다.
reason - 대화 상자가 종료된 이유입니다.

반환:

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

getId

public String getId()

대화 상자의 ID를 가져옵니다.

반환:

대화 상자의 ID입니다.

getTelemetryClient

public BotTelemetryClient getTelemetryClient()

로깅에 사용할 BotTelemetryClient 가져옵니다.

반환:

로깅에 사용할 BotTelemetryClient입니다.

getVersion

public String getVersion()

이 대화 상자의 버전을 나타내는 고유한 String을 가져옵니다. 버전이 바뀌면 대화 시스템이 DialogChanged 이벤트를 내보낸다.

반환:

대화 상자를 다시 시작해야 하는 방식으로 대화 상자가 변경된 경우에만 변경해야 하는 고유 문자열입니다.

innerRun

protected static CompletableFuture innerRun(TurnContext turnContext, String dialogId, DialogContext dialogContext, DialogStateManagerConfiguration stateConfiguration)

Dialog 및 DialogManager를 사용하여 실행의 공유 구현입니다.

매개 변수:

turnContext - turnContext입니다.
dialogId - 대화 상자의 ID입니다.
dialogContext - DialogContext입니다.
stateConfiguration - DialogStateManagerConfiguration입니다.

반환:

DialogTurnResult입니다.

onComputeId

protected String onComputeId()

대화 상자의 ID를 계산합니다.

반환:

ID입니다.

onDialogEvent

public CompletableFuture onDialogEvent(DialogContext dc, DialogEvent e)

현재 대화 상자 또는 현재 대화 상자가 시작된 대화 상자에서 'DialogContext.emitEvent()'를 사용하여 이벤트가 발생했을 때 호출됩니다.

매개 변수:

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

반환:

True이면 현재 대화 상자에서 이벤트를 처리하고 버블링을 중지해야 합니다.

onPostBubbleEvent

protected CompletableFuture onPostBubbleEvent(DialogContext dc, DialogEvent e)

이벤트가 모든 부모에게 버블링 된 후 호출하고 처리되지 않았습니다.

이벤트에 대한 기본 처리 논리를 수행하는 데 적합합니다. 'true'를 반환하면 자식 대화 상자에서 이벤트를 처리할 수 없습니다.

매개 변수:

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

반환:

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

onPreBubbleEvent

protected CompletableFuture onPreBubbleEvent(DialogContext dc, DialogEvent e)

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

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

매개 변수:

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

반환:

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

repromptDialog

public CompletableFuture repromptDialog(TurnContext turnContext, DialogInstance instance)

대화 상자가 사용자에게 입력하라는 메시지를 다시 표시해야 할 때 호출됩니다.

매개 변수:

turnContext - 이 턴의 컨텍스트 개체입니다.
instance - 이 대화 상자의 상태 정보입니다.

반환:

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

resumeDialog

public CompletableFuture resumeDialog(DialogContext dc, DialogReason reason)

자식 대화 상자가 이 턴을 완료하면 호출되어 이 대화 상자로 컨트롤을 반환합니다.

일반적으로 자식 대화 상자는 beginDialog(DialogContext dc, Object options) 호출로 시작되었지만 replaceDialog(String dialogId) 메서드가 호출되면 논리 자식 대화 상자가 원래 대화와 다를 수 있습니다.

이 메서드가 *not*으로 재정의되면 사용자가 회신할 때 대화 상자가 자동으로 종료됩니다.

매개 변수:

dc - 대화의 현재 전환에 대한 대화 컨텍스트입니다.
reason - 대화 상자가 다시 시작된 이유입니다.

반환:

작업이 성공하면 이 대화 상자가 처리된 후에도 이 대화 상자가 여전히 활성 상태인지 여부를 나타냅니다.

resumeDialog

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

자식 대화 상자가 이 턴을 완료하면 호출되어 이 대화 상자로 컨트롤을 반환합니다.

일반적으로 자식 대화 상자는 beginDialog(DialogContext dc, Object options) 호출로 시작되었지만 replaceDialog(String dialogId, Object options) 메서드가 호출되면 논리 자식 대화 상자가 원래 대화와 다를 수 있습니다.

이 메서드가 *not*으로 재정의되면 사용자가 회신할 때 대화 상자가 자동으로 종료됩니다.

매개 변수:

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

반환:

작업이 성공하면 이 대화 상자가 처리된 후에도 이 대화 상자가 여전히 활성 상태인지 여부를 나타냅니다.

run

public static CompletableFuture run(Dialog dialog, TurnContext turnContext, StatePropertyAccessor accessor)

대화 상자 스택을 만들고 대화 상자를 시작하여 스택으로 푸시합니다.

매개 변수:

dialog - 시작할 대화 상자입니다.
turnContext - 대화의 현재 순서에 대한 컨텍스트입니다.
accessor - 대화 상자 스택의 상태를 관리할 StatePropertyAccessor 접근자입니다.

반환:

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

setId

public void setId(String withId)

대화 상자의 ID를 설정합니다.

매개 변수:

withId - 대화 상자의 ID입니다.

setTelemetryClient

public void setTelemetryClient(BotTelemetryClient withTelemetryClient)

로깅에 사용할 BotTelemetryClient 설정합니다.

매개 변수:

withTelemetryClient - 로깅에 사용할 BotTelemetryClient입니다.

적용 대상