Developers writing bots all face the same problems:
You can create a bot with any programming language by using the Bot Framework REST API. There are three REST APIs in the Bot Framework:.
Channel : A channel is the connection between the Bot Framework and communication apps such as Skype, Slack, Facebook Messenger, Office 365 mail, and others. Use the Developer Portal to configure each channel you want the bot to be available on. The Skype and web chat channels are automatically pre-configured.
Bot Connector : The Bot Connector service connects a bot to one or more channels and handles the message exchange between them. This connecting service allows the bot to communicate over many channels without manually designing a specific message for each channel's schema.
Activity : The Bot Connector uses an
activity object to exchange information between bot and channel. Any communication going back and forth is an
activity of some type.
Message : A
message is the most common type of activity. A message can be as simple as a text string or contain attachments, interactive elements, and rich cards.
Dialog : 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.
Rich cards : A rich card comprises a title, description, link, and images.
The Bot Framework Emulator is a desktop application that allows developers to test and debug their bots.
Language Understanding Intelligent Service (LUIS) : is able to process natural language using pre-built or custom-trained language models.
Text Analytics API : detects sentiment, key phrases, topics, and language from text.
Bing Spell Check API : provides powerful spell check capabilities, and is able to recognize the difference between names, brand names, and slang.
Linguistic Analysis API : uses advanced linguistic analysis algorithms to process text, and perform operations such as breaking down the structure of the text, or performing part-of-speech tagging and parsing.
Web Language Model (WebLM) API : can be used to automate a variety of natural language processing tasks, such as word frequency or next-word prediction, using advanced language modeling algorithms.