다음을 통해 공유


ActionContext class

AdaptiveDialog대해 실행 중인 작업 시퀀스를 조작하기 위한 추가 메서드를 사용하여 DialogContext 확장합니다.

Extends

DialogContext

생성자

ActionContext(DialogSet, DialogContext, DialogState, ActionState[], symbol)

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

속성

actions

실행 중인 작업 목록입니다.

changes

적용할 큐에 대기 중인 변경 내용 목록을 가져옵니다.

상속된 속성

activeDialog
child
context

순서에 대한 컨텍스트 개체를 가져옵니다.

dialogManager
dialogs

이 컨텍스트에서 직접 호출할 수 있는 대화 상자를 가져옵니다.

parent

이 대화 상자 컨텍스트의 부모 대화 상자 컨텍스트이거나, 이 컨텍스트에 부모가 없는 경우 undefined.

services

이 대화 상자 컨텍스트에 대한 컨텍스트인 서비스 컬렉션을 가져옵니다.

stack

현재 대화 상자 스택을 가져옵니다.

state

모든 메모리 범위의 보기를 관리하는 DialogStateManager를 가져옵니다.

메서드

applyChanges()

대기 중인 변경 내용을 적용합니다.

queueChanges(ActionChangeList)

applyChanges()가 호출될 때 적용될 변경 내용 집합을 큐에 대기합니다.

상속된 메서드

beginDialog(string, object)

대화 상자 인스턴스를 시작하고 대화 상자 스택으로 푸시합니다. 대화 상자의 새 인스턴스를 만들어 스택에 푸시합니다.

cancelAllDialogs(boolean, string, any)

대화 상자 스택의 모든 대화 상자를 취소하고 스택을 지웁니다.

continueDialog()

활성 대화 상자가 있는 경우 이 대화 컨텍스트를 Dialog.continueDialog 메서드에 전달하여 계속 실행합니다.

emitEvent(string, any, boolean, boolean)

지정된 ID를 사용하여 대화 상자를 검색합니다.

endDialog(any)

대화 상자를 종료하고 스택에서 팝합니다. 대화 상자의 부모에 대한 선택적 결과를 반환합니다.

findDialog(string)

지정된 ID를 사용하여 대화 상자를 검색합니다.

getLocale()

DialogContext에서 CultureInfo를 가져옵니다.

prompt(string, string | Partial<Activity> | PromptOptions)

도우미 함수는 프롬프트 대화 상자를 호출하기 위한 옵션의 서식을 간소화합니다.

prompt(string, string | Partial<Activity> | PromptOptions, string | Choice[])

도우미 함수는 프롬프트 대화 상자를 호출하기 위한 옵션의 서식을 간소화합니다.

replaceDialog(string, object)

활성 대화 상자를 종료하고 해당 위치에서 새 대화 상자를 시작합니다.

repromptDialog()

사용자에게 입력하라는 메시지를 다시 표시하도록 활성 대화 상자를 요청합니다.

생성자 세부 정보

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

ActionState[]

실행할 나머지 작업의 현재 목록입니다.

changeKey

symbol

변경 내용을 유지할 위치에 대한 TurnState 키입니다.

속성 세부 정보

actions

실행 중인 작업 목록입니다.

actions: ActionState[]

속성 값

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 });

참조

DialogContext.beginDialog에서 상속된

cancelAllDialogs(boolean, string, any)

대화 상자 스택의 모든 대화 상자를 취소하고 스택을 지웁니다.

function cancelAllDialogs(cancelParents?: boolean, eventName?: string, eventValue?: any): Promise<DialogTurnResult>

매개 변수

cancelParents

boolean

선택적. true 경우 모든 부모 대화도 취소됩니다.

eventName

string

선택적. 대화 상자가 취소될 때 발생되는 사용자 지정 이벤트의 이름입니다. 이 기본값은 cancelDialog .

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);

참조

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에서 상속된