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!