WaterfallStepContext class
컨텍스트 개체가 WaterfallStep전달됩니다.
- Extends
생성자
| Waterfall |
새 WaterfallStepContext 인스턴스를 만듭니다. |
속성
| active |
|
| child | |
| dialog |
|
| index | 실행 중인 현재 폭포 단계의 인덱스입니다. |
| options |
|
| reason | 폭포 단계가 실행되는 이유입니다. |
| result | 이전 폭포 단계에서 호출된 대화 상자 또는 프롬프트에서 반환된 결과입니다. |
| values | 모든 폭포 단계에서 유지되는 값의 사전입니다. |
상속된 속성
| context | 순서에 대한 컨텍스트 개체를 가져옵니다. |
| dialogs | 이 컨텍스트에서 직접 호출할 수 있는 대화 상자를 가져옵니다. |
| parent | 이 대화 상자 컨텍스트의 부모 대화 상자 컨텍스트이거나, 이 컨텍스트에 부모가 없는 경우 |
| services | 이 대화 상자 컨텍스트에 대한 컨텍스트인 서비스 컬렉션을 가져옵니다. |
| stack | 현재 대화 상자 스택을 가져옵니다. |
| state | 모든 메모리 범위의 보기를 관리하는 DialogStateManager를 가져옵니다. |
메서드
| next(any) | 다음 폭포 단계로 건너뜁니다. |
상속된 메서드
| begin |
대화 상자 인스턴스를 시작하고 대화 상자 스택으로 푸시합니다. 대화 상자의 새 인스턴스를 만들어 스택에 푸시합니다. |
| cancel |
대화 상자 스택의 모든 대화 상자를 취소하고 스택을 지웁니다. |
| continue |
활성 대화 상자가 있는 경우 이 대화 컨텍스트를 Dialog.continueDialog 메서드에 전달하여 계속 실행합니다. |
| emit |
지정된 ID를 사용하여 대화 상자를 검색합니다. |
| end |
대화 상자를 종료하고 스택에서 팝합니다. 대화 상자의 부모에 대한 선택적 결과를 반환합니다. |
| find |
지정된 ID를 사용하여 대화 상자를 검색합니다. |
| get |
DialogContext에서 CultureInfo를 가져옵니다. |
| prompt(string, string | Partial<Activity> | Prompt |
도우미 함수는 프롬프트 대화 상자를 호출하기 위한 옵션의 서식을 간소화합니다. |
| prompt(string, string | Partial<Activity> | Prompt |
도우미 함수는 프롬프트 대화 상자를 호출하기 위한 옵션의 서식을 간소화합니다. |
| replace |
활성 대화 상자를 종료하고 해당 위치에서 새 대화 상자를 시작합니다. |
| reprompt |
사용자에게 입력하라는 메시지를 다시 표시하도록 활성 대화 상자를 요청합니다. |
생성자 세부 정보
WaterfallStepContext(DialogContext, WaterfallStepInfo<O>)
새 WaterfallStepContext 인스턴스를 만듭니다.
new WaterfallStepContext(dc: DialogContext, info: WaterfallStepInfo<O>)
매개 변수
현재 대화 전환에 대한 대화 컨텍스트입니다.
- info
단계 컨텍스트를 초기화할 값입니다.
속성 세부 정보
activeDialog
DialogInstance | undefined activeDialog
속성 값
DialogInstance | undefined
대화 상자 스택 맨 위에 있는 대화 상자의 상태 정보이거나 스택이 비어 있으면 undefined.
child
DialogContext | undefined child
속성 값
DialogContext | undefined
현재 대화 상자가 컨테이너인 경우 자식에 대한 대화 상자 컨텍스트입니다.
dialogManager
경고
이 API는 이제 사용되지 않습니다.
This property serves no function.
DialogManager dialogManager
속성 값
현재 대화 관리자 인스턴스입니다. 이 속성은 더 이상 사용되지 않습니다.
index
실행 중인 현재 폭포 단계의 인덱스입니다.
number index
속성 값
number
실행 중인 현재 폭포 단계의 인덱스입니다.
options
DialogContext.beginDialog()시작할 때 단계 폭포 대화 상자에 전달된 모든 옵션입니다.
O options
속성 값
O
폭포 대화 상자가 호출된 모든 옵션입니다.
reason
result
이전 폭포 단계에서 호출된 대화 상자 또는 프롬프트에서 반환된 결과입니다.
any result
속성 값
any
이전 폭포 단계의 결과입니다.
values
모든 폭포 단계에서 유지되는 값의 사전입니다.
object values
속성 값
object
모든 폭포 단계에서 유지되는 값의 사전입니다.
상속된 속성 세부 정보
context
dialogs
parent
이 대화 상자 컨텍스트의 부모 대화 상자 컨텍스트이거나, 이 컨텍스트에 부모가 없는 경우 undefined.
parent: DialogContext | undefined
속성 값
DialogContext | undefined
설명
대화 상자를 시작하려고 하면 대화 컨텍스트는 대화 상자에서 Dialog.id 검색합니다. 이 대화 상자 컨텍스트에서 시작할 대화 상자를 찾을 수 없으면 부모 대화 컨텍스트에서 검색하는 등의 작업을 수행합니다.
services
이 대화 상자 컨텍스트에 대한 컨텍스트인 서비스 컬렉션을 가져옵니다.
services: TurnContextStateCollection
속성 값
TurnContextStateCollection
stack
state
모든 메모리 범위의 보기를 관리하는 DialogStateManager를 가져옵니다.
state: DialogStateManager
속성 값
메서드 세부 정보
next(any)
다음 폭포 단계로 건너뜁니다.
function next(result?: any): Promise<DialogTurnResult>
매개 변수
- result
-
any
(선택 사항) 다음 단계로 전달할 결과입니다.
반환
Promise<DialogTurnResult>
DialogTurnResult와의 약속입니다.
설명
return await step.skip();
상속된 메서드 세부 정보
beginDialog(string, object)
대화 상자 인스턴스를 시작하고 대화 상자 스택으로 푸시합니다. 대화 상자의 새 인스턴스를 만들어 스택에 푸시합니다.
function beginDialog(dialogId: string, options?: object): Promise<DialogTurnResult>
매개 변수
- dialogId
-
string
시작할 대화 상자의 ID입니다.
- options
-
object
선택적. 시작할 때 대화 상자에 전달할 인수입니다.
반환
Promise<DialogTurnResult>
대화 상자 턴 결과로 해결되는 약속입니다.
설명
스택에 활성 대화 상자가 이미 있는 경우 해당 대화 상자는 스택의 맨 위 대화 상자가 될 때까지 일시 중지됩니다.
반환된 개체의 상태 이 메서드가 완료된 후 대화 상자 스택의 상태를 설명합니다.
이 메서드는 요청된 대화 상자를 이 대화 컨텍스트 또는 상위 항목에서 찾을 수 없는 경우 예외를 throw합니다.
예를 들어:
const result = await dc.beginDialog('greeting', { name: user.name });
참조
- endDialog
- 프롬프트
- replaceDialog
- Dialog.beginDialog
cancelAllDialogs(boolean, string, any)
대화 상자 스택의 모든 대화 상자를 취소하고 스택을 지웁니다.
function cancelAllDialogs(cancelParents?: boolean, eventName?: string, eventValue?: any): Promise<DialogTurnResult>
매개 변수
- cancelParents
-
boolean
선택적.
true 경우 모든 부모 대화도 취소됩니다.
- eventValue
-
any
선택적. 사용자 지정 취소 이벤트와 함께 전달할 값입니다.
반환
Promise<DialogTurnResult>
대화 상자 턴 결과로 해결되는 약속입니다.
설명
스택에서 대화 상자를 제거하기 전에 각 대화 상자의 Dialog.endDialog 메서드를 호출합니다.
처음에 스택에 대화 상자가 있는 경우 반환 값의 상태취소되지. 그렇지 않으면 빈 .
다음은 'bookFlight' 대화 상자를 시작하기 전에 dc대화 상자 스택을 지우는 예제입니다.
await dc.cancelAllDialogs();
return await dc.beginDialog('bookFlight');
참조
continueDialog()
활성 대화 상자가 있는 경우 이 대화 컨텍스트를 Dialog.continueDialog 메서드에 전달하여 계속 실행합니다.
function continueDialog(): Promise<DialogTurnResult>
반환
Promise<DialogTurnResult>
대화 상자 턴 결과로 해결되는 약속입니다.
설명
통화가 완료되면 턴 컨텍스트의 응답 속성을 확인하여 대화 상자가 사용자에게 회신을 보냈는지 확인할 수 있습니다.
반환된 개체의 상태 이 메서드가 완료된 후 대화 상자 스택의 상태를 설명합니다.
일반적으로 봇의 턴 처리기 내에서 이를 호출합니다.
예를 들어:
const result = await dc.continueDialog();
if (result.status == DialogTurnStatus.empty && dc.context.activity.type == ActivityTypes.message) {
// Send fallback message
await dc.context.sendActivity(`I'm sorry. I didn't understand.`);
}
emitEvent(string, any, boolean, boolean)
지정된 ID를 사용하여 대화 상자를 검색합니다.
function emitEvent(name: string, value?: any, bubble?: boolean, fromLeaf?: boolean): Promise<boolean>
매개 변수
- name
-
string
발생할 이벤트의 이름입니다.
- value
-
any
선택적. 이벤트와 함께 보낼 값입니다.
- bubble
-
boolean
선택적. 이벤트를 로컬로 처리하지 않을 경우 부모에 버블링해야 하는지 여부를 제어하는 플래그입니다. 기본값은 true.
- fromLeaf
-
boolean
선택적. 리프 노드에서 이벤트를 내보내는지 여부입니다.
반환
Promise<boolean>
이벤트가 처리되었는지 true.
설명
현재 대화 상자에 대해 명명된 이벤트를 내보내거나 해당 이벤트를 시작한 사용자가 처리할 수 있습니다.
endDialog(any)
대화 상자를 종료하고 스택에서 팝합니다. 대화 상자의 부모에 대한 선택적 결과를 반환합니다.
function endDialog(result?: any): Promise<DialogTurnResult>
매개 변수
- result
-
any
선택적. 부모 논리에 전달할 결과입니다. 스택의 다음 대화 상자이거나 스택의 마지막 대화 상자인 경우 부모 대화 컨텍스트 또는 봇의 턴 처리기일 수 있습니다.
반환
Promise<DialogTurnResult>
대화 상자 턴 결과로 해결되는 약속입니다.
설명
부모 대화 상자가 있는 경우 대화 상자 스택의 다음 대화 상자입니다. 이 메서드는 부모의 Dialog.resumeDialog 메서드를 호출하여 종료 대화 상자에서 반환된 결과를 전달합니다. 부모 대화 상자가 없으면 반환된 개체의 결과 속성을 통해 봇에서 턴이 종료되고 결과를 사용할 수 있습니다.
반환된 개체의 상태 이 메서드가 완료된 후 대화 상자 스택의 상태를 설명합니다.
일반적으로 특정 대화에 대한 논리 내에서 이를 호출하여 대화가 완료되었음을 대화 컨텍스트로 다시 알리고, 대화 상자를 스택에서 제거해야 하며, 부모 대화가 다시 시작되어야 합니다.
예를 들어:
return await dc.endDialog(returnValue);
참조
- beginDialog
- replaceDialog
- Dialog.endDialog
findDialog(string)
지정된 ID를 사용하여 대화 상자를 검색합니다.
function findDialog(dialogId: string): Dialog | undefined
매개 변수
- dialogId
-
string
검색할 대화 상자의 ID입니다.
반환
Dialog | undefined
제공된 ID에 대한 대화 상자입니다.
설명
이 대화 컨텍스트와 연결된 DialogSet 시작할 대화 상자를 찾을 수 없는 경우 부모 대화 컨텍스트에서 대화 상자를 찾으려고 시도합니다.
참조
- 대화
- 부모
getLocale()
DialogContext에서 CultureInfo를 가져옵니다.
function getLocale(): string
반환
string
로캘 문자열입니다.
prompt(string, string | Partial<Activity> | PromptOptions)
도우미 함수는 프롬프트 대화 상자를 호출하기 위한 옵션의 서식을 간소화합니다.
function prompt(dialogId: string, promptOrOptions: string | Partial<Activity> | PromptOptions): Promise<DialogTurnResult>
매개 변수
- dialogId
-
string
시작할 프롬프트 대화 상자의 ID입니다.
- promptOrOptions
-
string | Partial<Activity> | PromptOptions
사용자를 보낼 초기 프롬프트의 텍스트, 초기 프롬프트로 보낼 활동 또는 프롬프트 대화 상자의 서식을 지정할 개체입니다.
반환
Promise<DialogTurnResult>
설명
이 도우미 메서드는 options 매개 변수로 사용할 개체의 서식을 지정한 다음 beginDialog 호출하여 지정된 프롬프트 대화 상자를 시작합니다.
return await dc.prompt('confirmPrompt', `Are you sure you'd like to quit?`);
prompt(string, string | Partial<Activity> | PromptOptions, string | Choice[])
도우미 함수는 프롬프트 대화 상자를 호출하기 위한 옵션의 서식을 간소화합니다.
function prompt(dialogId: string, promptOrOptions: string | Partial<Activity> | PromptOptions, choices: string | Choice[]): Promise<DialogTurnResult>
매개 변수
- dialogId
-
string
시작할 프롬프트 대화 상자의 ID입니다.
- promptOrOptions
-
string | Partial<Activity> | PromptOptions
사용자를 보낼 초기 프롬프트의 텍스트, 초기 프롬프트로 보낼 활동 또는 프롬프트 대화 상자의 서식을 지정할 개체입니다.
- choices
-
string | Choice[]
선택적. 사용자가 선택할 수 있는 선택 항목 배열로, ChoicePrompt사용할 수 있습니다.
반환
Promise<DialogTurnResult>
설명
이 도우미 메서드는 options 매개 변수로 사용할 개체의 서식을 지정한 다음 beginDialog 호출하여 지정된 프롬프트 대화 상자를 시작합니다.
return await dc.prompt('confirmPrompt', `Are you sure you'd like to quit?`);
replaceDialog(string, object)
활성 대화 상자를 종료하고 해당 위치에서 새 대화 상자를 시작합니다.
function replaceDialog(dialogId: string, options?: object): Promise<DialogTurnResult>
매개 변수
- dialogId
-
string
시작할 대화 상자의 ID입니다.
- options
-
object
선택적. 새 대화 상자가 시작될 때 전달할 인수입니다.
반환
Promise<DialogTurnResult>
대화 상자 턴 결과로 해결되는 약속입니다.
설명
이는 루프를 만들거나 다른 대화 상자로 리디렉션하는 데 특히 유용합니다.
반환된 개체의 상태 이 메서드가 완료된 후 대화 상자 스택의 상태를 설명합니다.
이 메서드는 현재 대화 상자를 종료하고 새 대화 상자를 즉시 시작하는 것과 유사합니다. 그러나 부모 대화 상자는 다시 시작되거나 다른 알림을 받지 않습니다.
참조
repromptDialog()
사용자에게 입력하라는 메시지를 다시 표시하도록 활성 대화 상자를 요청합니다.
function repromptDialog(): Promise<void>
반환
Promise<void>
설명
활성 대화 상자의 repromptDialog 메서드를 호출합니다.
예를 들어:
await dc.repromptDialog();