2016-12-07 15 views
1

我想從MessagesController類之外調用LUIS對話框。我在MessageController類創建一個根對話框:如何在MessagesController類之外調用LUIS對話框

if (activity.Type == ActivityTypes.Message) { 
await Conversation.SendAsync(activity,() => new MessageDialogHandler()); 

在我MessageDialogHandler類我處理附件和文本輸入。

if (activity.Attachments?.Count() > 0) { 
      FaceAnalysis faceAnalysis = new FaceAnalysis(); 
      await faceAnalysis.AnalyseImageAsync(context, argument); 
     } 
else if(activity.Text.Length > 0) { 
//here needs to be the code to call a LUIS dialog. 
} 

我有一個標準LUIS類:

[LuisModel("App-ID", "SubscriptionKey")] 
[Serializable] 

public class LuisDialog : LuisDialog<object> { 

如何管理調用該LUIS對話框從我MessageDialogHandler類? 是的,我看過這篇文章Link,但它沒有幫助我。

感謝您的任何想法。

回答

1

你只需要做一個context.Forward消息到LuisDialog。

await context.Forward(
     new LuisDialog(), 
     LuisDialogCompleted, 
     activity, 
     System.Threading.CancellationToken.None); 

要了解更多關於如何調用對話框的信息,請參考this

+0

謝謝,這個作品,真棒! – Soeren

+0

太棒了,請將問題標記爲已回答 –

相關問題