Session class
사용자와의 봇 대화를 관리합니다.
생성자
| Session(ISession |
세션의 인스턴스를 만듭니다. |
속성
| connector | 이 세션에 사용되는 커넥터입니다. |
| conversation |
대화의 모든 구성원에게 표시되는 공유 대화 데이터입니다. |
| dialog |
현재 대화 상자에만 표시되는 데이터입니다. |
| library | 대화 상자의 봇 루트 라이브러리입니다. |
| localizer | 현재 세션의 지역화자입니다. |
| message | 사용자로부터 받은 메시지입니다. 봇에서 시작된 메시지의 경우 "to" & "from" 필드만 포함할 수 있습니다. |
| private |
사용자에게만 표시되는 비공개 대화 데이터입니다. |
| session |
세션 현재 상태 정보입니다. |
| user |
봇과의 모든 대화에서 유지되는 사용자에 대한 데이터입니다. |
메서드
| active |
스택 활성 대화 상자 또는 null을 반환합니다. |
| begin |
대화 컨트롤을 새 대화 상자에 전달합니다. 현재 대화 상자는 자식 대화 상자가 완료될 때까지 일시 중단됩니다. 자식이 종료되면 현재 대화 상자는 자식에서 반환된 결과를 검사할 수 있는 dialogResumed() 대한 호출을 받습니다. |
| cancel |
기존 대화 상자를 취소하고 필요에 따라 해당 위치에서 새 대화 상자를 시작합니다. 현재 대화에 영향을 미치는 endDialog() 및 replaceDialog() 달리 이 메서드를 사용하면 스택의 아무 곳이나 부모 대화 상자를 종료할 수 있습니다. 취소된 대화 상자의 부모는 대화 상자가 endDialog()를 호출한 것처럼 계속됩니다. 대화 상자가 취소되었음을 나타내기 위해 ResumeReason.canceled 특수 |
| clear |
현재 대화 상자 스택을 지웁니다. |
| delay(number) | 나가는 메시지 사이에 지연을 삽입합니다. |
| dialog |
현재 대화 상자 스택을 가져오거나 설정합니다. 현재 대화 상자의 복사본이 반환되므로 반환된 스택을 변경한 경우 |
| dispatch(ISession |
세션 개체의 초기화를 완료한 다음 설치된 모든 미들웨어를 통해 세션을 라우팅합니다. 전달된 |
| end |
현재 대화를 종료하고 필요에 따라 사용자에게 메시지를 보냅니다. |
| end |
현재 대화 상자를 종료하고 필요에 따라 사용자에게 메시지를 보냅니다. |
| end |
현재 대화 상자를 종료하고 필요에 따라 대화 부모에 결과를 반환합니다. |
| error(Error) | 오류가 발생했음을 알 수 있습니다. 봇은 on('error', err) 이벤트를 통해 오류 신호를 전송합니다. |
| find |
대화 상자 스택에서 특정 대화 상자를 정방향 또는 역방향으로 검색하여 인덱스가 반환됩니다. |
| for |
모든 스택 대화 상자를 정방향 또는 역방향으로 열거합니다. |
| gettext(string, any[]) | 메시지 언어에 대한 지역화된 문자열을 로드합니다. 인수가 전달되면 지역화된 문자열이 템플릿으로 처리되고 sprintf-js 사용하여 형식이 지정됩니다(자세한 내용은 해당 문서 참조). |
| is |
세션이 다시 설정되면 true를 반환합니다. |
| message |
이 세션에 대한 메시지를 보낸 경우 true를 반환합니다. |
| ngettext(string, string, number) | 메시지 언어에 대한 지역화된 문자열의 복수 형식을 로드합니다. 출력 문자열은 문자열의 %d 개수로 바꿔 개수를 포함하도록 형식이 지정됩니다. |
| on(string, (data: any) => void) | 이벤트 수신기를 등록합니다. |
| pop |
활성 대화 상자를 스택에서 팝하고 스택이 비어 있지 않으면 새 대화 상자를 반환합니다. |
| preferred |
매개 변수가 제공되지 않으면 기본 로캘을 반환하고, 그렇지 않으면 기본 로캘을 설정합니다. |
| prune |
지정된 인덱스로 시작하는 모든 대화 상자 스택 항목을 삭제하고 새 활성 대화 상자를 반환합니다. |
| push |
새 대화 상자를 스택에 푸시하고 활성 대화 상자로 반환합니다. |
| replace |
현재 대화 상자를 종료하고 새 대화 상자를 시작합니다. 부모 대화는 새 대화가 완료될 때까지 다시 시작되지 않습니다. |
| reset(string, any) | 세션 호출 스택을 지우고 구성된 dialogId를 사용하여 대화를 다시 시작합니다. |
| route |
세션을 현재 대화 상자 또는 처리를 위한 기본 대화 상자로 디스패치합니다. |
| save() | dialogData, userData, conversationdata또는 [privateConversationData'(#privateconversationdata)에 대한 변경 내용 저장을 트리거합니다. |
| say(Text |
|
| say(Text |
사용자에게 텍스트 및 선택적 SSML 메시지를 보냅니다. |
| say |
특정 지역화 네임스페이스를 사용하여 사용자에게 텍스트 및 선택적 SSML 메시지를 보냅니다. |
| send(Text |
사용자에게 메시지를 보냅니다. |
| send |
현재 일괄 처리를 즉시 종료하고 대기 중인 메시지를 배달합니다. |
| send |
특정 지역화 네임스페이스를 사용하여 사용자에게 메시지를 보냅니다. |
| send |
사용자에게 봇이 입력 중이라는 표시를 보냅니다. 장기 실행 작업의 경우 몇 초마다 호출해야 합니다. |
| to |
세션 개체를 읽기 전용 컨텍스트 개체로 반환합니다. |
| validate |
대화 상자 스택의 모든 항목이 라이브러리 계층 구조 내에서 유효한 대화 상자를 참조하도록 합니다. |
| watch(string, boolean) | 현재 세션에 대한 감시를 사용하거나 사용하지 않도록 설정합니다. |
| watchable(string, IWatchable |
감시할 수 있는 변수를 추가하거나 검색합니다. |
| watchable |
감시 가능한 변수 목록을 반환합니다. |
| watch |
세션에 대해 감시된 변수의 현재 목록을 반환합니다. |
생성자 세부 정보
Session(ISessionOptions)
속성 세부 정보
connector
conversationData
대화의 모든 구성원에게 표시되는 공유 대화 데이터입니다.
conversationData: any
속성 값
any
dialogData
현재 대화 상자에만 표시되는 데이터입니다.
dialogData: any
속성 값
any
library
localizer
message
privateConversationData
사용자에게만 표시되는 비공개 대화 데이터입니다.
privateConversationData: any
속성 값
any
sessionState
userData
봇과의 모든 대화에서 유지되는 사용자에 대한 데이터입니다.
userData: any
속성 값
any
메서드 세부 정보
activeDialogStackEntry(IDialogState[])
스택 활성 대화 상자 또는 null을 반환합니다.
static function activeDialogStackEntry(stack: IDialogState[])
매개 변수
- stack
항목을 반환할 대화 상자 스택입니다.
반환
beginDialog<T>(string, T)
대화 컨트롤을 새 대화 상자에 전달합니다. 현재 대화 상자는 자식 대화 상자가 완료될 때까지 일시 중단됩니다. 자식이 종료되면 현재 대화 상자는 자식에서 반환된 결과를 검사할 수 있는 dialogResumed() 대한 호출을 받습니다.
function beginDialog<T>(id: string, args?: T)
매개 변수
- id
-
string
시작할 대화 상자의 고유 ID입니다.
- args
-
T
(선택 사항) begin() 메서드를
반환
cancelDialog(string | number, string, any)
기존 대화 상자를 취소하고 필요에 따라 해당 위치에서 새 대화 상자를 시작합니다. 현재 대화에 영향을 미치는 endDialog() 및 replaceDialog() 달리 이 메서드를 사용하면 스택의 아무 곳이나 부모 대화 상자를 종료할 수 있습니다. 취소된 대화 상자의 부모는 대화 상자가 endDialog()를 호출한 것처럼 계속됩니다. 대화 상자가 취소되었음을 나타내기 위해 ResumeReason.canceled 특수
function cancelDialog(dialogId: string | number, replaceWithId?: string, replaceWithArgs?: any)
매개 변수
- dialogId
-
string | number
- dialogId:{string} - 종료할 대화 상자의 ID입니다. 대화 상자 스택에 대화 상자가 여러 차례 발생하면 마지막 발생이 취소됩니다.
- dialogId:{number} - 취소할 스택의 대화 상자 인덱스입니다. 올바른 인스턴스가 취소되도록 작업 처리기에서 대화 상자를 취소하는 기본 방법입니다.
- replaceWithId
-
string
(선택 사항)은 취소된 대화 상자에서 시작할 ID를 지정합니다. 이렇게 하면 대화 상자 부모가 다시 시작되지 않습니다.
- replaceWithArgs
-
any
(선택 사항) 새 대화 상자에 전달할 인수입니다.
반환
clearDialogStack()
delay(number)
나가는 메시지 사이에 지연을 삽입합니다.
function delay(delay: number)
매개 변수
- delay
-
number
일시 중지할 시간(밀리초)입니다.
반환
dialogStack(IDialogState[])
현재 대화 상자 스택을 가져오거나 설정합니다. 현재 대화 상자의 복사본이 반환되므로 반환된 스택을 변경한 경우 session.dialogStack()대한 두 번째 호출을 통해 세션으로 다시 복사해야 합니다.
function dialogStack(newStack?: IDialogState[])
매개 변수
- newStack
(선택 사항) 세션에 할당할 대화 상자 스택입니다. dialogData
반환
dispatch(ISessionState, IMessage, Function)
세션 개체의 초기화를 완료한 다음 설치된 모든 미들웨어를 통해 세션을 라우팅합니다. 전달된 next() 함수는 미들웨어 체인의 마지막 단계로 호출됩니다.
function dispatch(sessionState: ISessionState, message: IMessage, next: Function)
매개 변수
- sessionState
- ISessionState
현재 세션 상태입니다.
null 경우 구성된 dialogId시작하여 새 대화가 시작됩니다.
- message
- IMessage
미들웨어를 통해 라우팅할 메시지입니다.
- next
-
Function
미들웨어 체인의 마지막 단계로 호출할 함수입니다.
반환
endConversation(TextOrMessageType, any[])
현재 대화를 종료하고 필요에 따라 사용자에게 메시지를 보냅니다.
function endConversation(message?: TextOrMessageType, args: any[])
매개 변수
- message
- TextOrMessageType
(선택 사항) 대화를 종료하기 전에 사용자를 보내는 문자/메시지입니다.
- args
-
any[]
(선택 사항)
반환
endDialog(TextOrMessageType, any[])
현재 대화 상자를 종료하고 필요에 따라 사용자에게 메시지를 보냅니다.
function endDialog(message?: TextOrMessageType, args: any[])
매개 변수
- message
- TextOrMessageType
(선택 사항) 대화 상자를 종료하기 전에 사용자를 보내는 문자/메시지입니다.
- args
-
any[]
(선택 사항)
반환
endDialogWithResult(IDialogResult<any>)
현재 대화 상자를 종료하고 필요에 따라 대화 부모에 결과를 반환합니다.
function endDialogWithResult(result?: IDialogResult<any>)
매개 변수
- result
-
IDialogResult<any>
(선택 사항) 사용자를 보낼 결과입니다. 반환하려는 값은 응답 필드에 있어야 합니다.
반환
error(Error)
오류가 발생했음을 알 수 있습니다. 봇은 on('error', err) 이벤트를 통해 오류 신호를 전송합니다.
function error(err: Error)
매개 변수
- err
-
Error
발생한 오류입니다.
반환
findDialogStackEntry(IDialogState[], string, boolean)
대화 상자 스택에서 특정 대화 상자를 정방향 또는 역방향으로 검색하여 인덱스가 반환됩니다.
static function findDialogStackEntry(stack: IDialogState[], dialogId: string, reverse?: boolean)
매개 변수
- stack
검색할 대화 상자 스택입니다.
- dialogId
-
string
검색할 대화 상자의 고유 ID(<namespace>:<dialog> 형식)입니다.
- reverse
-
boolean
(선택 사항) true이면 활성 대화 상자부터 시작하여 루트까지 스택을 검색합니다.
반환
number
forEachDialogStackEntry(IDialogState[], boolean, (entry: IDialogState, index: number) => void)
모든 스택 대화 상자를 정방향 또는 역방향으로 열거합니다.
static function forEachDialogStackEntry(stack: IDialogState[], reverse: boolean, fn: (entry: IDialogState, index: number) => void)
매개 변수
- stack
열거할 대화 상자 스택입니다.
- reverse
-
boolean
true이면 현재 대화 상자부터 루트 대화까지 항목이 열거됩니다.
- fn
-
(entry: IDialogState, index: number) => void
스택의 각 항목을 사용하여 호출하는 함수입니다.
gettext(string, any[])
메시지 언어에 대한 지역화된 문자열을 로드합니다. 인수가 전달되면 지역화된 문자열이 템플릿으로 처리되고 sprintf-js 사용하여 형식이 지정됩니다(자세한 내용은 해당 문서 참조).
function gettext(msgid: string, args: any[])
매개 변수
- msgid
-
string
지역화된 문자열 테이블에서 키로 사용할 문자열입니다. 일반적으로 문자열의 영어 버전일 뿐입니다.
- args
-
any[]
(선택 사항) 최종 출력 문자열의 형식을 지정하는 데 사용되는 인수입니다.
반환
string
isReset()
세션이 다시 설정되면 true를 반환합니다.
function isReset()
반환
boolean
messageSent()
이 세션에 대한 메시지를 보낸 경우 true를 반환합니다.
function messageSent()
반환
boolean
ngettext(string, string, number)
메시지 언어에 대한 지역화된 문자열의 복수 형식을 로드합니다. 출력 문자열은 문자열의 %d 개수로 바꿔 개수를 포함하도록 형식이 지정됩니다.
function ngettext(msgid: string, msgid_plural: string, count: number)
매개 변수
- msgid
-
string
지역화된 문자열 테이블에서 키로 사용할 문자열의 단수 형식입니다. %d 사용하여 개수를 이동해야 하는 위치를 지정합니다.
- msgid_plural
-
string
지역화된 문자열 테이블에서 키로 사용할 문자열의 복수 형식입니다. %d 사용하여 개수를 이동해야 하는 위치를 지정합니다.
- count
-
number
문자열의 단수 또는 복수 형식을 사용해야 하는지 여부를 결정할 때 사용할 개수입니다.
반환
string
on(string, (data: any) => void)
이벤트 수신기를 등록합니다.
function on(event: string, listener: (data: any) => void)
매개 변수
- event
-
string
이벤트의 이름입니다. 이벤트 유형:
-
오류: 오류가 발생했습니다. JavaScript
Error개체를 전달합니다.
- listener
-
(data: any) => void
호출할 함수입니다.
popDialogStackEntry(IDialogState[])
활성 대화 상자를 스택에서 팝하고 스택이 비어 있지 않으면 새 대화 상자를 반환합니다.
static function popDialogStackEntry(stack: IDialogState[])
매개 변수
- stack
업데이트할 대화 상자 스택입니다.
반환
preferredLocale(string, (err: Error) => void)
매개 변수가 제공되지 않으면 기본 로캘을 반환하고, 그렇지 않으면 기본 로캘을 설정합니다.
function preferredLocale(locale?: string, callback?: (err: Error) => void)
매개 변수
- locale
-
string
(선택 사항) 메시지 지역화에 사용할 로캘입니다.
- callback
-
(err: Error) => void
(선택 사항) 제공된 로캘에 대해 지역화 테이블이 로드될 때 호출되는 함수입니다.
반환
string
pruneDialogStack(IDialogState[], number)
지정된 인덱스로 시작하는 모든 대화 상자 스택 항목을 삭제하고 새 활성 대화 상자를 반환합니다.
static function pruneDialogStack(stack: IDialogState[], start: number)
매개 변수
- stack
업데이트할 대화 상자 스택입니다.
- start
-
number
제거할 첫 번째 요소의 인덱스입니다.
반환
pushDialogStackEntry(IDialogState[], IDialogState)
새 대화 상자를 스택에 푸시하고 활성 대화 상자로 반환합니다.
static function pushDialogStackEntry(stack: IDialogState[], entry: IDialogState)
매개 변수
- stack
업데이트할 대화 상자 스택입니다.
- entry
- IDialogState
스택에 푸시할 대화 상자 항목입니다.
반환
replaceDialog<T>(string, T)
현재 대화 상자를 종료하고 새 대화 상자를 시작합니다. 부모 대화는 새 대화가 완료될 때까지 다시 시작되지 않습니다.
function replaceDialog<T>(id: string, args?: T)
매개 변수
- id
-
string
시작할 대화 상자의 고유 ID입니다.
- args
-
T
(선택 사항) begin() 메서드를
반환
reset(string, any)
세션 호출 스택을 지우고 구성된 dialogId를 사용하여 대화를 다시 시작합니다.
function reset(dialogId?: string, dialogArgs?: any)
매개 변수
- dialogId
-
string
(선택 사항) 시작할 대화 상자의 ID입니다.
- dialogArgs
-
any
(선택 사항) begin() 메서드를
반환
routeToActiveDialog(IRecognizeResult)
세션을 현재 대화 상자 또는 처리를 위한 기본 대화 상자로 디스패치합니다.
function routeToActiveDialog(recognizeResult?: IRecognizeResult)
매개 변수
- recognizeResult
- IRecognizeResult
(선택 사항) Library.findRoutes(), Library.findActiveDialogRoutes(), * 또는 Dialog.recognize()호출에서 반환된 결과입니다.
save()
dialogData, userData, conversationdata또는 [privateConversationData'(#privateconversationdata)에 대한 변경 내용 저장을 트리거합니다.
function save()
반환
say(TextType, IMessageOptions)
function say(text: TextType, options?: IMessageOptions)
매개 변수
- text
- TextType
- options
- IMessageOptions
반환
say(TextType, TextType, IMessageOptions)
사용자에게 텍스트 및 선택적 SSML 메시지를 보냅니다.
function say(text: TextType, speak?: TextType, options?: IMessageOptions)
매개 변수
- text
- TextType
사용자에게 보낼 텍스트입니다. SSML 또는 첨부 파일만 보내려면 null일 수 있습니다.
- speak
- TextType
(선택 사항) 사용자에게 말해야 하는 메시지입니다. 메시지는 SSML(Speech Synthesis Markup Language)형식이 지정되어야 합니다. 배열이 전달되면 임의로 응답이 선택됩니다.
- options
- IMessageOptions
(선택 사항) 보내는 메시지에 포함해야 하는 속성입니다.
반환
sayLocalized(string, TextType, TextType, IMessageOptions)
특정 지역화 네임스페이스를 사용하여 사용자에게 텍스트 및 선택적 SSML 메시지를 보냅니다.
function sayLocalized(libraryNamespace: string, text: TextType, speak?: TextType, options?: IMessageOptions)
매개 변수
- libraryNamespace
-
string
메시지를 지역화하는 데 사용할 Namespace.
- text
- TextType
사용자에게 보낼 텍스트입니다. SSML 또는 첨부 파일만 보내려면 null일 수 있습니다.
- speak
- TextType
(선택 사항) 사용자에게 말해야 하는 메시지입니다. 메시지는 SSML(Speech Synthesis Markup Language)형식이 지정되어야 합니다. 배열이 전달되면 임의로 응답이 선택됩니다.
- options
- IMessageOptions
(선택 사항) 보내는 메시지에 포함해야 하는 속성입니다.
반환
send(TextOrMessageType, any[])
사용자에게 메시지를 보냅니다.
function send(message: TextOrMessageType, args: any[])
매개 변수
- message
- TextOrMessageType
사용자에게 보낼 문자/메시지입니다. 배열이 전달되면 임의로 응답이 선택됩니다.
- args
-
any[]
(선택 사항)
반환
sendBatch((err: Error, addresses?: IAddress[]) => void)
현재 일괄 처리를 즉시 종료하고 대기 중인 메시지를 배달합니다.
function sendBatch(done?: (err: Error, addresses?: IAddress[]) => void)
매개 변수
- done
-
(err: Error, addresses?: IAddress[]) => void
(선택 사항) 어떤 이유로 일괄 처리가 성공적으로 구분되거나 실패했을 때 호출된 함수입니다.
sendLocalized(string, TextOrMessageType, any[])
특정 지역화 네임스페이스를 사용하여 사용자에게 메시지를 보냅니다.
function sendLocalized(libraryNamespace: string, message: TextOrMessageType, args: any[])
매개 변수
- libraryNamespace
-
string
메시지를 지역화하는 데 사용할 Namespace.
- message
- TextOrMessageType
사용자에게 보낼 문자/메시지입니다.
- args
-
any[]
(선택 사항)
반환
sendTyping()
toRecognizeContext()
validateDialogStack(IDialogState[], Library)
대화 상자 스택의 모든 항목이 라이브러리 계층 구조 내에서 유효한 대화 상자를 참조하도록 합니다.
static function validateDialogStack(stack: IDialogState[], root: Library)
매개 변수
- stack
유효성을 검사할 대화 상자 스택입니다.
- root
- Library
라이브러리 계층의 루트(일반적으로 봇)입니다.
반환
boolean
watch(string, boolean)
현재 세션에 대한 감시를 사용하거나 사용하지 않도록 설정합니다.
function watch(variable: string, enable?: boolean)
매개 변수
- variable
-
string
감시/감시 해제할 변수의 이름입니다.
- enable
-
boolean
(선택 사항) true이면 변수가 감시되고, 그렇지 않으면 감시되지 않습니다. 기본값은 true입니다.
반환
watchable(string, IWatchableHandler)
감시할 수 있는 변수를 추가하거나 검색합니다.
static function watchable(variable: string, handler?: IWatchableHandler)
매개 변수
- variable
-
string
감시할 수 있는 변수의 이름입니다. 케이스는 표시에만 사용됩니다.
- handler
- IWatchableHandler
(선택 사항) 변수 현재 값을 검색하는 데 사용되는 함수입니다. 지정한 경우 새 처리기가 등록됩니다. 그렇지 않으면 기존 처리기가 검색됩니다.
반환
watchableList()
감시 가능한 변수 목록을 반환합니다.
static function watchableList()
반환
string[]
watchList()
세션에 대해 감시된 변수의 현재 목록을 반환합니다.
function watchList()
반환
string[]