Compartilhar via


Session class

Gerencia a conversa de bots com um usuário.

Construtores

Session(ISessionOptions)

Cria uma instância da sessão.

Propriedades

connector

O conector que está sendo usado para esta sessão.

conversationData

Dados de conversa compartilhados visíveis para todos os membros da conversa.

dialogData

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".

privateConversationData

Dados de conversa privada visíveis apenas para o usuário.

sessionState

Informações de estado atuais das sessões.

userData

Dados para o usuário que persistiu em todas as conversas com o bot.

Métodos

activeDialogStackEntry(IDialogState[])

Retorna uma caixa de diálogo ativa de pilhas ou nula.

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.

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.

clearDialogStack()

Limpa a pilha de diálogo atual.

delay(number)

Insere um atraso entre mensagens de saída.

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().

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.

endConversation(TextOrMessageType, any[])

Termina a conversa atual e, opcionalmente, envia uma mensagem ao usuário.

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.

endDialogWithResult(IDialogResult<any>)

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

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.

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.

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

isReset()

Retornará true se a sessão tiver sido redefinida.

messageSent()

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.

popDialogStackEntry(IDialogState[])

Exibe a caixa de diálogo ativa de uma pilha e retorna a nova se a pilha não estiver vazia.

preferredLocale(string, (err: Error) => void)

Retorna a localidade preferencial quando nenhum parâmetro é fornecido, caso contrário, define a localidade preferencial.

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.

pushDialogStackEntry(IDialogState[], IDialogState)

Envia uma nova caixa de diálogo para uma pilha e a retorna como a caixa de diálogo ativa.

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.

reset(string, any)

Limpa a pilha de chamadas de sessões e reinicia a conversa com a dialogId configurada.

routeToActiveDialog(IRecognizeResult)

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(TextType, IMessageOptions)
say(TextType, TextType, IMessageOptions)

Envia um texto e uma mensagem SSML opcional para o usuário.

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.

send(TextOrMessageType, any[])

Envia uma mensagem ao usuário.

sendBatch((err: Error, addresses?: IAddress[]) => void)

Termina imediatamente o lote atual e entrega todas as mensagens enfileiradas.

sendLocalized(string, TextOrMessageType, any[])

Envia uma mensagem para um usuário usando um namespace de localização específico.

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.

toRecognizeContext()

Retorna o objeto de sessão como um objeto de contexto somente leitura.

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.

watch(string, boolean)

Habilita/desabilita um relógio para a sessão atual.

watchable(string, IWatchableHandler)

Adiciona ou recupera uma variável que pode ser observada.

watchableList()

Retorna uma lista de variáveis observáveis.

watchList()

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

A biblioteca raiz de caixas de diálogo de bots.

library: Library

Valor da propriedade

localizer

O localizador da sessão atual.

localizer: ILocalizer

Valor da propriedade

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

IDialogState[]

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

Limpa a pilha de diálogo atual.

function clearDialogStack()

Retornos

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

IDialogState[]

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 uma nova conversa será iniciada a partir dode dialogId de configurado.

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

IDialogState[]

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

IDialogState[]

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 Error JavaScript.
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

IDialogState[]

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

IDialogState[]

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

IDialogState[]

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

IDialogState[]

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[]