PrivateConversationState class

Lê e grava o estado PrivateConversation do bot no armazenamento.

Extends

Comentários

Cada PrivateConversation que seu bot tem com um usuário ou grupo terá seu próprio objeto de armazenamento isolado que pode ser usado para persistir informações de acompanhamento de PrivateConversation entre turnos do PrivateConversation. Essas informações de estado podem ser redefinidas a qualquer momento chamando clear().

const { PrivateConversationState, MemoryStorage } = require('botbuilder');

const PrivateConversationState = new PrivateConversationState(new MemoryStorage());

Construtores

PrivateConversationState(Storage, string)

Cria uma nova instância PrivateConversationState.

Métodos

getStorageKey(TurnContext)

Retorna a chave de armazenamento para o estado de PrivateConversation atual.

Métodos herdados

clear(TurnContext)

Limpa o objeto de estado atual para uma curva.

createProperty<T>(string)

Cria um novo acessador de propriedade para ler e gravar uma propriedade individual no objeto de armazenamento de estados de bot.

delete(TurnContext)

Exclua o objeto de estado de backup para a curva atual.

get(TurnContext)

Retorna um objeto de estado armazenado em cache ou indefinido se não for armazenado em cache.

load(TurnContext, boolean)

Lê e armazena em cache o objeto de estado de backup para uma curva.

saveChanges(TurnContext, boolean)

Salvará o objeto de estado armazenado em cache se ele tiver sido alterado.

Detalhes do construtor

PrivateConversationState(Storage, string)

Cria uma nova instância PrivateConversationState.

new PrivateConversationState(storage: Storage, namespace?: string)

Parâmetros

storage
Storage

Provedor de armazenamento para o qual manter o estado PrivateConversation.

namespace

string

(Opcional) namespace a ser acrescentado às chaves de armazenamento. O padrão é uma cadeia de caracteres vazia.

Detalhes do método

getStorageKey(TurnContext)

Retorna a chave de armazenamento para o estado de PrivateConversation atual.

function getStorageKey(context: TurnContext): string | undefined

Parâmetros

context
TurnContext

Contexto para a virada atual do PrivateConversation com o usuário.

Retornos

string | undefined

A chave de armazenamento para o estado de PrivateConversation atual.

Detalhes do método herdado

clear(TurnContext)

Limpa o objeto de estado atual para uma curva.

function clear(context: TurnContext): Promise<void>

Parâmetros

context
TurnContext

Contexto para a virada atual da conversa com o usuário.

Retornos

Promise<void>

Uma promessa que representa a operação assíncrona.

Comentários

O objeto de estado desmarcado não será mantido até que saveChanges() tenha sido chamado.

await botState.clear(context);
await botState.saveChanges(context);

herdado deBotState.clear

createProperty<T>(string)

Cria um novo acessador de propriedade para ler e gravar uma propriedade individual no objeto de armazenamento de estados de bot.

function createProperty<T>(name: string): StatePropertyAccessor<T>

Parâmetros

name

string

Nome da propriedade a ser adicionada.

Retornos

Um acessador para a propriedade.

Herdado deBotState.createProperty

delete(TurnContext)

Exclua o objeto de estado de backup para a curva atual.

function delete(context: TurnContext): Promise<void>

Parâmetros

context
TurnContext

Contexto para a virada atual da conversa com o usuário.

Retornos

Promise<void>

Uma promessa que representa a operação assíncrona.

Comentários

O objeto de estado será removido do armazenamento se ele existir. Se o objeto de estado tiver sido lido e armazenado em cache, o cache será limpo.

await botState.delete(context);

herdado deBotState.delete

get(TurnContext)

Retorna um objeto de estado armazenado em cache ou indefinido se não for armazenado em cache.

function get(context: TurnContext): any | undefined

Parâmetros

context
TurnContext

Contexto para a virada atual da conversa com o usuário.

Retornos

any | undefined

Um objeto de estado armazenado em cache ou indefinido se não for armazenado em cache.

Comentários

Este exemplo mostra como obter um objeto de estado já carregado e armazenado em cache de forma síncrona:

const state = botState.get(context);

herdado deBotState.get

load(TurnContext, boolean)

Lê e armazena em cache o objeto de estado de backup para uma curva.

function load(context: TurnContext, force?: boolean): Promise<any>

Parâmetros

context
TurnContext

Contexto para a virada atual da conversa com o usuário.

force

boolean

(Opcional) Se true o cache será ignorado e o estado sempre será lido diretamente do armazenamento. Assume o padrão de false.

Retornos

Promise<any>

O estado armazenado em cache.

Comentários

As leituras subsequentes retornarão o objeto armazenado em cache, a menos que o sinalizador force seja passado, o que forçará o objeto de estado a ser lido novamente.

Esse método é chamado automaticamente no primeiro acesso de qualquer um dos acessadores de propriedade criados.

const state = await botState.load(context);

herdado deBotState.load

saveChanges(TurnContext, boolean)

Salvará o objeto de estado armazenado em cache se ele tiver sido alterado.

function saveChanges(context: TurnContext, force?: boolean): Promise<void>

Parâmetros

context
TurnContext

Contexto para a virada atual da conversa com o usuário.

force

boolean

(Opcional) se true o estado sempre será gravado, independentemente de seu estado de alteração. Assume o padrão de false.

Retornos

Promise<void>

Uma promessa que representa a operação assíncrona.

Comentários

Se o sinalizador force for passado no objeto de estado armazenado em cache será salvo independentemente de ter sido alterado ou não e se nenhum objeto tiver sido armazenado em cache, um objeto vazio será criado e salvo.

await botState.saveChanges(context);

herdado doBotState.saveChanges