Le scénario que nous allons développer va simplement consister à recueillir de l'utilisateur une information par exemple son nom pour le saluer cordialement. Pour rappel, tout dans le Bot SDK est réalisé en utilisant le pattern Await / Async (programmation asynchrone)
En repartant du code précédent, nous allons réécrire la méthode Task MessageReceivedAsync
de la manière suivante :
private Task MessageReceivedAsync(IDialogContext context, IAwaitable
{
PromptDialog.Text(context, NameEntered, @"Hello! Comment t'appelles tu?");
return Task.CompletedTask;
}
Nous invoquons ici une tache NameEntered qui constitue le CallBack qui sera complétée lorsque l'utilisateur aura répondu en entrant son prénom
Pour répondre à l'utilisateur, nous écrivons la Tache asynchrone : Task NameEntered
private async Task NameEntered(IDialogContext context, IAwaitable
{
await context.PostAsync($@"Bonjour {await result}!");
context.Wait(MessageReceivedAsync);
}
Le robot répond alors en reformulant le prénom entré par l'utilisateur comme montré ci dessous dans l'émulateur
Cet article nous a permis de poser les prémices de l'interactivité du Bot, nous verrons dans la partie 3 comment mettre en oeuvre des Workflow de communication avec une persistence de contexte d'un dialogue
Cette gestion d'état et de persistence va permettre des interactions beaucoup plus riche avec le Chat Bot.
Vous retrouverez le code de cet exemple à l'adresse : Code Chatbot
Aucun commentaire:
Enregistrer un commentaire