Session class
Gerencia a conversa de bots com um usuário.
Construtores
| Session(ISession |
Cria uma instância da sessão. |
Propriedades
| connector | O conector que está sendo usado para esta sessão. |
| conversation |
Dados de conversa compartilhados visíveis para todos os membros da conversa. |
| dialog |
Dados visíveis apenas para a caixa de diálogo atual. |
| library | A biblioteca raiz de caixas de diálogo de bots. |
| localizer | O localizador da sessão atual. |
| message | A mensagem recebida do usuário. Para mensagens originadas por bot, isso só pode conter os campos "para" & "de". |
| private |
Dados de conversa privada visíveis apenas para o usuário. |
| session |
Informações de estado atuais das sessões. |
| user |
Dados para o usuário que persistiu em todas as conversas com o bot. |
Métodos
| active |
Retorna uma caixa de diálogo ativa de pilhas ou nula. |
| begin |
Passa o controle da conversa para uma nova caixa de diálogo. A caixa de diálogo atual será suspensa até que a caixa de diálogo filho seja concluída. Depois que o filho terminar, a caixa de diálogo atual receberá uma chamada para dialogResumed() em que poderá inspecionar os resultados retornados da criança. |
| cancel |
Cancela uma caixa de diálogo existente e, opcionalmente, inicia uma nova em seu lugar. Ao contrário endDialog() e replaceDialog() que afetam a caixa de diálogo atual, esse método permite que você encerre uma caixa de diálogo pai em qualquer lugar da pilha. O pai da caixa de diálogo cancelada continuará como se a caixa de diálogo tivesse chamado endDialog(). Um especial ResumeReason.canceled será retornado para indicar que a caixa de diálogo foi cancelada. |
| clear |
Limpa a pilha de diálogo atual. |
| delay(number) | Insere um atraso entre mensagens de saída. |
| dialog |
Obtém/define a pilha de diálogo atual. Uma cópia da caixa de diálogo atual é retornada para que, se forem feitas alterações na pilha retornada, elas precisarão ser copiadas de volta para a sessão por meio de uma segunda chamada para |
| dispatch(ISession |
Finaliza a inicialização do objeto de sessão e roteia a sessão por meio de todo o middleware instalado. A função |
| end |
Termina a conversa atual e, opcionalmente, envia uma mensagem ao usuário. |
| end |
Termina a caixa de diálogo atual e, opcionalmente, envia uma mensagem ao usuário. O pai será retomado com um IDialogResult.resumedo motivo de concluído. |
| end |
Termina a caixa de diálogo atual e, opcionalmente, retorna um resultado para o pai das caixas de diálogo. |
| error(Error) | Sinaliza que ocorreu um erro. O bot sinalizará o erro por meio de um evento on('error', err). |
| find |
Pesquisa uma pilha de diálogos em busca de uma caixa de diálogo específica, em uma direção para frente ou inversa, retornando seu índice. |
| for |
Enumera todas as entradas de diálogo de pilhas em uma direção para frente ou inversa. |
| gettext(string, any[]) | Carrega uma cadeia de caracteres localizada para o idioma de mensagens. Se os argumentos forem passados, a cadeia de caracteres localizada será tratada como um modelo e formatada usando sprintf-js (consulte seus documentos para obter detalhes).) |
| is |
Retornará true se a sessão tiver sido redefinida. |
| message |
Retornará true se uma mensagem tiver sido enviada para esta sessão. |
| ngettext(string, string, number) | Carrega a forma plural de uma cadeia de caracteres localizada para o idioma de mensagens. A cadeia de caracteres de saída será formatada para incluir a contagem substituindo %d na cadeia de caracteres pela contagem. |
| on(string, (data: any) => void) | Registra um ouvinte de eventos. |
| pop |
Exibe a caixa de diálogo ativa de uma pilha e retorna a nova se a pilha não estiver vazia. |
| preferred |
Retorna a localidade preferencial quando nenhum parâmetro é fornecido, caso contrário, define a localidade preferencial. |
| prune |
Exclui todas as entradas de pilha de diálogo começando com o índice especificado e retorna a nova caixa de diálogo ativa. |
| push |
Envia uma nova caixa de diálogo para uma pilha e a retorna como a caixa de diálogo ativa. |
| replace |
Termina a caixa de diálogo atual e inicia um novo seu lugar. A caixa de diálogo pai não será retomada até que a nova caixa de diálogo seja concluída. |
| reset(string, any) | Limpa a pilha de chamadas de sessões e reinicia a conversa com a dialogId configurada. |
| route |
Envia a sessão para a caixa de diálogo ativa ou a caixa de diálogo padrão para processamento. |
| save() | Dispara o salvamento de alterações feitas em dialogData, userData, conversationdataou [privateConversationData'(#privateconversationdata). |
| say(Text |
|
| say(Text |
Envia um texto e uma mensagem SSML opcional para o usuário. |
| say |
Envia um texto e uma mensagem SSML opcional para o usuário usando um namespace de localização específico. |
| send(Text |
Envia uma mensagem ao usuário. |
| send |
Termina imediatamente o lote atual e entrega todas as mensagens enfileiradas. |
| send |
Envia uma mensagem para um usuário usando um namespace de localização específico. |
| send |
Envia ao usuário uma indicação de que o bot está digitando. Para operações de execução prolongada, isso deve ser chamado a cada poucos segundos. |
| to |
Retorna o objeto de sessão como um objeto de contexto somente leitura. |
| validate |
Garante que todas as entradas em uma pilha de diálogo façam referência a diálogos válidos em uma hierarquia de biblioteca. |
| watch(string, boolean) | Habilita/desabilita um relógio para a sessão atual. |
| watchable(string, IWatchable |
Adiciona ou recupera uma variável que pode ser observada. |
| watchable |
Retorna uma lista de variáveis observáveis. |
| watch |
Retorna a lista atual de variáveis observadas para a sessão. |
Detalhes do construtor
Session(ISessionOptions)
Cria uma instância da sessão.
new Session(options: ISessionOptions)
Parâmetros
- options
- ISessionOptions
Opções de configuração de sessões.
Detalhes da propriedade
connector
O conector que está sendo usado para esta sessão.
connector: IConnector
Valor da propriedade
conversationData
Dados de conversa compartilhados visíveis para todos os membros da conversa.
conversationData: any
Valor da propriedade
any
dialogData
Dados visíveis apenas para a caixa de diálogo atual.
dialogData: any
Valor da propriedade
any
library
localizer
message
A mensagem recebida do usuário. Para mensagens originadas por bot, isso só pode conter os campos "para" & "de".
message: IMessage
Valor da propriedade
privateConversationData
Dados de conversa privada visíveis apenas para o usuário.
privateConversationData: any
Valor da propriedade
any
sessionState
Informações de estado atuais das sessões.
sessionState: ISessionState
Valor da propriedade
userData
Dados para o usuário que persistiu em todas as conversas com o bot.
userData: any
Valor da propriedade
any
Detalhes do método
activeDialogStackEntry(IDialogState[])
Retorna uma caixa de diálogo ativa de pilhas ou nula.
static function activeDialogStackEntry(stack: IDialogState[])
Parâmetros
- stack
A pilha de diálogos para a qual retornar a entrada.
Retornos
beginDialog<T>(string, T)
Passa o controle da conversa para uma nova caixa de diálogo. A caixa de diálogo atual será suspensa até que a caixa de diálogo filho seja concluída. Depois que o filho terminar, a caixa de diálogo atual receberá uma chamada para dialogResumed() em que poderá inspecionar os resultados retornados da criança.
function beginDialog<T>(id: string, args?: T)
Parâmetros
- id
-
string
ID exclusiva da caixa de diálogo a ser iniciada.
- args
-
T
Argumentos (opcionais) para passar para as caixas de diálogo método begin().
Retornos
cancelDialog(string | number, string, any)
Cancela uma caixa de diálogo existente e, opcionalmente, inicia uma nova em seu lugar. Ao contrário endDialog() e replaceDialog() que afetam a caixa de diálogo atual, esse método permite que você encerre uma caixa de diálogo pai em qualquer lugar da pilha. O pai da caixa de diálogo cancelada continuará como se a caixa de diálogo tivesse chamado endDialog(). Um especial ResumeReason.canceled será retornado para indicar que a caixa de diálogo foi cancelada.
function cancelDialog(dialogId: string | number, replaceWithId?: string, replaceWithArgs?: any)
Parâmetros
- dialogId
-
string | number
- dialogId:{string} – ID da caixa de diálogo até o fim. Se houver várias ocorrências da caixa de diálogo na pilha de diálogo, a última ocorrência será cancelada.
- dialogId:{number} – índice da caixa de diálogo na pilha a ser cancelada. Essa é a maneira preferida de cancelar uma caixa de diálogo de um manipulador de ações, pois garante que a instância correta seja cancelada.
- replaceWithId
-
string
(Opcional) especifica uma ID para iniciar no local das caixas de diálogo canceladas. Isso impede que os diálogos pai sejam retomados.
- replaceWithArgs
-
any
Argumentos (opcionais) a serem passados para a nova caixa de diálogo.
Retornos
clearDialogStack()
delay(number)
Insere um atraso entre mensagens de saída.
function delay(delay: number)
Parâmetros
- delay
-
number
Número de milissegundos para o qual pausar.
Retornos
dialogStack(IDialogState[])
Obtém/define a pilha de diálogo atual. Uma cópia da caixa de diálogo atual é retornada para que, se forem feitas alterações na pilha retornada, elas precisarão ser copiadas de volta para a sessão por meio de uma segunda chamada para session.dialogStack().
function dialogStack(newStack?: IDialogState[])
Parâmetros
- newStack
Pilha de diálogo (opcional) a ser atribuída à sessão. As sessões dialogData serão atualizadas para refletir o estado da nova caixa de diálogo ativa.
Retornos
dispatch(ISessionState, IMessage, Function)
Finaliza a inicialização do objeto de sessão e roteia a sessão por meio de todo o middleware instalado. A função next() passada será chamada como a última etapa da cadeia de middleware.
function dispatch(sessionState: ISessionState, message: IMessage, next: Function)
Parâmetros
- sessionState
- ISessionState
O estado da sessão atual. Se
- message
- IMessage
A mensagem a ser roteada pelo middleware.
- next
-
Function
A função a ser invocada como a última etapa da cadeia de middleware.
Retornos
endConversation(TextOrMessageType, any[])
Termina a conversa atual e, opcionalmente, envia uma mensagem ao usuário.
function endConversation(message?: TextOrMessageType, args: any[])
Parâmetros
- message
- TextOrMessageType
(Opcional) texto/mensagem para enviar o usuário antes de encerrar a conversa.
- args
-
any[]
Argumentos (opcionais) usados para formatar o texto de saída final quando mensagem é um {string|string[]}.
Retornos
endDialog(TextOrMessageType, any[])
Termina a caixa de diálogo atual e, opcionalmente, envia uma mensagem ao usuário. O pai será retomado com um IDialogResult.resumedo motivo de concluído.
function endDialog(message?: TextOrMessageType, args: any[])
Parâmetros
- message
- TextOrMessageType
(Opcional) texto/mensagem para enviar o usuário antes de encerrar a caixa de diálogo.
- args
-
any[]
Argumentos (opcionais) usados para formatar o texto de saída final quando mensagem é um {string|string[]}.
Retornos
endDialogWithResult(IDialogResult<any>)
Termina a caixa de diálogo atual e, opcionalmente, retorna um resultado para o pai das caixas de diálogo.
function endDialogWithResult(result?: IDialogResult<any>)
Parâmetros
- result
-
IDialogResult<any>
(Opcional) resultado para enviar o usuário. O valor que você gostaria de retornar deve estar no campo resposta.
Retornos
error(Error)
Sinaliza que ocorreu um erro. O bot sinalizará o erro por meio de um evento on('error', err).
function error(err: Error)
Parâmetros
- err
-
Error
Erro que ocorreu.
Retornos
findDialogStackEntry(IDialogState[], string, boolean)
Pesquisa uma pilha de diálogos em busca de uma caixa de diálogo específica, em uma direção para frente ou inversa, retornando seu índice.
static function findDialogStackEntry(stack: IDialogState[], dialogId: string, reverse?: boolean)
Parâmetros
- stack
A pilha de diálogos a ser pesquisada.
- dialogId
-
string
A ID exclusiva da caixa de diálogo, no formato <namespace>:<dialog>, a ser pesquisada.
- reverse
-
boolean
(Opcional) se true, a pilha será pesquisada começando com a caixa de diálogo ativa e trabalhando até a raiz.
Retornos
number
forEachDialogStackEntry(IDialogState[], boolean, (entry: IDialogState, index: number) => void)
Enumera todas as entradas de diálogo de pilhas em uma direção para frente ou inversa.
static function forEachDialogStackEntry(stack: IDialogState[], reverse: boolean, fn: (entry: IDialogState, index: number) => void)
Parâmetros
- stack
A pilha de diálogos a ser enumerada.
- reverse
-
boolean
Se true, as entradas serão enumeradas começando com a caixa de diálogo ativa e trabalhando até a caixa de diálogo raiz.
- fn
-
(entry: IDialogState, index: number) => void
Função a ser invocada com cada entrada na pilha.
gettext(string, any[])
Carrega uma cadeia de caracteres localizada para o idioma de mensagens. Se os argumentos forem passados, a cadeia de caracteres localizada será tratada como um modelo e formatada usando sprintf-js (consulte seus documentos para obter detalhes).)
function gettext(msgid: string, args: any[])
Parâmetros
- msgid
-
string
Cadeia de caracteres a ser usada como uma chave na tabela de cadeia de caracteres localizada. Normalmente, essa será apenas a versão em inglês da cadeia de caracteres.
- args
-
any[]
Argumentos (opcionais) usados para formatar a cadeia de caracteres de saída final.
Retornos
string
isReset()
Retornará true se a sessão tiver sido redefinida.
function isReset()
Retornos
boolean
messageSent()
Retornará true se uma mensagem tiver sido enviada para esta sessão.
function messageSent()
Retornos
boolean
ngettext(string, string, number)
Carrega a forma plural de uma cadeia de caracteres localizada para o idioma de mensagens. A cadeia de caracteres de saída será formatada para incluir a contagem substituindo %d na cadeia de caracteres pela contagem.
function ngettext(msgid: string, msgid_plural: string, count: number)
Parâmetros
- msgid
-
string
Forma singular da cadeia de caracteres a ser usada como uma chave na tabela de cadeia de caracteres localizada. Use %d para especificar para onde a contagem deve ir.
- msgid_plural
-
string
Forma plural da cadeia de caracteres a ser usada como uma chave na tabela de cadeia de caracteres localizada. Use %d para especificar para onde a contagem deve ir.
- count
-
number
Contagem a ser usada ao determinar se a forma singular ou plural da cadeia de caracteres deve ser usada.
Retornos
string
on(string, (data: any) => void)
Registra um ouvinte de eventos.
function on(event: string, listener: (data: any) => void)
Parâmetros
- event
-
string
Nome do evento. Tipos de evento:
-
erro: Ocorreu um erro. Passa um objeto
ErrorJavaScript.
- listener
-
(data: any) => void
Função a ser invocada.
popDialogStackEntry(IDialogState[])
Exibe a caixa de diálogo ativa de uma pilha e retorna a nova se a pilha não estiver vazia.
static function popDialogStackEntry(stack: IDialogState[])
Parâmetros
- stack
A pilha de diálogos a ser atualizada.
Retornos
preferredLocale(string, (err: Error) => void)
Retorna a localidade preferencial quando nenhum parâmetro é fornecido, caso contrário, define a localidade preferencial.
function preferredLocale(locale?: string, callback?: (err: Error) => void)
Parâmetros
- locale
-
string
(Opcional) a localidade a ser usada para localizar mensagens.
- callback
-
(err: Error) => void
(Opcional) função chamada quando a tabela de localização foi carregada para a localidade fornecida.
Retornos
string
pruneDialogStack(IDialogState[], number)
Exclui todas as entradas de pilha de diálogo começando com o índice especificado e retorna a nova caixa de diálogo ativa.
static function pruneDialogStack(stack: IDialogState[], start: number)
Parâmetros
- stack
A pilha de diálogos a ser atualizada.
- start
-
number
Índice do primeiro elemento a ser removido.
Retornos
pushDialogStackEntry(IDialogState[], IDialogState)
Envia uma nova caixa de diálogo para uma pilha e a retorna como a caixa de diálogo ativa.
static function pushDialogStackEntry(stack: IDialogState[], entry: IDialogState)
Parâmetros
- stack
A pilha de diálogos a ser atualizada.
- entry
- IDialogState
Entrada de caixa de diálogo para efetuar push na pilha.
Retornos
replaceDialog<T>(string, T)
Termina a caixa de diálogo atual e inicia um novo seu lugar. A caixa de diálogo pai não será retomada até que a nova caixa de diálogo seja concluída.
function replaceDialog<T>(id: string, args?: T)
Parâmetros
- id
-
string
ID exclusiva da caixa de diálogo a ser iniciada.
- args
-
T
Argumentos (opcionais) para passar para as caixas de diálogo método begin().
Retornos
reset(string, any)
Limpa a pilha de chamadas de sessões e reinicia a conversa com a dialogId configurada.
function reset(dialogId?: string, dialogArgs?: any)
Parâmetros
- dialogId
-
string
(Opcional) ID da caixa de diálogo a ser iniciada.
- dialogArgs
-
any
Argumentos (opcionais) para passar para as caixas de diálogo método begin().
Retornos
routeToActiveDialog(IRecognizeResult)
Envia a sessão para a caixa de diálogo ativa ou a caixa de diálogo padrão para processamento.
function routeToActiveDialog(recognizeResult?: IRecognizeResult)
Parâmetros
- recognizeResult
- IRecognizeResult
(Opcional) os resultados retornados da chamada Library.findRoutes(), Library.findActiveDialogRoutes(), * ou Dialog.recognize().
save()
Dispara o salvamento de alterações feitas em dialogData, userData, conversationdataou [privateConversationData'(#privateconversationdata).
function save()
Retornos
say(TextType, IMessageOptions)
function say(text: TextType, options?: IMessageOptions)
Parâmetros
- text
- TextType
- options
- IMessageOptions
Retornos
say(TextType, TextType, IMessageOptions)
Envia um texto e uma mensagem SSML opcional para o usuário.
function say(text: TextType, speak?: TextType, options?: IMessageOptions)
Parâmetros
- text
- TextType
Texto a ser enviado ao usuário. Isso pode ser nulo para enviar apenas SSML ou anexos.
- speak
- TextType
(Opcional) mensagem que deve ser falada com o usuário. A mensagem deve ser formatada como SSML (Speech Synthesis Markup Language). Se uma matriz for passada, uma resposta será escolhida aleatoriamente.
- options
- IMessageOptions
(Opcional) propriedades que devem ser incluídas na mensagem de saída.
Retornos
sayLocalized(string, TextType, TextType, IMessageOptions)
Envia um texto e uma mensagem SSML opcional para o usuário usando um namespace de localização específico.
function sayLocalized(libraryNamespace: string, text: TextType, speak?: TextType, options?: IMessageOptions)
Parâmetros
- libraryNamespace
-
string
Namespace a ser usado para localizar a mensagem.
- text
- TextType
Texto a ser enviado ao usuário. Isso pode ser nulo para enviar apenas SSML ou anexos.
- speak
- TextType
(Opcional) mensagem que deve ser falada com o usuário. A mensagem deve ser formatada como SSML (Speech Synthesis Markup Language). Se uma matriz for passada, uma resposta será escolhida aleatoriamente.
- options
- IMessageOptions
(Opcional) propriedades que devem ser incluídas na mensagem de saída.
Retornos
send(TextOrMessageType, any[])
Envia uma mensagem ao usuário.
function send(message: TextOrMessageType, args: any[])
Parâmetros
- message
- TextOrMessageType
Texto/mensagem a ser enviado ao usuário. Se uma matriz for passada, uma resposta será escolhida aleatoriamente.
- args
-
any[]
Argumentos (opcionais) usados para formatar o texto de saída final quando mensagem é um {string|string[]}.
Retornos
sendBatch((err: Error, addresses?: IAddress[]) => void)
Termina imediatamente o lote atual e entrega todas as mensagens enfileiradas.
function sendBatch(done?: (err: Error, addresses?: IAddress[]) => void)
Parâmetros
- done
-
(err: Error, addresses?: IAddress[]) => void
(Opcional) função chamada quando o lote foi delimitado com êxito ou falhou por algum motivo.
sendLocalized(string, TextOrMessageType, any[])
Envia uma mensagem para um usuário usando um namespace de localização específico.
function sendLocalized(libraryNamespace: string, message: TextOrMessageType, args: any[])
Parâmetros
- libraryNamespace
-
string
Namespace a ser usado para localizar a mensagem.
- message
- TextOrMessageType
Texto/mensagem a ser enviado ao usuário.
- args
-
any[]
Argumentos (opcionais) usados para formatar o texto de saída final quando mensagem é um {string|string[]}.
Retornos
sendTyping()
Envia ao usuário uma indicação de que o bot está digitando. Para operações de execução prolongada, isso deve ser chamado a cada poucos segundos.
function sendTyping()
Retornos
toRecognizeContext()
Retorna o objeto de sessão como um objeto de contexto somente leitura.
function toRecognizeContext()
Retornos
validateDialogStack(IDialogState[], Library)
Garante que todas as entradas em uma pilha de diálogo façam referência a diálogos válidos em uma hierarquia de biblioteca.
static function validateDialogStack(stack: IDialogState[], root: Library)
Parâmetros
- stack
A pilha de diálogos a ser validada.
- root
- Library
A raiz da hierarquia de biblioteca, normalmente o bot.
Retornos
boolean
watch(string, boolean)
Habilita/desabilita um relógio para a sessão atual.
function watch(variable: string, enable?: boolean)
Parâmetros
- variable
-
string
Nome da variável a ser observado/não observado.
- enable
-
boolean
(Opcional) Se true, a variável será observada, caso contrário, ela será desassistida. O valor padrão é true.
Retornos
watchable(string, IWatchableHandler)
Adiciona ou recupera uma variável que pode ser observada.
static function watchable(variable: string, handler?: IWatchableHandler)
Parâmetros
- variable
-
string
Nome da variável que pode ser observada. O caso é usado somente para exibição.
- handler
- IWatchableHandler
(Opcional) Função usada para recuperar o valor atual das variáveis. Se especificado, um novo manipulador será registrado, caso contrário, o manipulador existente será recuperado.
Retornos
watchableList()
Retorna uma lista de variáveis observáveis.
static function watchableList()
Retornos
string[]
watchList()
Retorna a lista atual de variáveis observadas para a sessão.
function watchList()
Retornos
string[]