2016-06-29 2 views
1

Ich arbeite an einem Microsoft Bot Framework-Projekt, um einen Chatbot zu meiner Website hinzuzufügen. Ich muss kontinuierlich Daten von der Chat-Benutzeroberfläche an den Bot übergeben, um Benutzerdetails und aktuelle Seitendetails zu erhalten. Daher kann ich den Web Chat Client nicht verwenden.Microsoft Bot Framework-Projekt, um einen Chatbot zu meiner Website hinzuzufügen. Ich kann den Web Chat-Client nicht verwenden. Welche anderen Methoden kann ich verwenden?

Welche anderen Methoden kann ich außer dem Erstellen meiner eigenen Chat-Schnittstelle verwenden?

Antwort

5

Welche anderen Methoden kann ich außer dem Erstellen meiner eigenen Chat-Schnittstelle verwenden? Laut dieser Aussage ist WebChat der einfachste Weg. Denn nur mit einem eingebetteten Iframe ist der Chatbot fertig. Abgesehen davon

Es gibt eine REST API, um auf den Botframework zuzugreifen. Es wird als Direct Line API bezeichnet. Sie finden die Dokumentation von, HERE

Unten ist ein Codebeispiel darüber, wie Sie es verwenden können. Ich habe es mit der ASP.NET MVC Anwendung versucht.

private async Task<bool> PostMessage(string message) 
     { 

     bool IsReplyReceived = false; 

     client = new HttpClient(); 
     client.BaseAddress = new Uri("https://directline.botframework.com/api/conversations/"); 
     client.DefaultRequestHeaders.Accept.Clear(); 
     client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json")); 
     client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("BotConnector", "[YourAccessToken]"); 
     response = await client.GetAsync("/api/tokens/"); 
     if (response.IsSuccessStatusCode) 
     { 
      var conversation = new Conversation(); 
      response = await client.PostAsJsonAsync("/api/conversations/", conversation); 
      if (response.IsSuccessStatusCode) 
      { 
       Conversation ConversationInfo = response.Content.ReadAsAsync(typeof(Conversation)).Result as Conversation; 
       string conversationUrl = ConversationInfo.conversationId+"/messages/"; 
       BotDirectLineApproch.Models.Message msg = new BotDirectLineApproch.Models.Message() { text = message }; 
       response = await client.PostAsJsonAsync(conversationUrl,msg); 
       if (response.IsSuccessStatusCode) 
       { 
        response = await client.GetAsync(conversationUrl); 
        if (response.IsSuccessStatusCode) 
        { 
         MessageSet BotMessage = response.Content.ReadAsAsync(typeof(MessageSet)).Result as MessageSet; 
         ViewBag.Messages = BotMessage; 
         IsReplyReceived = true; 
        } 
       } 
      } 

     } 
     return IsReplyReceived; 
    } 

In hier Message, MessageSet and Conversation sind Klassen erstellt von am Json Antwort in der Dokumentation suchen. Wenn Sie brauchen, kann ich das auch hinzufügen.

Prost!

Verwandte Themen