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
Private |
Cria uma nova instância PrivateConversationState. |
Métodos
get |
Retorna a chave de armazenamento para o estado de PrivateConversation atual. |
Métodos herdados
clear(Turn |
Limpa o objeto de estado atual para uma curva. |
create |
Cria um novo acessador de propriedade para ler e gravar uma propriedade individual no objeto de armazenamento de estados de bot. |
delete(Turn |
Exclua o objeto de estado de backup para a curva atual. |
get(Turn |
Retorna um objeto de estado armazenado em cache ou indefinido se não for armazenado em cache. |
load(Turn |
Lê e armazena em cache o objeto de estado de backup para uma curva. |
save |
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);