29May

Create a Basic Bot with the Bot Builder SDK for.NET

In this blog, I am going to show how to create a basic bot using Microsoft Bot Builder Framework and SDK for .NET.

What is a Bot?

A bot is a software that is designed to automate the tasks you would usually do on your own, like booking a flight ticket, adding an appointment to your calendar or fetching and displaying information.

Chat bots are computer programs that mimic conversation with people using artificial intelligence.

A bot may be as simple as basic pattern matching with a response, or it may be a sophisticated weaving of artificial intelligence techniques with complex conversational state tracking and integration to existing business services.

Let’ see how to create a Bot using Bot Builder SDK

The Bot Builder SDK for .NET is a framework for developing bots using visual studio and windows.

Prerequisites:

  • Install Visual Studio 2017 for windows
  • Install Bot Framework Emulator, which is the client you will use for testing your bot
  • Download the Bot Application Template and install the template by saving .zip file to your Visual studio 2017 project templates directory which is typically located here: %USERPROFILE%\Documents\Visual Studio 2017\Templates\ProjectTemplates\Visual C#\

 

  • After ensuring you have all the prerequisites ready, Open Visual Studio and create a new C# project by choosing Bot Application template.

       Create

 

By using Bot Application template, you are creating a project that already contains all the components that are required to build simple bot, including a reference to the Bot Builder SDK for .NET, included in the Microsoft.Bot.Builder NuGet Package.

 

  • Right click on your project's References folder in the Solution Explorer and click Manage NuGet packages
  • In the Updates tab, type Microsoft.Bot.Builder.
  • Locate the package in the list of search results, and click the Update button for that package.
  • Follow the prompts to accept the changes and update the package.

Open solution explorer and explore the Bot code.

First, the Post method within Controllers\MessagesController.cs receives the message from the user and invokes the root dialog.

Dialogs are used to model a conversation and manage conversation flow. Each dialog is an abstraction that encapsulates its own state in a C# class that implements IDialog.

MessageController

 

The root dialog processes the message and generates a response. The MessageReceivedAsync method within Dialogs\RootDialog.cs sends a reply that echoes back the user's message, prefixed with the text 'You sent' and ending in the text 'which was ## characters', where ## represents the number of characters in the user's message.

Dialogs help organize the logic in your bot and manage conversation flow. Dialogs are arranged in a stack, and the top dialog in the stack processes all incoming messages until it is closed or a different dialog is invoked.

RootDialog

Next, you need to test your Bot using the Bot framework emulator to see it in action.

The emulator is a desktop application that lets you test and debug your bot on localhost or running remotely through a tunnel. The emulator displays messages as they would appear in a web chat UI and logs JSON requests and responses as you exchange messages with your bot.

Click on the Run button, Visual Studio will build the application, deploy it to localhost, and launch the web browser to display the application's default.htm page as shown below:

browser

Open the botframework-emulator and connect your bot, Type http://localhost:3979/api/messages into the address bar. This is the default endpoint that your bot listens to when hosted locally.

Set the Locale as en-US and click Connect. Because you are running your bot locally, you won't need to specify Microsoft App ID and Microsoft App Password. You can leave these fields blank for now. You will get these two details when you register your bot in the Bot Framework Portal. 

connect

Click on the connect button and type hi, hello etc.

You may see that the bot responds to each message you send by echoing back your message prefixed with the text "You said" and ending in the text 'which was ## characters', where ## represents the number of characters in the user's message.

References:

  • https://docs.microsoft.com/en-us/azure/bot-service/dotnet/bot-builder-dotnet-overview?view=azure-bot-service-3.0
  • https://dev.botframework.com/ 

 

Thank you..!!

Related

How to handle the exceptions using recovery scenario manager in QTP?

VB script Error HandlingDurning run time, if QTP encounters any erorr then it will display the error...

Read More >

Deploying an Outlook 2010 Add-in Using C#.NET And Visual Studio 2010

How to deploy an Outlook 2010 Add-in Using C#.NET And Visual Studio 2010In the previous blog, we wal...

Read More >

Canarys is a finalist for 2014 Microsoft ALM partner of the year award from INDIA

Bangalore, Karnataka, India — May 29, 2014 — Canarys, today announced it has been named ...

Read More >

Creating Apps Using Phonegap Framework in IOS

Creating apps for different operating system is not a reliability so for reducing developr work for ...

Read More >

⚡ Angular — Protect your unsaved data

using CanDeactivate class route guard to prevent users from navigating with unsaved entries.

Read More >

Migrating TFS 2013 Version Control to TFS Git with changeset history

There are several articles on the web describing the migration technique with minimal details. This ...

Read More >

Webinar US - Plugging for Cloud, Right or Wrong?

Plugging for Cloud, Right or Wrong?Cloud computing continues to be one of the most advertising topic...

Read More >

Design Microsoft Dynamics Navision 2013R2 RDLC Report

What is RDLC Report?The Report Definition Language (RDL) Data is a report component that is used by ...

Read More >

TFS 2013 Build Template Customization

How to enable logging verbosity process parameter in build definition?Verbosity for a build will hel...

Read More >

Widespread Web Application Testing Checklist

While testing the web applications, one should consider the below mentioned checklist. The below men...

Read More >

Share

Post a Comment

  • Recent
  • Popular
  • Tag
Monthly Archive
Subscribe
Name

Contact Us
  • *
  • *