public async Task None(IDialogContext context, LuisResult result) { var factory = new DialogFactory(); AzureBotLuisDialog <string> dialog = await factory.Create(result.Query); if (dialog != null) { var message = context.MakeMessage(); message.Text = userToBot; var accessToken = await context.GetAccessToken(resourceId.Value); if (string.IsNullOrEmpty(accessToken)) { return; } await context.Forward(dialog, this.ResumeAfterForward, message, CancellationToken.None); } else { string message = $"Sorry, I did not understand '{result.Query}'. Type 'help' if you need assistance."; await context.PostAsync(message); context.Wait(MessageReceived); } }
public async Task None(IDialogContext context, LuisResult result) { var factory = new DialogFactory(); AzureBotLuisDialog <string> dialog = await factory.Create(result.Query); if (dialog != null) { var message = context.MakeMessage(); message.Text = userToBot; var accessToken = await context.GetAccessToken(resourceId.Value); if (string.IsNullOrEmpty(accessToken)) { return; } await context.Forward(dialog, this.ResumeAfterForward, message, CancellationToken.None); } else { if (new[] { "cancel", "reset", "restart", "kill", "undo", "start over" }.Any(c => result.Query.Contains(c))) { context.Reset(); context.ConversationData.Clear(); context.UserData.Clear(); context.PrivateConversationData.Clear(); await context.FlushAsync(CancellationToken.None); await context.PostAsync($"Alright, I've reset everything, let's try again."); await this.Help(context, new LuisResult()); } else { string message = $"Sorry, I did not understand '{result.Query}'. Type 'help' if you need assistance."; await context.PostAsync(message); context.Wait(MessageReceived); } } }