UserState class
Lê e grava o estado do usuário do bot no armazenamento.
- Extends
Comentários
Cada usuário com o qual seu bot se comunica terá seu próprio objeto de armazenamento isolado que pode ser usado para manter informações sobre o usuário em toda a conversa que você tem com esse usuário.
const { UserState, MemoryStorage } = require('botbuilder');
const userState = new UserState(new MemoryStorage());
Construtores
User |
Cria uma nova instância userstate. |
Métodos
get |
Retorna a chave de armazenamento para o estado do usuário 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
UserState(Storage, string)
Cria uma nova instância userstate.
new UserState(storage: Storage, namespace?: string)
Parâmetros
- storage
- Storage
Provedor de armazenamento para o qual manter o estado do usuário.
- 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 do usuário atual.
function getStorageKey(context: TurnContext): string | undefined
Parâmetros
- context
- TurnContext
Contexto para a virada atual da conversa com o usuário.
Retornos
string | undefined
A chave de armazenamento para o estado do usuário 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);