CHAPTER 2 ■ SETTING UP THE DEVELOPER ENVIRONMENT
14
Botframework
In Chapter 1, we went through the messaging platforms (Facebook Messenger, Skype,
Slack, Kik, Telegram, etc.) that have opened their platform to deploying chatbots.
Each platform has its own set of APIs to integrate to be able to receive and send messages.
The platforms have adopted similar UI elements. For example, Facebook has cards,
whereas Skype has carousels. These are similar UI elements from a user’s perspective, but
the naming convention is different from a developer’s perspective.
There are two ways to proceed further with the book.
• You can choose to build the integration for each platform where
you want to deploy your chatbot.
• You can go with an existing solution that already integrates with
the messaging platforms.
Building an integration for each of the platforms is complex and time-consuming.
Hence, for the rest of the book, we will go with the second option and use Botframework
from Microsoft.
Botframework helps connect your chatbot to various platforms with just the click
of a button. Botframework does the heavy lifting of integrating to all open messaging
platforms (Facebook, Skype, Microsoft Teams, Slack, Kik, etc.) and provides a simple-to-
use interface through a NodeJS SDK, C# SDK, and REST APIs to be integrated by your
chatbot application. To follow along with this book, you will be using NodeJS as the
primary programming language to build your chatbots. We will go through both NodeJS
SDK and REST APIs to integrate with Botframework. You will need a Microsoft Live ID to
sign up for Botframework services. Please note that the Botframework service is free to
use, and you do not need to enter your credit card information.
In the next chapter, we will go through the basics of bot building, including some of
the concepts around intents and entities. Also, we will be using Luis.AI, which is already
integrated with Botframework, to reduce some of the hassle of building intelligent bots.
Luis is an acronym that stands for Language Understanding Intelligent Service; it is a
product from Microsoft and is offered as an API for language understanding. Developers
integrate to Luis using the REST API provided and then pass each incoming request to
Luis, which responds to the chatbot with the intent and entities that were identified.
You’ll learn more about this in Chapter 3.
Local Installation
Moving forward, you will be developing your chatbot on your local development
machine. This will enable you to build the chatbot faster because you can use your
favorite text editor and can debug the code easily. Once you have completed the current
implementation, you can replicate the setup on a server and have the bot run perpetually.
In general, it is always a good practice to build and test locally before pushing the changes
to a production environment, so we will follow this methodology here.