Partager via


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

UserState(Storage, string)

Crée une instance UserState.

Méthodes

getStorageKey(TurnContext)

Retourne la clé de stockage pour l’état utilisateur actuel.

Méthodes héritées

clear(TurnContext)

Efface l’objet d’état actuel pour un tour.

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.

delete(TurnContext)

Supprimez l’objet d’état de stockage pour le tour actuel.

get(TurnContext)

Retourne un objet d’état mis en cache ou non défini s’il n’est pas mis en cache.

load(TurnContext, boolean)

Lit et met en cache l’objet d’état de stockage pour un tour.

saveChanges(TurnContext, boolean)

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

héritée de BotState.load

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