UserState class

Legge e scrive lo stato utente per il bot nell'archiviazione.

Extends

Commenti

Ogni utente con cui il bot comunica avrà un proprio oggetto di archiviazione isolato che può essere usato per rendere persistenti le informazioni sull'utente in tutta la conversazione con l'utente.

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

const userState = new UserState(new MemoryStorage());

Costruttori

UserState(Storage, string)

Crea una nuova istanza di UserState.

Metodi

getStorageKey(TurnContext)

Restituisce la chiave di archiviazione per lo stato utente corrente.

Metodi ereditati

clear(TurnContext)

Cancella l'oggetto di stato corrente per un turno.

createProperty<T>(string)

Crea una nuova funzione di accesso alle proprietà per la lettura e la scrittura di una singola proprietà nell'oggetto di archiviazione degli stati del bot.

delete(TurnContext)

Eliminare l'oggetto stato di backup per il turno corrente.

get(TurnContext)

Restituisce un oggetto di stato memorizzato nella cache o non definito se non memorizzato nella cache.

load(TurnContext, boolean)

Legge e memorizza nella cache l'oggetto stato di backup per un turno.

saveChanges(TurnContext, boolean)

Salva l'oggetto stato memorizzato nella cache se è stato modificato.

Dettagli costruttore

UserState(Storage, string)

Crea una nuova istanza di UserState.

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

Parametri

storage
Storage

Provider di archiviazione in cui rendere persistente lo stato utente.

namespace

string

(Facoltativo) spazio dei nomi da aggiungere alle chiavi di archiviazione. Il valore predefinito è una stringa vuota.

Dettagli metodo

getStorageKey(TurnContext)

Restituisce la chiave di archiviazione per lo stato utente corrente.

function getStorageKey(context: TurnContext): string | undefined

Parametri

context
TurnContext

Contesto per il turno corrente della conversazione con l'utente.

Restituisce

string | undefined

Chiave di archiviazione per lo stato utente corrente.

Dettagli dei metodi ereditati

clear(TurnContext)

Cancella l'oggetto di stato corrente per un turno.

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

Parametri

context
TurnContext

Contesto per il turno corrente della conversazione con l'utente.

Restituisce

Promise<void>

Promessa che rappresenta l'operazione asincrona.

Commenti

L'oggetto stato cancellato non verrà salvato in modo permanente finché non viene chiamato saveChanges().

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

ereditato daBotState.clear

createProperty<T>(string)

Crea una nuova funzione di accesso alle proprietà per la lettura e la scrittura di una singola proprietà nell'oggetto di archiviazione degli stati del bot.

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

Parametri

name

string

Nome della proprietà da aggiungere.

Restituisce

Funzione di accesso per la proprietà .

ereditato daBotState.createProperty

delete(TurnContext)

Eliminare l'oggetto stato di backup per il turno corrente.

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

Parametri

context
TurnContext

Contesto per il turno corrente della conversazione con l'utente.

Restituisce

Promise<void>

Promessa che rappresenta l'operazione asincrona.

Commenti

L'oggetto stato verrà rimosso dalla risorsa di archiviazione, se presente. Se l'oggetto di stato è stato letto e memorizzato nella cache, la cache verrà cancellata.

await botState.delete(context);

ereditato daBotState.delete

get(TurnContext)

Restituisce un oggetto di stato memorizzato nella cache o non definito se non memorizzato nella cache.

function get(context: TurnContext): any | undefined

Parametri

context
TurnContext

Contesto per il turno corrente della conversazione con l'utente.

Restituisce

any | undefined

Oggetto di stato memorizzato nella cache o non definito se non memorizzato nella cache.

Commenti

Questo esempio mostra come ottenere in modo sincrono un oggetto stato già caricato e memorizzato nella cache:

const state = botState.get(context);

ereditato daBotState.get

load(TurnContext, boolean)

Legge e memorizza nella cache l'oggetto stato di backup per un turno.

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

Parametri

context
TurnContext

Contesto per il turno corrente della conversazione con l'utente.

force

boolean

(Facoltativo) Se true la cache verrà ignorata e lo stato verrà sempre letto direttamente dall'archiviazione. Il valore predefinito è false.

Restituisce

Promise<any>

Stato memorizzato nella cache.

Commenti

Le letture successive restituiranno l'oggetto memorizzato nella cache, a meno che non venga passato il flag force che forza la ri lettura dell'oggetto di stato.

Questo metodo viene chiamato automaticamente al primo accesso di una delle funzioni di accesso alle proprietà create.

const state = await botState.load(context);

ereditato daBotState.load

saveChanges(TurnContext, boolean)

Salva l'oggetto stato memorizzato nella cache se è stato modificato.

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

Parametri

context
TurnContext

Contesto per il turno corrente della conversazione con l'utente.

force

boolean

(Facoltativo) se true lo stato verrà sempre scritto indipendentemente dal relativo stato di modifica. Il valore predefinito è false.

Restituisce

Promise<void>

Promessa che rappresenta l'operazione asincrona.

Commenti

Se il flag force viene passato nell'oggetto stato memorizzato nella cache verrà salvato indipendentemente dal fatto che sia stato modificato o meno e se non è stato memorizzato nella cache alcun oggetto, verrà creato e salvato un oggetto vuoto.

await botState.saveChanges(context);

Ereditato daBotState.saveChanges