में देरी से प्रतिक्रिया कैसे दे सकता हूं, मैं उपयोगकर्ता को फॉर्म भरने के लिए माइक्रोसॉफ्ट बॉट फ्रेमवर्क फॉर्मफ्लो का उपयोग कर रहा हूं। यह पूरा करने के बाद कि संवाद समाप्त हो जाती है और विधि ResumeWith
पैरामीटर के लिए निर्दिष्ट (इस मामले quoteComplete
में) निष्पादित किया जाता है:मैं माइक्रोसॉफ्ट बॉट फ्रेमवर्क
var quoteForm = new FormDialog<Quote>(new Quote(),
quoteFormBuilder.BuildForm, FormOptions.PromptInStart);
context.Call<Quote>(quoteForm, quoteComplete);
quoteComplete
में मैं बॉट चाहते उपयोगकर्ता है कि यह एक उद्धरण हो रही है बताने के लिए और जो भी हो कुछ सेकंड लेता है उद्धरण प्रदर्शन करने के लिए एक async कॉल तो किया जाता है और यह की वापसी पर मैं बोली के मूल्य के साथ एक और संदेश को दिखाने के लिए बॉट हैं:
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");
});
मैं भी रख कर कई उत्तर भेजने के लिए दस्तावेज में सलाह निम्नलिखित की कोशिश की Delay().ContinueWith
में इस:
var message = context.MakeMessage();
message.Text = "Your quote is for £133.54";
var connector = new ConnectorClient();
connector.Messages.SendMessage(message);
हालांकि मैं इस के लिए एक Access Denied
त्रुटि मिलती है।
क्या आपने कभी इसे हल किया था? –
मुझे डर नहीं है - अभी भी उम्मीद है कि किसी को उत्तर देने वाला कोई चिपक जाएगा! :( –