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

UserState(Storage, string)

Cria uma nova instância userstate.

Métodos

getStorageKey(TurnContext)

Retorna a chave de armazenamento para o estado do usuário 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

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

herdado doBotState.saveChanges