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
User |
Crea una nuova istanza di UserState. |
Metodi
get |
Restituisce la chiave di archiviazione per lo stato utente corrente. |
Metodi ereditati
clear(Turn |
Cancella l'oggetto di stato corrente per un turno. |
create |
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(Turn |
Eliminare l'oggetto stato di backup per il turno corrente. |
get(Turn |
Restituisce un oggetto di stato memorizzato nella cache o non definito se non memorizzato nella cache. |
load(Turn |
Legge e memorizza nella cache l'oggetto stato di backup per un turno. |
save |
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