Click here to Skip to main content
15,867,568 members
Articles / Programming Languages / C#
Article

Bot Suite

Rate me:
Please Sign up or sign in to vote.
1.35/5 (16 votes)
24 Aug 2008LGPL36 min read 93.8K   877   31   33
Bot Suite is a collection of utilities provided to create, schedule and run the chat bots. Bot suite consists of three applications i.e. Bot Studio, Bot Engine & MyMessenger. Bot suite provides the solution for the automated conversation using these applications. We will see their usage here.

Sample image

Introduction

Now a days concept of chat bots is getting very popular. In this article we will see what are these chat bots and for what purpose these chat bots are used. This article will provide answers to the following questions

  • What are chat bots and why Chat bots are used?
  • What is Bot Suite?
  • How to create these bots using bot suite?
  • How to schedule & run custom bots using bot suite?
  • How to chat with multiple messengers using bot suite?
  • How to provide automated conversation on a website using bot suite?

Chat bots

Now a days there are many messengers available using which one can chat with other online users. Instant messaging is getting professional focus and now it is not used for entertainment only. Microsoft launched Microsoft Office Live Communication server for the same purpose. This server basically provides instant messaging in an organization. One of the hottest feauters of Microsoft Office live communication server is the ability to chat with multiple types of messengers e.g. Yahoo, AOL, ICQ etc.

In these busy days and due to different timings of work one cannot be always available for communication. So what will happenened when a user want to ask something from another user or want to provide some help or information to other user using instant messaging when the other user is not available(offline). To solve the issue there came the concept of custom chat bots. The idea is to create a chat bot to collect or provide information to other side through chatting when ever the other side is available.

About Bot Suite

Bot Suite is a collection of utilities provided to create, schedule and run the chat bots. Bot suite consists of three applications i.e. Bot Studio, MyMessenger & MyWebAssembly. Bot suite provides the solution for the automated conversation using these applications. We will see here the usage of these applications in different scenarios.

The main pupose of botsuite is to have a bot(taken from robot also known as chat bot) trained by you to communicate on your behalf with other users when ever he came online. Or create a bot to provide help/information to other users when you are not available & log all the chat for you. You can create these bots very easily without writing a single programming statement using bot studio.

Bot studio provides you the easy to use environment using which you can create bots. This studio is a GUI based editor for creation of bots. The creation of bots is a very sigmple and straight forward procedure.You can create two types of bots i.e. QA bot & Helper bot using bot studio. As it is clear from QA name that this bot will have some questions & answers to be delivered, based on the responses of end user. To create a QA bot, you add a question in the bot & then add keywords based on which next question will be asked. When a user responds to a question, it's response is matched with the keywords & then next question is asked. All this procedure is GUI based and you will be watching what you are desinging.

BotStudio2.jpg

The creation of Helper bot is same as QA bot however Helper bot has a different flow then QA bot. When responding to a user Helper bot checks for the best possible response. Sample bots are available with bot sudio for help. You can also chat with your created bots and can test them during their creation using bot studio. You can also debug your bots using bot studio.

Once you have created a bot you need to run it to chat with some end user. One problem arises that what type of mesenger the end user have to use in order to communicate with your bot. If your bot cannot chat with mesengers like MSN, Yahoo , Google Talk, ICQ, AOL then you cannot deploy it in a professional environment. But how you can communicate with all types of these messengers. MYMessenger give you the solution. MyMessenger not only schedule and runs your bot but also makes the communcation possible between all types of above mentioned messengers & your bot.

Sample Image - MyMessenger.jpg

You tell MyMessenger about the end user and the bot then MyMessenger makes the conversation possible between end user and your created bot. MyMessenger also logs all the conversation for you. MyMessenger is based on jabber protocol so you need a jabber account to use it. Getting a jabber account is very easy. There is an option of register account in MyMessenger using which you will create an account on jabber with in no time. You can use any jabber server for your account e.g. user1@12jabber.com, user1@jabber.com, user1@myjabber.net

As discussed above you can create two types of bots. QA bot is usually used to engage a specific end user for the collection of information. Helper bot is used to provide help or information. Helper bot is different with QA bot as Helper bot looks for the best possible reply. Helper bot can be used to provide help of a specific topic as FAQ provides help about a company. Helper bot is also different in the sense that once set by a user when he is busy or want to provide information, your helper bot will respond to all incoming messages.

The third part of botsuite is Bot Engine. Bot Engine is used to execute a bot. You can use Bot Engine to run your created bots on web or on your customized environment/application. You can create a link on your website such as "Talk with our customer respresentative" and behind the scene it will be your created bot talking with the viewer. This will not only provide information to the viewer in an interactive manner but also provide the information in little time and will save the time of viewer. As the concept of providing information through bots is a new one so deploying this concept in your website will also increase the number of visitors on your website.

The syntax of initializing the bot and getting responses is as simple as

bot = new Bot(botPath);
bot.initialize();
string botResponse = bot.GetMessage();    //initialize the bot
                                               //when a new user
                                               //start chat
string botMessage =bot.GetMessage(userMessage);   //one line to call
                                               //whenever the user
                                               //will respond to you.

then simply sent the botMessage back to user. Pass the next response of user to the same function and get the next response of bot. This procedure will continue as long as the end user is responding.

There is a sample along with Bot Suite named "sample_helper" that is based on the FAQ of an organization. You can debug the sample to understand the working of bot. Also you will get the idea how to make a bot for your website. A sample web site is also available that chats with user to provide/collect information from him.

Bot suite is a complete solution to automated conversation. You can deploy it using instant messenger or you can deploy it on your website. You can download the latest bot suite from http://www.sourceforge.net/projects/botsuit. Please visit the forums of Bot Suite for assisstance. All comments, bugs and feature enhancements are warmly welcomed.

License

This article, along with any associated source code and files, is licensed under The GNU Lesser General Public License (LGPLv3)


Written By
Web Developer
Pakistan Pakistan
Mansoor Sarfraz works in a well reputed multinational software development company. Software development is not only his duty but his passion too. In his professional career he was Involved in the development of resource/content management system, workflow based systems, enterprise projects based on MS Windows DNA architecture and .NET framework, web based rich client UI development, Rest based backend web services and windows services for different systems. He was also involved in software designing and architecture. He has expertise in C#.NET, ASP.NET, Sql Server, Adobe Flex, Java, Ajax and JavaScript.

You can reach him through his blog
http://mansoorsarfraz.blogspot.com

Comments and Discussions

 
GeneralProxySettings Pin
vladinir14-May-07 9:18
vladinir14-May-07 9:18 
AnswerRe: ProxySettings [modified] Pin
Mansoor Sarfraz16-May-07 19:01
Mansoor Sarfraz16-May-07 19:01 
QuestionRe: ProxySettings Pin
gorina198320-May-08 5:41
gorina198320-May-08 5:41 
AnswerRe: ProxySettings [modified] Pin
Mansoor Sarfraz21-May-08 17:57
Mansoor Sarfraz21-May-08 17:57 
GeneralRe: ProxySettings Pin
gorina198321-May-08 21:09
gorina198321-May-08 21:09 
AnswerRe: ProxySettings [modified] Pin
Mansoor Sarfraz24-May-08 6:48
Mansoor Sarfraz24-May-08 6:48 
NewsRe: ProxySettings Pin
Mansoor Sarfraz15-Jun-08 20:08
Mansoor Sarfraz15-Jun-08 20:08 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.