Bot Builder Community - JavaScript Extensions
This repository is part of the Bot Builder Community Project and contains Bot Builder Extensions for the JavaScript SDK, including middleware, dialogs, helpers and more. Other repos within the Bot Builder Community Project exist for extensions for .NET, Python, Java and tools - you can find our other repos under our GitHub organisation for the project.
To see a list of current extensions available for the Bot Builder JavaScript SDK, use the links below to jump to a section.
Installation
Each extension, such as middleware or recognizers, is available individually from NPM in the @botbuildercommunity
scope. See each individual component description for installation details and links.
Contributing and Reporting Issues
We welcome and encourage contributions to this project, in the form of bug fixes, enhancements or new extensions. Please fork the repo and raise a PR if you have something you would like us to review for inclusion. If you want to discuss an idea first then the best way to do this right now is to raise a GitHub issue or reach out to one of us on Twitter.
Storage
The following alternative storage implementations are currently available;
Name | Description | Sample? | NPM |
---|---|---|---|
Azure Table storage | Use Azure Table Storage in your bot. | ||
DynamoDB storage | Use DynamoDB storage implementation in your bot. | ||
MongoDB storage | Use MongoDB storage implementation in your bot. | ||
MS SQL storage | Use Microsoft SQL Server storage implementation in your bot. | Sample |
The Azure Table Storage package has been deprecated from Microsoft's
botbuilder-js
repository, and is being taken over by the community.
Dialogs and Prompts
The following dialogs are currently available;
Name | Description | Sample? | NPM |
---|---|---|---|
Dialog prompts | A variety of prompts using the Microsoft Recognizers Text suite, such as currency, temperature, age and dimension. | Sample |
Middleware
The following pieces of middleware are currently available;
Name | Description | Sample? | NPM |
---|---|---|---|
Activity Type middleware | Simple middleware component for intercepting and automatically handling messages based on activity type. | Sample | |
AWS Comprehend middleware | Use Amazon's AWS Comprehend for sentiment analysis, key phrases, language detection, and entity extraction. | Sample | |
Google Language middleware | Use Google Cloud Platform's Natural Language API for sentiment analysis, categories, and entity extraction. | Sample | |
Spell Check middleware | Use Cognitive Services Spell Check API to detect misspellings and correct these. | Sample | |
Text Analytics middleware | Use Cognitive Services Text Analytics API for sentiment analysis, language detection, key phrases and entity extraction. | Sample | |
Text Recognizer middleware | Use the Microsoft Recognizers Text Suite for recognizing certain text sequences. | ||
Watson NLU middleware | Use IBM Watson's NLU for sentiment analysis, key phrases, categories, concepts, emotion detection, and entity extraction. | Sample |
Adapters
The following adapters can be used to expose your bot on additional channels not supported by the Azure Bot Service, such as Twilio WhatsApp and Twitter.
Name | Description | Sample? | NPM |
---|---|---|---|
Alexa Adapter (preview) | A platform adapter for Amazon Alexa. Includes broad support for Alexa Skills capabilities, including devices with displays, Alexa Cards, access to user profile data and the ability to send Progressive Responses. | Sample | |
Console adapter | A platform adapter for the console / terminal. | ||
Twilio WhatsApp adapter | A platform adapter for Twilio WhatsApp. Includes support for proactive messaging, sending attachments and sending location messages. | Sample | |
Twitter adapter | A platform adapter for Twitter. Supports Twitter status updates and direct messages (DM's). | Sample |
The following packages are available from Botkit, and work with both the Bot Framework and Botkit.
Name | Description | NPM |
---|---|---|
botbuilder-adapter-facebook | A platform adapter for Facebook Messenger | |
botbuilder-adapter-hangouts | A platform adapter for Google | |
botbuilder-adapter-slack | A platform adapter for Slack | |
botbuilder-adapter-twilio-sms | A platform adapter for Twilio SMS | |
botbuilder-adapter-webex | A platform adapter for Webex Teams |