다음을 통해 공유


CommandDialog class

사용되지 대신 IntentDialog 사용합니다.

Extends

메서드

addDialogTrigger(ActionSet, string)

라이브러리 내의 각 대화 상자에 대해 한 번 호출하여 해당 triggerAction() 라이브러리 전역 작업 집합에 추가할 수 있는 기회를 제공합니다. 이러한 트리거는 트리거 조건이 충족되면 대화 상자를 시작하는 beginDialogAction() 매핑됩니다.

begin<T>(Session, T)

새 대화 세션이 시작될 때 호출됩니다.

beginDialogAction(string, string, IBeginDialogActionOptions)

트리거될 때마다 다른 대화 상자를 시작할 대화 상자에 작업을 바인딩합니다. 새 대화 상자가 스택에 푸시되므로 현재 작업이 자동으로 종료되지 않습니다. 새 대화 상자가 끝나면 현재 작업이 계속됩니다. 기본 제공 프롬프트가 발생하면 사용자에게 자동으로 다시 메시지를 표시하지만 기본 제공 프롬프트를 호출할 때 promptAfterAction 플래그를 설정하여 해당 동작을 사용하지 않도록 설정할 수 있습니다.

cancelAction(string, TextOrMessageType, ICancelActionOptions)

트리거될 때마다 대화 상자를 취소하는 작업을 대화 상자에 바인딩합니다. 취소되면취소되었음을 나타내는 다시 코드로 대화 상자 부모가 다시 .

clone(ActionSet)

기존 ActionSet의 복제본을 반환합니다.

customAction(IDialogActionOptions)

트리거될 때 전달된 onSelectAction 처리기를 호출하는 대화 상자에 사용자 지정 작업을 바인딩합니다.

dialogInterrupted(Session, string, any)

루트 대화 상자가 다른 대화에 의해 중단될 때 호출됩니다. 이렇게 하면 중단되는 대화 상자가 스택에서 제거되기 전에 사용자 지정 논리를 실행할 수 있습니다. 대화 상자 자체는 대화 스택을 지우고 새 대화 상자를 시작하는 역할을 합니다.

dialogResumed<T>(Session, IDialogResult<T>)

자식 대화 상자가 종료되고 현재 대화 상자가 다시 시작됩니다.

endConversationAction(string, TextOrMessageType, ICancelActionOptions)

트리거될 때 사용자와의 대화를 종료하는 작업을 바인딩합니다.

findActionRoutes(IRecognizeDialogContext, (err: Error, results: IRouteResult[]) => void)

Library.findRoutes()에서 호출되는 스택의 각 대화 상자를 호출하여 사용자 발화에 의해 대화 동작이 트리거되는지 여부를 확인합니다.

recognize(IRecognizeDialogContext, (err: Error, result: IRecognizeResult) => void)

사용자 발화를 구문 분석하고 0.0에서 1.0까지의 점수를 할당하여 대화 상자가 사용자 발화를 이해했는지를 나타냅니다. 이 메서드는 항상 스택의 활성 대화 상자에 대해 호출됩니다. 점수가 1.0이면 완벽한 일치를 나타내고 추가 인식을 종료합니다. 점수가 1.0보다 작으면 스택의 모든 대화 상자에는 recognizeAction() 메서드가 호출되어 사용자 발언과 더 잘 일치하는 대화 상자에 바인딩된 명명된 작업이 있는지 확인합니다. 봇 수준에서 등록된 전역 작업도 평가됩니다. 대화 상자에 점수가 더 높은 경우 바인딩된 동작이 있으면 recognize() 호출에서 반환된 결과 개체를 사용하여 replyReceived() 메서드에 대화 상자가 호출됩니다. 이렇게 하면 대화 상자에서 인식 단계 중에 수집된 추가 데이터를 replyReceived() 메서드로 전달하여 처리할 수 있습니다.

점수가 더 높은 작업이 있는 경우 대화 상자는 replyReceived() 메서드 대신 동작이 호출됩니다. 대화 상자는 스택에 유지되며 작업이 새 대화 상자를 호출하는 경우 언제든지 다시 시작될 수 있으므로 대화 상자에서 dialogResumed()대한 예기치 않은 호출을 준비해야 합니다.

reloadAction(string, TextOrMessageType, IBeginDialogActionOptions)

트리거될 때마다 대화 상자가 다시 로드되도록 하는 작업을 대화 상자에 바인딩합니다. 이는 "다시 시작"과 같은 사용자 발언을 처리하는 논리를 구현하는 데 유용합니다.

replyReceived(Session, IRecognizeResult)
selectActionRoute(Session, IRouteResult)

발화에 대한 신뢰도 점수가 가장 높은 경로를 선택합니다.

triggerAction(ITriggerActionOptions)

트리거될 때마다 활성 대화 상자로 만드는 작업을 대화 상자에 바인딩합니다. 기본 동작은 스택을 지우고 스택의 루트에서 대화 상자를 시작하여 기존 대화 상자를 상호 결합하는 것입니다. 중단되는 대화 상자는 중단된 처리기의 사용자 지정 트리거 작업 옵션에 추가하여 이 중단을 가로챌 수 있습니다. 또한 트리거 작업 옵션에 사용자 지정 onSelectAction 처리기를 제공하여 트리거된 대화가 시작되는 방식을 사용자 지정할 수 있습니다.

메서드 세부 정보

addDialogTrigger(ActionSet, string)

라이브러리 내의 각 대화 상자에 대해 한 번 호출하여 해당 triggerAction() 라이브러리 전역 작업 집합에 추가할 수 있는 기회를 제공합니다. 이러한 트리거는 트리거 조건이 충족되면 대화 상자를 시작하는 beginDialogAction() 매핑됩니다.

function addDialogTrigger(actions: ActionSet, dialogId: string)

매개 변수

actions
ActionSet

라이브러리 전역 작업 집합입니다.

dialogId

string

트리거할 대화 상자의 정규화된 ID입니다.

begin<T>(Session, T)

새 대화 세션이 시작될 때 호출됩니다.

function begin<T>(session: Session, args?: T)

매개 변수

session
Session

현재 대화의 세션 개체입니다.

args

T

(선택 사항) 부모가 대화 상자에 전달한 인수입니다.

beginDialogAction(string, string, IBeginDialogActionOptions)

트리거될 때마다 다른 대화 상자를 시작할 대화 상자에 작업을 바인딩합니다. 새 대화 상자가 스택에 푸시되므로 현재 작업이 자동으로 종료되지 않습니다. 새 대화 상자가 끝나면 현재 작업이 계속됩니다. 기본 제공 프롬프트가 발생하면 사용자에게 자동으로 다시 메시지를 표시하지만 기본 제공 프롬프트를 호출할 때 promptAfterAction 플래그를 설정하여 해당 동작을 사용하지 않도록 설정할 수 있습니다.

function beginDialogAction(name: string, id: string, options?: IBeginDialogActionOptions)

매개 변수

name

string

작업을 할당할 고유 이름입니다.

id

string

시작할 대화 상자의 ID입니다.

options
IBeginDialogActionOptions

(선택 사항) 작업을 구성하는 데 사용되는 옵션입니다. 일치 지정된 경우 작업은 사용자가 작업을 트리거하는 단어 또는 구를 말하도록 수신 대기합니다. 그렇지 않으면 작업을 트리거하기 위해 CardAction.dialogAction() 사용하여 단추에 작업을 바인딩해야 합니다. dialogArgs 사용하여 시작 중인 대화 상자에 추가 매개 변수를 전달할 수도 있습니다.

반환

cancelAction(string, TextOrMessageType, ICancelActionOptions)

트리거될 때마다 대화 상자를 취소하는 작업을 대화 상자에 바인딩합니다. 취소되면취소되었음을 나타내는 다시 코드로 대화 상자 부모가 다시 .

function cancelAction(name: string, msg?: TextOrMessageType, options?: ICancelActionOptions)

매개 변수

name

string

작업을 할당할 고유 이름입니다.

msg
TextOrMessageType

(선택 사항) 대화 상자를 취소하기 전에 사용자를 보내는 메시지입니다.

options
ICancelActionOptions

(선택 사항) 작업을 구성하는 데 사용되는 옵션입니다. 일치 지정된 경우 작업은 사용자가 작업을 트리거하는 단어 또는 구를 말하도록 수신 대기합니다. 그렇지 않으면 작업을 트리거하기 위해 CardAction.dialogAction() 사용하여 단추에 작업을 바인딩해야 합니다.

반환

clone(ActionSet)

기존 ActionSet의 복제본을 반환합니다.

function clone(copyTo?: ActionSet)

매개 변수

copyTo
ActionSet

(선택 사항) 현재 개체를 복사할 인스턴스입니다. 누락된 경우 새 인스턴스가 만들어집니다.

반환

customAction(IDialogActionOptions)

트리거될 때 전달된 onSelectAction 처리기를 호출하는 대화 상자에 사용자 지정 작업을 바인딩합니다.

function customAction(options: IDialogActionOptions)

매개 변수

options
IDialogActionOptions

작업을 구성하는 데 사용되는 옵션입니다. 일치하는 지정된 경우 작업은 사용자가 작업을 트리거하는 단어 또는 구를 말하는 것을 수신 대기합니다. onFindAction사용하여 사용자 지정 일치 논리를 제공할 수 있습니다.

반환

dialogInterrupted(Session, string, any)

루트 대화 상자가 다른 대화에 의해 중단될 때 호출됩니다. 이렇게 하면 중단되는 대화 상자가 스택에서 제거되기 전에 사용자 지정 논리를 실행할 수 있습니다. 대화 상자 자체는 대화 스택을 지우고 새 대화 상자를 시작하는 역할을 합니다.

function dialogInterrupted(session: Session, dialogId: string, dialogArgs: any)

매개 변수

session
Session

현재 대화의 세션 개체입니다.

dialogId

string

시작해야 하는 대화 상자의 ID입니다.

dialogArgs

any

새 대화 상자에 전달되어야 하는 인수입니다.

dialogResumed<T>(Session, IDialogResult<T>)

자식 대화 상자가 종료되고 현재 대화 상자가 다시 시작됩니다.

function dialogResumed<T>(session: Session, result: IDialogResult<T>)

매개 변수

session
Session

현재 대화의 세션 개체입니다.

result

IDialogResult<T>

자식 대화 상자에서 반환된 결과입니다.

endConversationAction(string, TextOrMessageType, ICancelActionOptions)

트리거될 때 사용자와의 대화를 종료하는 작업을 바인딩합니다.

function endConversationAction(name: string, msg?: TextOrMessageType, options?: ICancelActionOptions)

매개 변수

name

string

작업을 할당할 고유 이름입니다.

msg
TextOrMessageType

(선택 사항) 대화를 종료하기 전에 사용자를 보내는 메시지입니다.

options
ICancelActionOptions

(선택 사항) 작업을 구성하는 데 사용되는 옵션입니다. 일치 지정된 경우 작업은 사용자가 작업을 트리거하는 단어 또는 구를 말하도록 수신 대기합니다. 그렇지 않으면 작업을 트리거하기 위해 CardAction.dialogAction() 사용하여 단추에 작업을 바인딩해야 합니다.

반환

findActionRoutes(IRecognizeDialogContext, (err: Error, results: IRouteResult[]) => void)

Library.findRoutes()에서 호출되는 스택의 각 대화 상자를 호출하여 사용자 발화에 의해 대화 동작이 트리거되는지 여부를 확인합니다.

function findActionRoutes(context: IRecognizeDialogContext, callback: (err: Error, results: IRouteResult[]) => void)

매개 변수

context
IRecognizeDialogContext

수신 메시지의 컨텍스트와 평가된 대화에 대한 dialogData.

callback

(err: Error, results: IRouteResult[]) => void

상위 후보 경로를 사용하여 호출하는 함수입니다.

recognize(IRecognizeDialogContext, (err: Error, result: IRecognizeResult) => void)

사용자 발화를 구문 분석하고 0.0에서 1.0까지의 점수를 할당하여 대화 상자가 사용자 발화를 이해했는지를 나타냅니다. 이 메서드는 항상 스택의 활성 대화 상자에 대해 호출됩니다. 점수가 1.0이면 완벽한 일치를 나타내고 추가 인식을 종료합니다. 점수가 1.0보다 작으면 스택의 모든 대화 상자에는 recognizeAction() 메서드가 호출되어 사용자 발언과 더 잘 일치하는 대화 상자에 바인딩된 명명된 작업이 있는지 확인합니다. 봇 수준에서 등록된 전역 작업도 평가됩니다. 대화 상자에 점수가 더 높은 경우 바인딩된 동작이 있으면 recognize() 호출에서 반환된 결과 개체를 사용하여 replyReceived() 메서드에 대화 상자가 호출됩니다. 이렇게 하면 대화 상자에서 인식 단계 중에 수집된 추가 데이터를 replyReceived() 메서드로 전달하여 처리할 수 있습니다.

점수가 더 높은 작업이 있는 경우 대화 상자는 replyReceived() 메서드 대신 동작이 호출됩니다. 대화 상자는 스택에 유지되며 작업이 새 대화 상자를 호출하는 경우 언제든지 다시 시작될 수 있으므로 대화 상자에서 dialogResumed()대한 예기치 않은 호출을 준비해야 합니다.

function recognize(context: IRecognizeDialogContext, callback: (err: Error, result: IRecognizeResult) => void)

매개 변수

context
IRecognizeDialogContext

요청의 컨텍스트입니다.

callback

(err: Error, result: IRecognizeResult) => void

인식 결과를 사용하여 호출하는 함수입니다.

reloadAction(string, TextOrMessageType, IBeginDialogActionOptions)

트리거될 때마다 대화 상자가 다시 로드되도록 하는 작업을 대화 상자에 바인딩합니다. 이는 "다시 시작"과 같은 사용자 발언을 처리하는 논리를 구현하는 데 유용합니다.

function reloadAction(name: string, msg?: TextOrMessageType, options?: IBeginDialogActionOptions)

매개 변수

name

string

작업을 할당할 고유 이름입니다.

msg
TextOrMessageType

(선택 사항) 대화 상자를 다시 로드하기 전에 사용자를 보내는 메시지입니다.

options
IBeginDialogActionOptions

(선택 사항) 작업을 구성하는 데 사용되는 옵션입니다. 일치 지정된 경우 작업은 사용자가 작업을 트리거하는 단어 또는 구를 말하도록 수신 대기합니다. 그렇지 않으면 작업을 트리거하기 위해 CardAction.dialogAction() 사용하여 단추에 작업을 바인딩해야 합니다. dialogArgs 사용하여 다시 로드할 때 대화 상자에 추가 매개 변수를 전달할 수도 있습니다.

반환

replyReceived(Session, IRecognizeResult)

function replyReceived(session: Session, recognizeResult?: IRecognizeResult)

매개 변수

session
Session
recognizeResult
IRecognizeResult

selectActionRoute(Session, IRouteResult)

발화에 대한 신뢰도 점수가 가장 높은 경로를 선택합니다.

function selectActionRoute(session: Session, route: IRouteResult)

매개 변수

session
Session

현재 대화의 세션 개체입니다.

route
IRouteResult

findActionRoutes()호출에서 반환된 결과입니다.

triggerAction(ITriggerActionOptions)

트리거될 때마다 활성 대화 상자로 만드는 작업을 대화 상자에 바인딩합니다. 기본 동작은 스택을 지우고 스택의 루트에서 대화 상자를 시작하여 기존 대화 상자를 상호 결합하는 것입니다. 중단되는 대화 상자는 중단된 처리기의 사용자 지정 트리거 작업 옵션에 추가하여 이 중단을 가로챌 수 있습니다. 또한 트리거 작업 옵션에 사용자 지정 onSelectAction 처리기를 제공하여 트리거된 대화가 시작되는 방식을 사용자 지정할 수 있습니다.

function triggerAction(options: ITriggerActionOptions)

매개 변수

options
ITriggerActionOptions

작업을 구성하는 데 사용되는 옵션입니다.

반환