Home

Awesome

Build Status

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;

NameDescriptionSample?NPM
Azure Table storageUse Azure Table Storage in your bot.NPM Version
DynamoDB storageUse DynamoDB storage implementation in your bot.NPM Version
MongoDB storageUse MongoDB storage implementation in your bot.NPM Version
MS SQL storageUse Microsoft SQL Server storage implementation in your bot.SampleNPM Version

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;

NameDescriptionSample?NPM
Dialog promptsA variety of prompts using the Microsoft Recognizers Text suite, such as currency, temperature, age and dimension.SampleNPM Version

Middleware

The following pieces of middleware are currently available;

NameDescriptionSample?NPM
Activity Type middlewareSimple middleware component for intercepting and automatically handling messages based on activity type.SampleNPM Version
AWS Comprehend middlewareUse Amazon's AWS Comprehend for sentiment analysis, key phrases, language detection, and entity extraction.SampleNPM Version
Google Language middlewareUse Google Cloud Platform's Natural Language API for sentiment analysis, categories, and entity extraction.SampleNPM Version
Spell Check middlewareUse Cognitive Services Spell Check API to detect misspellings and correct these.SampleNPM Version
Text Analytics middlewareUse Cognitive Services Text Analytics API for sentiment analysis, language detection, key phrases and entity extraction.SampleNPM Version
Text Recognizer middlewareUse the Microsoft Recognizers Text Suite for recognizing certain text sequences.NPM Version
Watson NLU middlewareUse IBM Watson's NLU for sentiment analysis, key phrases, categories, concepts, emotion detection, and entity extraction.SampleNPM Version

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.

NameDescriptionSample?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.SampleNPM Version
Console adapterA platform adapter for the console / terminal.NPM Version
Twilio WhatsApp adapterA platform adapter for Twilio WhatsApp. Includes support for proactive messaging, sending attachments and sending location messages.SampleNPM Version
Twitter adapterA platform adapter for Twitter. Supports Twitter status updates and direct messages (DM's).SampleNPM Version

The following packages are available from Botkit, and work with both the Bot Framework and Botkit.

NameDescriptionNPM
botbuilder-adapter-facebookA platform adapter for Facebook MessengerNPM Version
botbuilder-adapter-hangoutsA platform adapter for GoogleNPM Version
botbuilder-adapter-slackA platform adapter for SlackNPM Version
botbuilder-adapter-twilio-smsA platform adapter for Twilio SMSNPM Version
botbuilder-adapter-webexA platform adapter for Webex TeamsNPM Version