2017-04-27 95 views
3

我使用Bot Framework創建了一個bot,我使用conversationID來維護後臺對話引擎的狀態。我無法在文檔中找到結束對話。在某種程度上,用戶必須能夠通知對話的「結束或退出」,以便下次他們開始對話時,會得到新的conversationID。這應該是一個簡單的任務,我想。我正在使用默認的回顯模板,並將計數字母的數量與方法一起替換爲我的類,該方法返回要發送回用戶的文本。如何結束對話?

+0

請不要堆棧交換網絡上使用#標籤。 (顯然他們的文檔告訴你要這樣做,呃...) – Stijn

+0

文檔不再引用StackOverflow的hashtags。 –

回答

0

現在有一個ActivityTypes.EndOfConversation(這已經在sdk中)。

下面是使用它的一種方法:

public static async Task EndConversation(this IBotToUser botToUser, string code = EndOfConversationCodes.CompletedSuccessfully, CancellationToken cancellationToken = default(CancellationToken)) 
{ 
    var message = botToUser.MakeMessage(); 
    message.Type = ActivityTypes.EndOfConversation; 
    message.AsEndOfConversationActivity().Code = code; 

    await botToUser.PostAsync(message, cancellationToken); 
} 

這也應該是在未來的版本:GitHub Pull Request

0

json網絡令牌(jwt)僅在一次聊天中可用。所以它再次獲取converstionId。 session.endConversation()方法提供了一種快速終止與用戶對話的方便方法。用於結束對話。

+0

session.endConversation()來自節點... –

+0

據我所見,.Net框架中沒有session.endConversation()。這就是我發佈這個問題的原因。 –