Book Image

Building Bots with Microsoft Bot Framework

By : Kishore Gaddam
Book Image

Building Bots with Microsoft Bot Framework

By: Kishore Gaddam

Overview of this book

Bots help users to use the language as a UI and interact with the applications from any platform. This book teaches you how to develop real-world bots using Microsoft Bot Framework. The book starts with setting up the Microsoft Bot Framework development environment and emulator, and moves on to building the first bot using Connector and Builder SDK. Explore how to register, connect, test, and publish your bot to the Slack, Skype, and Facebook Messenger platforms. Throughout this book, you will build different types of bots from simple to complex, such as a weather bot, a natural speech and intent processing bot, an Interactive Voice Response (IVR) bot for a bank, a facial expression recognition bot, and more from scratch. These bots were designed and developed to teach you concepts such as text detection, implementing LUIS dialogs, Cortana Intelligence Services, third-party authentication, Rich Text format, Bot State Service, and microServices so you can practice working with the standard development tools such as Visual Studio, Bot Emulator, and Azure.
Table of Contents (10 chapters)

Calling LUIS from the bot

To incorporate a call to LUIS, we can start by adding this function. It simply calls LUIS and returns the phrases identified by LUIS, such as name, city, company name, and so on.

Place your LUIS app endpoint URL, which you copied from the preceding step, in to the following variable in your code:

  var luisRequestURL = 
"https://api.projectoxford.ai/luis/v1/application?id=
fbec04e7-8bda-4160-a059-a8f8b995184b&subscription-
key=ENTER_KEY_HERE";

Next, append the user message, which we get from the user to the luisRequestUrl and do a Get request:

   httpClient = new HttpClient(); 
HttpResponseMessage response = await
httpClient.GetAsync(luisRequestURL + "&q=" + messagetext);

string luisResponseString = await
response.Content.ReadAsStringAsync();

Deserialize the LUIS response and parse it to identify the Intents and Entities:

            var luisResponse...