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 city, state, or country names if the message is a weather query mentioning state and country.

Create a method in the WeatherDialog.cs class as follows; we will call this method from the MessageReceivedAsync method by passing the sentence asked by the user to your bot:

private static async Task<string> IdentifyCityUsingLUIS(string message) 
{
}

Now do a GET request to your LUIS app using the LUIS URL, which you saved in an earlier step, as follows:

var responseInString = await httpClient.GetStringAsync(@"REPLACE_WITH_YOUR_URL_HERE&q=" 
+ System.Uri.EscapeDataString(message));
dynamic response = JObject.Parse(responseInString);

Once you get a response from LUIS, try to parse it and identify whether the sentence contains the required Intent...