DialogContext class
Contexte du tour de dialogue actuel par rapport à un DialogSet spécifique.
Remarques
Cela inclut le contexte de tour, les informations sur l’ensemble de dialogues et l’état de la pile de dialogues.
À partir du code en dehors d’un dialogue dans l’ensemble, utilisez DialogSet.createContext pour créer le contexte de dialogue. Utilisez ensuite les méthodes du contexte de dialogue pour gérer la progression des dialogues dans l’ensemble.
Lorsque vous implémentez un dialogue, le contexte de dialogue est un paramètre disponible pour les différentes méthodes que vous remplacez ou implémentez.
Par exemple :
const dc = await dialogs.createContext(turnContext);
const result = await dc.continueDialog();
Constructeurs
Dialog |
Crée une instance de la classe DialogContext . |
Dialog |
Crée une instance de la classe DialogContext . |
Propriétés
active |
|
child | |
context | Obtient l’objet de contexte pour le tour. |
dialog |
|
dialogs | Obtient les boîtes de dialogue qui peuvent être appelées directement à partir de ce contexte. |
parent | Contexte de boîte de dialogue parent pour ce contexte de dialogue, ou |
services | Obtient la collection de services qui est contextuelle à ce contexte de boîte de dialogue. |
stack | Obtient la pile de dialogues actuelle. |
state | Obtient le DialogStateManager qui gère l’affichage de toutes les étendues de mémoire. |
Méthodes
begin |
Démarre une instance de dialogue et l’envoie dans la pile des dialogues. Crée une instance de la boîte de dialogue et la pousse vers la pile. |
cancel |
Annule toutes les boîtes de dialogue de la pile de dialogues et efface la pile. |
continue |
Poursuit l’exécution du dialogue actif, le cas échéant, en passant ce contexte de dialogue à sa méthode Dialog.continueDialog . |
emit |
Recherche une boîte de dialogue avec un ID donné. |
end |
Termine une boîte de dialogue et la fait apparaître hors de la pile. Retourne un résultat facultatif au parent de la boîte de dialogue. |
find |
Recherche une boîte de dialogue avec un ID donné. |
get |
Obtenez cultureInfo dans DialogContext. |
prompt(string, string | Partial<Activity> | Prompt |
Fonction d’assistance pour simplifier la mise en forme des options d’appel d’une boîte de dialogue d’invite. |
prompt(string, string | Partial<Activity> | Prompt |
Fonction d’assistance pour simplifier la mise en forme des options d’appel d’une boîte de dialogue d’invite. |
replace |
Termine le dialogue actif et démarre un nouveau dialogue à sa place. |
reprompt |
Demande à la boîte de dialogue active d’inviter à nouveau l’utilisateur à entrer une entrée. |
Détails du constructeur
DialogContext(DialogSet, DialogContext, DialogState)
Crée une instance de la classe DialogContext .
new DialogContext(dialogs: DialogSet, contextOrDC: DialogContext, state: DialogState)
Paramètres
- contextOrDC
- DialogContext
Objet TurnContext pour le tour actuel du bot.
- state
- DialogState
Objet d’état à utiliser pour lire et écrire DialogState dans le stockage.
Remarques
Le passage d’une instance DialogContext clone le contexte du dialogue.
DialogContext(DialogSet, TurnContext, DialogState)
Crée une instance de la classe DialogContext .
new DialogContext(dialogs: DialogSet, contextOrDC: TurnContext, state: DialogState)
Paramètres
- contextOrDC
-
TurnContext
Objet TurnContext pour le tour actuel du bot.
- state
- DialogState
Objet d’état à utiliser pour lire et écrire DialogState dans le stockage.
Remarques
Le passage d’une instance DialogContext clone le contexte du dialogue.
Détails de la propriété
activeDialog
DialogInstance | undefined activeDialog
Valeur de propriété
DialogInstance | undefined
Informations d’état du dialogue en haut de la pile des dialogues, ou undefined
si la pile est vide.
child
DialogContext | undefined child
Valeur de propriété
DialogContext | undefined
Contexte de dialogue pour enfant si le dialogue actif est un conteneur.
context
Obtient l’objet de contexte pour le tour.
context: TurnContext
Valeur de propriété
TurnContext
dialogManager
Avertissement
Cette API est à présent déconseillée.
This property serves no function.
DialogManager dialogManager
Valeur de propriété
Instance actuelle du gestionnaire de dialogues. Cette propriété est déconseillée.
dialogs
Obtient les boîtes de dialogue qui peuvent être appelées directement à partir de ce contexte.
dialogs: DialogSet
Valeur de propriété
parent
Contexte de boîte de dialogue parent pour ce contexte de dialogue, ou undefined
si ce contexte n’a pas de parent.
parent: DialogContext | undefined
Valeur de propriété
DialogContext | undefined
Remarques
Lorsqu’il tente de démarrer un dialogue, le contexte du dialogue recherche le Dialog.id dans ses boîtes de dialogue. Si le dialogue à démarrer est introuvable dans ce contexte de dialogue, il recherche dans son contexte de dialogue parent, et ainsi de suite.
services
Obtient la collection de services qui est contextuelle à ce contexte de boîte de dialogue.
services: TurnContextStateCollection
Valeur de propriété
TurnContextStateCollection
stack
state
Obtient le DialogStateManager qui gère l’affichage de toutes les étendues de mémoire.
state: DialogStateManager
Valeur de propriété
Détails de la méthode
beginDialog(string, object)
Démarre une instance de dialogue et l’envoie dans la pile des dialogues. Crée une instance de la boîte de dialogue et la pousse vers la pile.
function beginDialog(dialogId: string, options?: object): Promise<DialogTurnResult>
Paramètres
- dialogId
-
string
ID de la boîte de dialogue à démarrer.
- options
-
object
facultatif. Arguments à passer dans la boîte de dialogue au démarrage.
Retours
Promise<DialogTurnResult>
promesse résolvant le résultat du tour de boîte de dialogue.
Remarques
S’il existe déjà un dialogue actif sur la pile, ce dialogue est suspendu jusqu’à ce qu’il soit à nouveau le dialogue supérieur de la pile.
L’état de l’objet retourné décrit l’état de la pile de dialogues une fois cette méthode terminée.
Cette méthode lève une exception si le dialogue demandé est introuvable dans ce contexte de dialogue ou dans l’un de ses ancêtres.
Par exemple :
const result = await dc.beginDialog('greeting', { name: user.name });
Voir aussi
cancelAllDialogs(boolean, string, any)
Annule toutes les boîtes de dialogue de la pile de dialogues et efface la pile.
function cancelAllDialogs(cancelParents?: boolean, eventName?: string, eventValue?: any): Promise<DialogTurnResult>
Paramètres
- cancelParents
-
boolean
facultatif. Si true
toutes les boîtes de dialogue parentes sont également annulées.
- eventName
-
string
facultatif. Nom d’un événement personnalisé à déclencher au fur et à mesure que les boîtes de dialogue sont annulées. La valeur par défaut est cancelDialog.
- eventValue
-
any
facultatif. Valeur à transmettre avec l’événement d’annulation personnalisé.
Retours
Promise<DialogTurnResult>
promesse résolvant le résultat du tour de boîte de dialogue.
Remarques
Cela appelle la méthode Dialog.endDialog de chaque dialogue avant de supprimer le dialogue de la pile.
S’il y avait des boîtes de dialogue sur la pile initialement, l’état de la valeur de retour est annulé ; sinon, il est vide.
Cet exemple efface une pile de dialogues, dc
, avant de démarrer une boîte de dialogue « bookFlight ».
await dc.cancelAllDialogs();
return await dc.beginDialog('bookFlight');
Voir aussi
continueDialog()
Poursuit l’exécution du dialogue actif, le cas échéant, en passant ce contexte de dialogue à sa méthode Dialog.continueDialog .
function continueDialog(): Promise<DialogTurnResult>
Retours
Promise<DialogTurnResult>
promesse résolvant le résultat du tour de boîte de dialogue.
Remarques
Une fois l’appel terminé, vous pouvez vérifier la propriété répondue du contexte de tour pour déterminer si la boîte de dialogue a envoyé une réponse à l’utilisateur.
L’état de l’objet retourné décrit l’état de la pile de dialogues une fois cette méthode terminée.
En règle générale, vous l’appelez à partir du gestionnaire de tour de votre bot.
Par exemple :
const result = await dc.continueDialog();
if (result.status == DialogTurnStatus.empty && dc.context.activity.type == ActivityTypes.message) {
// Send fallback message
await dc.context.sendActivity(`I'm sorry. I didn't understand.`);
}
emitEvent(string, any, boolean, boolean)
Recherche une boîte de dialogue avec un ID donné.
function emitEvent(name: string, value?: any, bubble?: boolean, fromLeaf?: boolean): Promise<boolean>
Paramètres
- name
-
string
Nom de l’événement à déclencher.
- value
-
any
facultatif. Valeur à envoyer avec l’événement.
- bubble
-
boolean
facultatif. Indicateur permettant de contrôler si l’événement doit être en bulles sur son parent s’il n’est pas géré localement. La valeur true
par défaut est .
- fromLeaf
-
boolean
facultatif. Indique si l’événement est émis à partir d’un nœud feuille.
Retours
Promise<boolean>
true
si l’événement a été géré.
Remarques
Émet un événement nommé pour la boîte de dialogue active ou une personne qui l’a démarrée à gérer.
endDialog(any)
Termine une boîte de dialogue et la fait apparaître hors de la pile. Retourne un résultat facultatif au parent de la boîte de dialogue.
function endDialog(result?: any): Promise<DialogTurnResult>
Paramètres
- result
-
any
facultatif. Résultat à passer à la logique parente. Il peut s’agir du dialogue suivant sur la pile, ou s’il s’agit du dernier dialogue de la pile, d’un contexte de dialogue parent ou du gestionnaire de tour du bot.
Retours
Promise<DialogTurnResult>
promesse résolvant le résultat du tour de boîte de dialogue.
Remarques
Le dialogue parent est le dialogue suivant sur la pile de dialogues, le cas échéant. Cette méthode appelle la méthode Dialog.resumeDialog du parent, en transmettant le résultat retourné par le dialogue de fin. S’il n’existe aucune boîte de dialogue parente, le tour se termine et le résultat est disponible pour le bot via la propriété de résultat de l’objet retourné.
L’état de l’objet retourné décrit l’état de la pile de dialogues une fois cette méthode terminée.
En règle générale, vous l’appelez à partir de la logique d’un dialogue spécifique pour signaler au contexte de dialogue que le dialogue est terminé, que le dialogue doit être supprimé de la pile et que le dialogue parent doit reprendre.
Par exemple :
return await dc.endDialog(returnValue);
Voir aussi
findDialog(string)
Recherche une boîte de dialogue avec un ID donné.
function findDialog(dialogId: string): Dialog | undefined
Paramètres
- dialogId
-
string
ID de la boîte de dialogue à rechercher.
Retours
Dialog | undefined
Boîte de dialogue de l’ID fourni.
Remarques
Si le dialogue à démarrer est introuvable dans le DialogSet associé à ce contexte de dialogue, il tente de trouver le dialogue dans son contexte de dialogue parent.
Voir aussi
getLocale()
Obtenez cultureInfo dans DialogContext.
function getLocale(): string
Retours
string
chaîne de paramètres régionaux.
prompt(string, string | Partial<Activity> | PromptOptions)
Fonction d’assistance pour simplifier la mise en forme des options d’appel d’une boîte de dialogue d’invite.
function prompt(dialogId: string, promptOrOptions: string | Partial<Activity> | PromptOptions): Promise<DialogTurnResult>
Paramètres
- dialogId
-
string
ID de la boîte de dialogue d’invite à démarrer.
- promptOrOptions
-
string | Partial<Activity> | PromptOptions
Texte de l’invite initiale à envoyer à l’utilisateur, activité à envoyer en tant qu’invite initiale ou objet avec lequel mettre en forme la boîte de dialogue d’invite.
Retours
Promise<DialogTurnResult>
Remarques
Cette méthode d’assistance met en forme l’objet à utiliser comme options
paramètre, puis appelle beginDialog pour démarrer la boîte de dialogue d’invite spécifiée.
return await dc.prompt('confirmPrompt', `Are you sure you'd like to quit?`);
prompt(string, string | Partial<Activity> | PromptOptions, string | Choice[])
Fonction d’assistance pour simplifier la mise en forme des options d’appel d’une boîte de dialogue d’invite.
function prompt(dialogId: string, promptOrOptions: string | Partial<Activity> | PromptOptions, choices: string | Choice[]): Promise<DialogTurnResult>
Paramètres
- dialogId
-
string
ID de la boîte de dialogue d’invite à démarrer.
- promptOrOptions
-
string | Partial<Activity> | PromptOptions
Texte de l’invite initiale à envoyer à l’utilisateur, activité à envoyer en tant qu’invite initiale ou objet avec lequel mettre en forme la boîte de dialogue d’invite.
- choices
-
string | Choice[]
facultatif. Tableau de choix parmi lesquels l’utilisateur peut choisir, à utiliser avec un ChoicePrompt.
Retours
Promise<DialogTurnResult>
Remarques
Cette méthode d’assistance met en forme l’objet à utiliser comme options
paramètre, puis appelle beginDialog pour démarrer la boîte de dialogue d’invite spécifiée.
return await dc.prompt('confirmPrompt', `Are you sure you'd like to quit?`);
replaceDialog(string, object)
Termine le dialogue actif et démarre un nouveau dialogue à sa place.
function replaceDialog(dialogId: string, options?: object): Promise<DialogTurnResult>
Paramètres
- dialogId
-
string
ID de la boîte de dialogue à démarrer.
- options
-
object
facultatif. Arguments à passer dans la nouvelle boîte de dialogue au démarrage.
Retours
Promise<DialogTurnResult>
promesse résolvant le résultat du tour de boîte de dialogue.
Remarques
Cela est particulièrement utile pour créer une boucle ou rediriger vers un autre dialogue.
L’état de l’objet retourné décrit l’état de la pile de dialogues une fois cette méthode terminée.
Cette méthode est similaire à la fin de la boîte de dialogue actuelle et au début immédiat de la nouvelle. Toutefois, la boîte de dialogue parente n’est ni reprise ni avertie.
Voir aussi
repromptDialog()
Demande à la boîte de dialogue active d’inviter à nouveau l’utilisateur à entrer une entrée.
function repromptDialog(): Promise<void>
Retours
Promise<void>
Remarques
Cela appelle la méthode repromptDialog du dialogue actif.
Par exemple :
await dc.repromptDialog();