ActionContext class
AdaptiveDialog대해 실행 중인 작업 시퀀스를 조작하기 위한 추가 메서드를 사용하여 DialogContext 확장합니다.
- Extends
-
DialogContext
생성자
| Action |
ActionContext 클래스의 새 인스턴스를 초기화합니다. |
속성
| actions | 실행 중인 작업 목록입니다. |
| changes | 적용할 큐에 대기 중인 변경 내용 목록을 가져옵니다. |
상속된 속성
| active |
|
| child | |
| context | 순서에 대한 컨텍스트 개체를 가져옵니다. |
| dialog |
|
| dialogs | 이 컨텍스트에서 직접 호출할 수 있는 대화 상자를 가져옵니다. |
| parent | 이 대화 상자 컨텍스트의 부모 대화 상자 컨텍스트이거나, 이 컨텍스트에 부모가 없는 경우 |
| services | 이 대화 상자 컨텍스트에 대한 컨텍스트인 서비스 컬렉션을 가져옵니다. |
| stack | 현재 대화 상자 스택을 가져옵니다. |
| state | 모든 메모리 범위의 보기를 관리하는 DialogStateManager를 가져옵니다. |
메서드
| apply |
대기 중인 변경 내용을 적용합니다. |
| queue |
applyChanges()가 호출될 때 적용될 변경 내용 집합을 큐에 대기합니다. |
상속된 메서드
| 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 |
사용자에게 입력하라는 메시지를 다시 표시하도록 활성 대화 상자를 요청합니다. |
생성자 세부 정보
ActionContext(DialogSet, DialogContext, DialogState, ActionState[], symbol)
ActionContext 클래스의 새 인스턴스를 초기화합니다.
new ActionContext(dialogs: DialogSet, parentDialogContext: DialogContext, state: DialogState, actions: ActionState[], changeKey: symbol)
매개 변수
- dialogs
-
DialogSet
작업 컨텍스트를 만들 대화 상자 집합입니다.
- parentDialogContext
-
DialogContext
부모 대화 상자 컨텍스트입니다.
- state
-
DialogState
현재 대화 상자 상태입니다.
- actions
실행할 나머지 작업의 현재 목록입니다.
- changeKey
-
symbol
변경 내용을 유지할 위치에 대한 TurnState 키입니다.
속성 세부 정보
actions
changes
적용할 큐에 대기 중인 변경 내용 목록을 가져옵니다.
ActionChangeList[] changes
속성 값
큐에 대기된 변경 내용 목록입니다.
상속된 속성 세부 정보
activeDialog
activeDialog: DialogInstance | undefined
속성 값
DialogInstance | undefined
DialogContext.activeDialog에서 상속된
child
child: DialogContext | undefined
속성 값
DialogContext | undefined
DialogContext.child에서 상속된
context
순서에 대한 컨텍스트 개체를 가져옵니다.
context: TurnContext
속성 값
TurnContext
DialogContext.context에서 상속된
dialogManager
dialogManager: DialogManager
속성 값
DialogManager
DialogContext.dialogManager에서 상속됨
dialogs
이 컨텍스트에서 직접 호출할 수 있는 대화 상자를 가져옵니다.
dialogs: DialogSet
속성 값
DialogSet
DialogContext.dialogs에서 상속된
parent
이 대화 상자 컨텍스트의 부모 대화 상자 컨텍스트이거나, 이 컨텍스트에 부모가 없는 경우 undefined.
parent: DialogContext | undefined
속성 값
DialogContext | undefined
설명
대화 상자를 시작하려고 하면 대화 컨텍스트는 대화 상자에서 Dialog.id 검색합니다. 이 대화 상자 컨텍스트에서 시작할 대화 상자를 찾을 수 없으면 부모 대화 컨텍스트에서 검색하는 등의 작업을 수행합니다.
DialogContext.parent에서 상속된
services
이 대화 상자 컨텍스트에 대한 컨텍스트인 서비스 컬렉션을 가져옵니다.
services: TurnContextStateCollection
속성 값
TurnContextStateCollection
DialogContext.services에서 상속된
stack
현재 대화 상자 스택을 가져옵니다.
stack: DialogInstance[]
속성 값
DialogInstance[]
DialogContext.stack에서 상속된
state
모든 메모리 범위의 보기를 관리하는 DialogStateManager를 가져옵니다.
state: DialogStateManager
속성 값
DialogStateManager
DialogContext.state에서 상속된
메서드 세부 정보
applyChanges()
대기 중인 변경 내용을 적용합니다.
function applyChanges(): Promise<boolean>
반환
Promise<boolean>
적용할 변경 내용이 있으면 True입니다.
queueChanges(ActionChangeList)
applyChanges()가 호출될 때 적용될 변경 내용 집합을 큐에 대기합니다.
function queueChanges(changes: ActionChangeList)
매개 변수
- changes
- ActionChangeList
큐에 대기하도록 변경 내용을 계획합니다.
상속된 메서드 세부 정보
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
DialogContext.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');
참조
DialogContext.cancelAllDialogs에서 상속된
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.`);
}
DialogContext.continueDialog에서 상속된
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.
설명
현재 대화 상자에 대해 명명된 이벤트를 내보내거나 해당 이벤트를 시작한 사용자가 처리할 수 있습니다.
DialogContext.emitEvent에서 상속된
endDialog(any)
대화 상자를 종료하고 스택에서 팝합니다. 대화 상자의 부모에 대한 선택적 결과를 반환합니다.
function endDialog(result?: any): Promise<DialogTurnResult>
매개 변수
- result
-
any
선택적. 부모 논리에 전달할 결과입니다. 스택의 다음 대화 상자이거나 스택의 마지막 대화 상자인 경우 부모 대화 컨텍스트 또는 봇의 턴 처리기일 수 있습니다.
반환
Promise<DialogTurnResult>
대화 상자 턴 결과로 해결되는 약속입니다.
설명
부모 대화 상자가 있는 경우 대화 상자 스택의 다음 대화 상자입니다. 이 메서드는 부모의 Dialog.resumeDialog 메서드를 호출하여 종료 대화 상자에서 반환된 결과를 전달합니다. 부모 대화 상자가 없으면 반환된 개체의 결과 속성을 통해 봇에서 턴이 종료되고 결과를 사용할 수 있습니다.
반환된 개체의 상태 이 메서드가 완료된 후 대화 상자 스택의 상태를 설명합니다.
일반적으로 특정 대화에 대한 논리 내에서 이를 호출하여 대화가 완료되었음을 대화 컨텍스트로 다시 알리고, 대화 상자를 스택에서 제거해야 하며, 부모 대화가 다시 시작되어야 합니다.
예를 들어:
return await dc.endDialog(returnValue);
참조
- beginDialog
- replaceDialog
- Dialog.endDialog
DialogContext.endDialog에서 상속된
findDialog(string)
지정된 ID를 사용하여 대화 상자를 검색합니다.
function findDialog(dialogId: string): Dialog | undefined
매개 변수
- dialogId
-
string
검색할 대화 상자의 ID입니다.
반환
Dialog | undefined
제공된 ID에 대한 대화 상자입니다.
설명
이 대화 컨텍스트와 연결된 DialogSet 시작할 대화 상자를 찾을 수 없는 경우 부모 대화 컨텍스트에서 대화 상자를 찾으려고 시도합니다.
참조
- 대화
- 부모
DialogContext.findDialog에서 상속된
getLocale()
DialogContext에서 CultureInfo를 가져옵니다.
function getLocale(): string
반환
string
로캘 문자열입니다.
DialogContext.getLocale에서 상속된
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?`);
DialogContext.prompt에서 상속된
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?`);
DialogContext.prompt에서 상속된
replaceDialog(string, object)
활성 대화 상자를 종료하고 해당 위치에서 새 대화 상자를 시작합니다.
function replaceDialog(dialogId: string, options?: object): Promise<DialogTurnResult>
매개 변수
- dialogId
-
string
시작할 대화 상자의 ID입니다.
- options
-
object
선택적. 새 대화 상자가 시작될 때 전달할 인수입니다.
반환
Promise<DialogTurnResult>
대화 상자 턴 결과로 해결되는 약속입니다.
설명
이는 루프를 만들거나 다른 대화 상자로 리디렉션하는 데 특히 유용합니다.
반환된 개체의 상태 이 메서드가 완료된 후 대화 상자 스택의 상태를 설명합니다.
이 메서드는 현재 대화 상자를 종료하고 새 대화 상자를 즉시 시작하는 것과 유사합니다. 그러나 부모 대화 상자는 다시 시작되거나 다른 알림을 받지 않습니다.
참조
DialogContext.replaceDialog에서 상속된
repromptDialog()
사용자에게 입력하라는 메시지를 다시 표시하도록 활성 대화 상자를 요청합니다.
function repromptDialog(): Promise<void>
반환
Promise<void>
설명
활성 대화 상자의 repromptDialog 메서드를 호출합니다.
예를 들어:
await dc.repromptDialog();
DialogContext.repromptDialog에서 상속된