Проект Microsoft Bot Framework для добавления чат-бота на мой сайт. Я не могу использовать клиент веб-чата. Какие еще методы я могу использовать?

Я работаю над проектом Microsoft Bot Framework, чтобы добавить чат-бота на свой веб-сайт. Мне нужно постоянно передавать данные из пользовательского интерфейса чата в бот, чтобы получать сведения о пользователе и сведения о текущей странице. Поэтому я не могу использовать клиент веб-чата.

Какие еще методы я могу использовать, кроме создания собственного интерфейса чата?


person Aakash Malhotra    schedule 29.06.2016    source источник


Ответы (1)


Какие другие методы я могу использовать помимо создания собственного интерфейса чата? Согласно этому утверждению, веб-чат — это самый простой способ. Потому что только со встроенным Iframe вы закончите создание своего чат-бота. Кроме того,

Существует REST API для доступа к ботфреймворку. Это называется 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;
    }

Здесь Message, MessageSet and Conversation — это классы, созданные на основе ответа Json в документации. Если нужно, могу добавить и это.

Ваше здоровье!

person SilentCoder    schedule 29.06.2016