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)

Paying your credit card bill using the bot

In this section, let's see how to build a FormFlow to pay a credit card bill using the bot. However, here we will not use a database; rather the bot will just contain static information.

Add the CreditCardPayment class:

[Serializable] 
class CreditCardPayment
{
[Prompt("Please enter your creditcard number")]
public string CreditcardNumber;
[Prompt("Please enter how much amount do you want to pay")]
public string Pay;
public string CreditCardPaymentSuccessMessage;
};

Next, in the Customer class, define the following public field/property:

public CreditCardPayment CreditCard_Payment; 

Append the following code to the builder object to perform the credit card payment; add it before OnCompletion(accountStatus):

Field("CreditCard_Payment.Pay", isCreditCardPayment) 
...