microsoft / botbuilder-js

Welcome to the Bot Framework SDK for JavaScript repository, which is the home for the libraries and packages that enable developers to build sophisticated bot applications using JavaScript.
https://github.com/Microsoft/botframework
MIT License
685 stars 281 forks source link
bot bot-framework bots js microsoft-bot-framework microsoft-cognitive-services nodejs sdk

Bot Framework SDK v4 for JavaScript

This repository contains code for the JavaScript version of the Microsoft Bot Framework SDK, which is part of the Microsoft Bot Framework - a comprehensive framework for building enterprise-grade conversational AI experiences.

This SDK enables developers to model conversation and build sophisticated bot applications using JavaScript. SDKs for .NET, Python and Java (preview) are also available.

To get started building bots using the SDK, see the Azure Bot Service Documentation. If you are an existing user, then you can also find out what's new with Bot Framework.

For more information jump to a section below.

Build Status

Branch Description Test Status Coverage Status Windows Bot Test Status Linux Bot Test Status Browser Functional Tests
main 4.15.x Tests Test Status Coverage Status Build Status Build Status Build Status

Packages

Name NPM Package
adaptive-expressions BotBuilder Badge
adaptive-expressions-ie11 BotBuilder Badge
botbuilder BotBuilder Badge
botbuilder-ai BotBuilder Badge
botbuilder-ai-orchestrator BotBuilder Badge
botbuilder-ai-luis BotBuilder Badge
botbuilder-ai-qna BotBuilder Badge
botbuilder-applicationinsights BotBuilder Badge
botbuilder-azure BotBuilder Badge
botbuilder-azure-blobs BotBuilder Badge
botbuilder-azure-queues BotBuilder Badge
botbuilder-core BotBuilder Badge
botbuilder-dialogs BotBuilder Badge
botbuilder-dialogs-adaptive BotBuilder Badge
botbuilder-dialogs-adaptive-runtime BotBuilder Badge
botbuilder-dialogs-adaptive-runtime-core BotBuilder Badge
botbuilder-dialogs-adaptive-runtime-integration-express BotBuilder Badge
botbuilder-dialogs-adaptive-runtime-integration-azure-functions BotBuilder Badge
botbuilder-dialogs-adaptive-runtime-integration-restify BotBuilder Badge
botbuilder-dialogs-adaptive-testing BotBuilder Badge
botbuilder-dialogs-declarative BotBuilder Badge
botbuilder-lg BotBuilder Badge
botbuilder-stdlib BotBuilder Badge
botbuilder-testing BotBuilder Badge
botframework-config BotBuilder Badge
botframework-connector BotBuilder Badge
botframework-schema BotBuilder Badge
botframework-streaming BotBuilder Badge

To view package interdependencies, see the dependency graph.

Getting Started

To get started building bots using the SDK, see the Azure Bot Service Documentation.

The Bot Framework Samples includes a rich set of samples repository.

If you want to debug an issue, would like to contribute, or understand how the Bot Builder SDK works, instructions for building and testing the SDK are below.

Prerequisites

Clone

Clone a copy of the repo:

git clone https://github.com/microsoft/botbuilder-js.git

Change to the SDK's directory:

cd botbuilder-js

Build and test locally

Install the prerequisites.

yarn

Then use the following command to build the SDK.

yarn build

Running unit tests

Use the following command to run the unit tests.

yarn test

The prep-test.cmd command is run to install test keys and start the Azure Storage Emulator if its installed. Any unit tests needing test keys or the storage emulator are designed to be skipped if their dependencies are missing so most developers won't need to worry about running this command.

If you have a need to re-generate the LUIS or connector clients using the latest swagger you'll need to install autorest (requires Node 7.10.0 or higher), which you can do with the following command.

yarn global add global autorest

Getting support and providing feedback

Below are the various channels that are available to you for obtaining support and providing feedback. Please pay carful attention to which channel should be used for which type of content. e.g. general "how do I..." questions should be asked on Stack Overflow, Twitter or Gitter, with GitHub issues being for feature requests and bug reports.

Github issues

Github issues should be used for bugs and feature requests.

Stack overflow

Stack Overflow is a great place for getting high-quality answers. Our support team, as well as many of our community members are already on Stack Overflow providing answers to 'how-to' questions.

Azure Support

If you issues relates to Azure Bot Service, you can take advantage of the available Azure support options.

Twitter

We use the @msbotframework account on twitter for announcements and members from the development team watch for tweets for @msbotframework.

Gitter Chat Room

The Gitter Channel provides a place where the Community can get together and collaborate.

Contributing and our code of conduct

We welcome contributions and suggestions. Please see our contributing guidelines for more information.

This project has adopted the Microsoft Open Source Code of Conduct. For more information see the Code of Conduct FAQ or contact opencode@microsoft.com with any additional questions or comments.

Reporting Security Issues

Security issues and bugs should be reported privately, via email, to the Microsoft Security Response Center (MSRC) at secure@microsoft.com. You should receive a response within 24 hours. If for some reason you do not, please follow up via email to ensure we received your original message. Further information, including the MSRC PGP key, can be found in the Security TechCenter.

Copyright (c) Microsoft Corporation. All rights reserved.

Licensed under the MIT License.