UserState class
Lit et écrit l’état utilisateur de votre bot dans le stockage.
- Extends
Remarques
Chaque utilisateur avec lequel votre bot communique aura son propre objet de stockage isolé qui peut être utilisé pour conserver des informations sur l’utilisateur dans toute la conversation avec cet utilisateur.
const { UserState, MemoryStorage } = require('botbuilder');
const userState = new UserState(new MemoryStorage());
Constructeurs
User |
Crée une instance UserState. |
Méthodes
get |
Retourne la clé de stockage pour l’état utilisateur actuel. |
Méthodes héritées
clear(Turn |
Efface l’objet d’état actuel pour un tour. |
create |
Crée un accesseur de propriété pour la lecture et l’écriture d’une propriété individuelle dans l’objet de stockage des états du bot. |
delete(Turn |
Supprimez l’objet d’état de stockage pour le tour actuel. |
get(Turn |
Retourne un objet d’état mis en cache ou non défini s’il n’est pas mis en cache. |
load(Turn |
Lit et met en cache l’objet d’état de stockage pour un tour. |
save |
Enregistre l’objet d’état mis en cache s’il a été modifié. |
Détails du constructeur
UserState(Storage, string)
Crée une instance UserState.
new UserState(storage: Storage, namespace?: string)
Paramètres
- storage
- Storage
Fournisseur de stockage vers lequel conserver l’état utilisateur.
- namespace
-
string
(Facultatif) espace de noms à ajouter aux clés de stockage. La valeur par défaut est une chaîne vide.
Détails de la méthode
getStorageKey(TurnContext)
Retourne la clé de stockage pour l’état utilisateur actuel.
function getStorageKey(context: TurnContext): string | undefined
Paramètres
- context
- TurnContext
Contexte pour le tour de conversation actuel avec l’utilisateur.
Retours
string | undefined
Clé de stockage pour l’état utilisateur actuel.
Détails de la méthode héritée
clear(TurnContext)
Efface l’objet d’état actuel pour un tour.
function clear(context: TurnContext): Promise<void>
Paramètres
- context
- TurnContext
Contexte pour le tour de conversation actuel avec l’utilisateur.
Retours
Promise<void>
Promesse représentant l’opération asynchrone.
Remarques
L’objet d’état effacé n’est pas conservé tant que saveChanges() a été appelé.
await botState.clear(context);
await botState.saveChanges(context);
héritée deBotState.clear
createProperty<T>(string)
Crée un accesseur de propriété pour la lecture et l’écriture d’une propriété individuelle dans l’objet de stockage des états du bot.
function createProperty<T>(name: string): StatePropertyAccessor<T>
Paramètres
- name
-
string
Nom de la propriété à ajouter.
Retours
Accesseur pour la propriété.
héritée deBotState.createProperty
delete(TurnContext)
Supprimez l’objet d’état de stockage pour le tour actuel.
function delete(context: TurnContext): Promise<void>
Paramètres
- context
- TurnContext
Contexte pour le tour de conversation actuel avec l’utilisateur.
Retours
Promise<void>
Promesse représentant l’opération asynchrone.
Remarques
L’objet d’état est supprimé du stockage s’il existe. Si l’objet d’état a été lu et mis en cache, le cache est effacé.
await botState.delete(context);
héritée deBotState.delete
get(TurnContext)
Retourne un objet d’état mis en cache ou non défini s’il n’est pas mis en cache.
function get(context: TurnContext): any | undefined
Paramètres
- context
- TurnContext
Contexte pour le tour de conversation actuel avec l’utilisateur.
Retours
any | undefined
Objet d’état mis en cache ou non défini s’il n’est pas mis en cache.
Remarques
Cet exemple montre comment obtenir de façon synchrone un objet d’état déjà chargé et mis en cache :
const state = botState.get(context);
héritée deBotState.get
load(TurnContext, boolean)
Lit et met en cache l’objet d’état de stockage pour un tour.
function load(context: TurnContext, force?: boolean): Promise<any>
Paramètres
- context
- TurnContext
Contexte pour le tour de conversation actuel avec l’utilisateur.
- force
-
boolean
(Facultatif) Si true
le cache est contourné et que l’état est toujours lu directement à partir du stockage. La valeur par défaut est false
.
Retours
Promise<any>
État mis en cache.
Remarques
Les lectures suivantes retournent l’objet mis en cache, sauf si l’indicateur force
est passé, ce qui forcera la réécriture de l’objet d’état.
Cette méthode est automatiquement appelée sur le premier accès de l’un des accesseurs de propriété créés.
const state = await botState.load(context);
saveChanges(TurnContext, boolean)
Enregistre l’objet d’état mis en cache s’il a été modifié.
function saveChanges(context: TurnContext, force?: boolean): Promise<void>
Paramètres
- context
- TurnContext
Contexte pour le tour de conversation actuel avec l’utilisateur.
- force
-
boolean
(Facultatif) si true
l’état est toujours écrit, quel que soit son état de modification. La valeur par défaut est false
.
Retours
Promise<void>
Promesse représentant l’opération asynchrone.
Remarques
Si l’indicateur de force
est passé dans l’objet d’état mis en cache est enregistré, indépendamment de sa modification ou non et si aucun objet n’a été mis en cache, un objet vide est créé, puis enregistré.
await botState.saveChanges(context);
héritée deBotState.saveChanges