Microsoft Bot Framework项目将聊天机器人添加到我的网站.我无法使用Web Chat客户端.我还可以使用其他什么方法?

Aak*_*tra 1 asp.net-mvc bots web-chat botframework

我正在开发一个Microsoft Bot Framework项目,以便将聊天机器人添加到我的网站.我需要将数据从聊天UI连续传递到Bot以获取用户详细信息和当前页面详细信息.因此我无法使用Web Chat客户端.

除了创建自己的聊天界面外,我还可以使用哪些其他方法?

Sil*_*der 5

除了创建自己的聊天界面外,我还可以使用哪些其他方法?根据这个声明,WebChat是最简单的方法.因为只有嵌入的iframe才能创建聊天机器人.除此之外,

有一个REST Api可以访问botframework.它被称为Direct Line API.你可以在这里找到文档

以下是有关如何使用它的代码示例.我试过这个ASP.NET MVC应用程序.

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;
    }
Run Code Online (Sandbox Code Playgroud)

这里Message, MessageSet and Conversation是通过查看文档中的Json响应创建的类.如果您需要,我也可以添加.

干杯!