I am using Microsoft Bot Framework FormFlow to get a user to complete a form. Having completed it that Dialog ends and the method specified for the ResumeWith parameter (in this case quoteComplete) is executed:
var quoteForm = new FormDialog<Quote>(new Quote(), quoteFormBuilder.BuildForm, FormOptions.PromptInStart); context.Call<Quote>(quoteForm, quoteComplete); In quoteComplete I want the bot to tell the user that it is getting a quote and that it may takes a few seconds. An async call to perform the quote is then done and on it's return I want the bot to show another message with the value of the quote:
await context.PostAsync("I will now calculate your quote. I won't be long..."); context.Wait(MessageReceived); //Simulate getting the quote Task.Delay(5000).ContinueWith(t => { context.PostAsync("Your quote is £133.54"); }); I also tried following advice in the documentation for sending multiple replies by putting this in the Delay().ContinueWith:
var message = context.MakeMessage(); message.Text = "Your quote is for £133.54"; var connector = new ConnectorClient(); connector.Messages.SendMessage(message); However I get an Access Denied error for this.