From 2f832d32c504d089382855566d9a4104e8932ef8 Mon Sep 17 00:00:00 2001 From: Open Publishing Build Robots Date: Tue, 15 Jan 2019 07:33:10 +0800 Subject: [PATCH] Resolve syncing conflicts from live-sync-work to live (#705) --- articles/bot-builder-reference-overview.md | 14 ++-- articles/bot-builder-samples.md | 6 +- articles/bot-builder-tools-az-cli.md | 8 +- articles/bot-builder-tools.md | 6 +- .../bot-builder-tutorial-authentication.md | 5 +- articles/bot-service-channel-connect-email.md | 4 +- articles/bot-service-debug-bot.md | 75 +++++++----------- articles/bot-service-debug-cortana-skill.md | 4 +- .../bot-service-design-conversation-flow.md | 5 +- ...t-service-design-pattern-embed-web-site.md | 2 +- ...ot-service-design-pattern-handoff-human.md | 2 +- ...ervice-design-pattern-integrate-browser.md | 2 +- ...t-service-design-pattern-knowledge-base.md | 6 +- ...-service-design-pattern-task-automation.md | 4 +- articles/bot-service-manage-channels.md | 2 +- articles/bot-service-overview-introduction.md | 17 ++-- articles/bot-service-overview-readme.md | 6 +- .../bot-service-quickstart-registration.md | 4 +- articles/bot-service-quickstart.md | 7 +- ...bot-service-resources-bot-framework-faq.md | 4 +- articles/bot-service-resources-links-help.md | 2 +- .../bot-service-resources-upgrade-to-v3.md | 8 +- ...ce-troubleshoot-authentication-problems.md | 29 ++++--- ...t-service-troubleshoot-general-problems.md | 22 ++--- articles/dotnet/TOC.md | 2 +- .../dotnet/bot-builder-dotnet-activities.md | 6 +- .../bot-builder-dotnet-add-input-hints.md | 4 +- ...ot-builder-dotnet-add-media-attachments.md | 2 +- ...uilder-dotnet-add-rich-card-attachments.md | 2 +- ...ot-builder-dotnet-add-suggested-actions.md | 2 +- .../dotnet/bot-builder-dotnet-audio-calls.md | 8 +- .../dotnet/bot-builder-dotnet-channeldata.md | 2 +- .../dotnet/bot-builder-dotnet-concepts.md | 24 +++--- .../dotnet/bot-builder-dotnet-connector.md | 10 +-- .../bot-builder-dotnet-cortana-skill.md | 10 +-- .../bot-builder-dotnet-create-messages.md | 4 +- articles/dotnet/bot-builder-dotnet-dialogs.md | 12 +-- .../bot-builder-dotnet-formflow-advanced.md | 4 +- ...bot-builder-dotnet-formflow-formbuilder.md | 4 +- ...bot-builder-dotnet-formflow-json-schema.md | 4 +- .../bot-builder-dotnet-formflow-localize.md | 4 +- ...uilder-dotnet-formflow-pattern-language.md | 4 +- .../dotnet/bot-builder-dotnet-formflow.md | 6 +- .../bot-builder-dotnet-global-handlers.md | 8 +- .../dotnet/bot-builder-dotnet-luis-dialogs.md | 4 +- ...builder-dotnet-manage-conversation-flow.md | 8 +- .../dotnet/bot-builder-dotnet-middleware.md | 8 +- .../dotnet/bot-builder-dotnet-overview.md | 24 +++--- .../bot-builder-dotnet-proactive-messages.md | 10 +-- .../dotnet/bot-builder-dotnet-quickstart.md | 20 ++--- ...net-real-time-audio-video-call-overview.md | 2 +- ...builder-dotnet-real-time-media-concepts.md | 4 +- ...der-dotnet-real-time-media-requirements.md | 2 +- .../bot-builder-dotnet-request-payment.md | 8 +- articles/dotnet/bot-builder-dotnet-samples.md | 10 +-- .../bot-builder-dotnet-scorable-dialogs.md | 2 +- .../bot-builder-dotnet-sdk-quickstart.md | 10 +-- .../dotnet/bot-builder-dotnet-search-azure.md | 4 +- .../dotnet/bot-builder-dotnet-security.md | 4 +- ...bot-builder-dotnet-state-azure-cosmosdb.md | 2 +- ...uilder-dotnet-state-azure-table-storage.md | 2 +- articles/dotnet/bot-builder-dotnet-state.md | 6 +- .../bot-builder-dotnet-text-to-speech.md | 6 +- .../includes/snippet-abs-hosting-plans.md | 2 +- .../snippet-dotnet-formflow-samples.md | 2 +- .../includes/snippet-message-logging-intro.md | 2 +- .../snippet-tip-bot-config-settings.md | 4 +- ...nippet-verify-deployment-using-emulator.md | 2 +- articles/index.md | 4 +- articles/java/bot-builder-java-samples.md | 8 +- .../bot-builder-javascript-quickstart.md | 10 +-- .../bot-builder-javascript-samples.md | 6 +- articles/media/channels/kik-creds.png | Bin 16634 -> 13023 bytes articles/nodejs/TOC.md | 2 +- .../nodejs/bot-builder-nodejs-backchannel.md | 2 +- .../nodejs/bot-builder-nodejs-concepts.md | 18 ++--- .../bot-builder-nodejs-cortana-skill.md | 6 +- .../bot-builder-nodejs-dialog-actions.md | 4 +- ...-nodejs-dialog-manage-conversation-flow.md | 8 +- .../bot-builder-nodejs-dialog-overview.md | 8 +- .../bot-builder-nodejs-dialog-prompt.md | 6 +- .../bot-builder-nodejs-dialog-replace.md | 6 +- .../bot-builder-nodejs-dialog-waterfall.md | 4 +- ...ilder-nodejs-handle-conversation-events.md | 2 +- .../bot-builder-nodejs-intercept-messages.md | 6 +- .../nodejs/bot-builder-nodejs-localization.md | 4 +- .../bot-builder-nodejs-message-create.md | 4 +- .../nodejs/bot-builder-nodejs-overview.md | 18 ++--- .../bot-builder-nodejs-proactive-messages.md | 8 +- .../nodejs/bot-builder-nodejs-quickstart.md | 16 ++-- ...ot-builder-nodejs-recognize-intent-luis.md | 2 +- ...uilder-nodejs-recognize-intent-messages.md | 4 +- .../bot-builder-nodejs-request-payment.md | 6 +- articles/nodejs/bot-builder-nodejs-samples.md | 10 +-- .../nodejs/bot-builder-nodejs-search-azure.md | 6 +- .../bot-builder-nodejs-send-input-hints.md | 6 +- ...builder-nodejs-send-receive-attachments.md | 2 +- .../bot-builder-nodejs-send-rich-cards.md | 2 +- ...t-builder-nodejs-send-suggested-actions.md | 2 +- ...ot-builder-nodejs-send-typing-indicator.md | 2 +- ...bot-builder-nodejs-state-azure-cosmosdb.md | 2 +- ...uilder-nodejs-state-azure-table-storage.md | 2 +- articles/nodejs/bot-builder-nodejs-state.md | 6 +- .../bot-builder-nodejs-text-to-speech.md | 8 +- articles/nodejs/cortana-skill-concepts.md | 4 +- articles/python/bot-builder-python-samples.md | 10 +-- ...framework-rest-connector-authentication.md | 6 +- .../bot-framework-rest-connector-concepts.md | 6 +- .../rest-api/bot-framework-rest-overview.md | 6 +- articles/v4sdk/bot-builder-authentication.md | 4 +- articles/v4sdk/bot-builder-basics.md | 8 +- articles/v4sdk/bot-builder-channeldata.md | 2 +- articles/v4sdk/bot-builder-compositcontrol.md | 2 +- articles/v4sdk/bot-builder-concept-dialog.md | 4 +- .../v4sdk/bot-builder-concept-middleware.md | 3 +- articles/v4sdk/bot-builder-concept-state.md | 2 +- articles/v4sdk/bot-builder-conversations.md | 10 +-- .../v4sdk/bot-builder-create-middleware.md | 2 +- articles/v4sdk/bot-builder-custom-storage.md | 4 +- ...dialog-manage-complex-conversation-flow.md | 2 +- ...builder-dialog-manage-conversation-flow.md | 2 +- articles/v4sdk/bot-builder-dialog-state.md | 4 +- ...ot-builder-enterprise-template-overview.md | 2 +- .../bot-builder-howto-add-input-hints.md | 4 +- ...bot-builder-howto-add-media-attachments.md | 6 +- ...bot-builder-howto-add-suggested-actions.md | 2 +- .../v4sdk/bot-builder-howto-direct-line.md | 10 ++- .../v4sdk/bot-builder-howto-send-messages.md | 2 +- articles/v4sdk/bot-builder-howto-v4-luis.md | 2 +- .../v4sdk/bot-builder-howto-v4-luisgen.md | 2 +- articles/v4sdk/bot-builder-howto-v4-state.md | 2 +- .../v4sdk/bot-builder-howto-v4-storage.md | 2 +- .../v4sdk/bot-builder-primitive-prompts.md | 2 +- articles/v4sdk/bot-builder-prompts.md | 2 +- articles/v4sdk/bot-builder-service-file.md | 6 +- articles/v4sdk/bot-builder-storage-concept.md | 6 +- .../v4sdk/bot-builder-tutorial-dispatch.md | 7 +- ...ot-builder-tutorial-persist-user-inputs.md | 4 +- .../v4sdk/bot-builder-tutorial-waterfall.md | 2 +- articles/v4sdk/bot-file-basics.md | 12 ++- .../BotFrameworkAdapter.xml | 2 +- rest/docfx.json | 3 +- 142 files changed, 447 insertions(+), 438 deletions(-) diff --git a/articles/bot-builder-reference-overview.md b/articles/bot-builder-reference-overview.md index 0540daf40..bfbb24cb0 100644 --- a/articles/bot-builder-reference-overview.md +++ b/articles/bot-builder-reference-overview.md @@ -14,17 +14,17 @@ monikerRange: 'azure-bot-service-3.0' [!INCLUDE [pre-release-label](./includes/pre-release-label-v3.md)] -The Bot Framework includes comprehensive reference documentation for the Bot Builder SDK for .NET, the Bot Builder SDK for Node.js, and the Bot Framework REST APIs. +The Bot Framework includes comprehensive reference documentation for the Bot Framework SDK for .NET, the Bot Framework SDK for Node.js, and the Bot Framework REST APIs. -## Bot Builder SDK for .NET -To learn about the structure of the Bot Builder SDK for .NET, see the [Bot Builder SDK for .NET reference documentation](/dotnet/api/). +## Bot Framework SDK for .NET +To learn about the structure of the Bot Framework SDK for .NET, see the [Bot Framework SDK for .NET reference documentation](/dotnet/api/). -You can also explore the Bot Builder SDK for .NET [source code](https://github.com/Microsoft/BotBuilder/tree/master/CSharp) on GitHub. +You can also explore the Bot Framework SDK for .NET [source code](https://github.com/Microsoft/BotBuilder/tree/master/CSharp) on GitHub. -## Bot Builder SDK for Node.js -To learn about the structure of the Bot Builder SDK for Node.js, see the [Bot Builder SDK for Node.js reference documentation](https://docs.botframework.com/en-us/node/builder/calling-reference/modules/_botbuilder_d_.html). +## Bot Framework SDK for Node.js +To learn about the structure of the Bot Framework SDK for Node.js, see the [Bot Framework SDK for Node.js reference documentation](https://docs.botframework.com/en-us/node/builder/calling-reference/modules/_botbuilder_d_.html). -You can also explore the Bot Builder SDK for Node.js [source code](https://github.com/Microsoft/BotBuilder/tree/master/Node) on GitHub. +You can also explore the Bot Framework SDK for Node.js [source code](https://github.com/Microsoft/BotBuilder/tree/master/Node) on GitHub. ## Bot Framework REST APIs To learn about the Bot Connector service, see the [Bot Framework REST API reference documentation](~/rest-api/bot-framework-rest-connector-api-reference.md). diff --git a/articles/bot-builder-samples.md b/articles/bot-builder-samples.md index 56216992c..06a7ffcfd 100644 --- a/articles/bot-builder-samples.md +++ b/articles/bot-builder-samples.md @@ -1,6 +1,6 @@ --- -title: Sample bots for Bot Builder SDK | Microsoft Docs -description: Explore a large selection of sample bots that can help kickstart your bot development with the Bot Builder SDK. +title: Sample bots for Bot Framework SDK | Microsoft Docs +description: Explore a large selection of sample bots that can help kickstart your bot development with the Bot Framework SDK. author: jonathanfingold ms.author: jonathanfingold manager: kamrani @@ -11,7 +11,7 @@ ms.date: 09/19/2018 monikerRange: 'azure-bot-service-4.0' --- -# Bot Builder SDK samples repo +# Bot Framework SDK samples repo [!INCLUDE [pre-release-label](includes/pre-release-label.md)] Samples in the Bot Builder Samples repo demonstrate task-focused bots that show how to take advantage of features provided in diff --git a/articles/bot-builder-tools-az-cli.md b/articles/bot-builder-tools-az-cli.md index a5a6f7df2..23a2036b7 100644 --- a/articles/bot-builder-tools-az-cli.md +++ b/articles/bot-builder-tools-az-cli.md @@ -30,7 +30,7 @@ To use these tools from the command line, you will need Node.js installed to you ## 1. Install tools 1. [Install](https://docs.microsoft.com/en-us/cli/azure/install-azure-cli?view=azure-cli-latest) latest version of the Azure CLI. -2. [Install](https://aka.ms/botbuilder-tools-readme) Bot Builder tools. +2. [Install](https://aka.ms/botbuilder-tools-readme) Bot Framework Tools. You can now manage bots using Azure CLI like any other Azure resource. @@ -155,10 +155,10 @@ This will take current endpoint, MSA appID and password from the target resource ## 5. Manage, Update or Create LUIS and QnA services with new botbuilder-tools -[Bot builder tools](https://aka.ms/botbuilder-tools) is a new toolset which allows you to manage and interact with your bot resources directly from the command line. +[Bot Framework Tools](https://aka.ms/botbuilder-tools) is a new toolset which allows you to manage and interact with your bot resources directly from the command line. >[!TIP] -> Every bot builder tool includes a global help command, accessible from the command line by entering **-h** or **--help**. This command is available at any time from any action, which will provide a helpful display of the options available to you along with their descriptions. +> Every Bot Framework Tool includes a global help command, accessible from the command line by entering **-h** or **--help**. This command is available at any time from any action, which will provide a helpful display of the options available to you along with their descriptions. ### LUDown @@ -328,5 +328,5 @@ az bot publish --name "my-bot-name" --resource-group "my-resource-group" ``` ## References -- [Bot Builder Tools](https://aka.ms/botbuilder-tools-readme) +- [Bot Framework Tools](https://aka.ms/botbuilder-tools-readme) - [Azure CLI](https://docs.microsoft.com/en-us/cli/azure/install-azure-cli?view=azure-cli-latest) diff --git a/articles/bot-builder-tools.md b/articles/bot-builder-tools.md index 8ebd7704b..ae7fcaf3c 100644 --- a/articles/bot-builder-tools.md +++ b/articles/bot-builder-tools.md @@ -1,6 +1,6 @@ --- title: Manage bots using CLI tools -description: Bot builder tools allows you to manage your bot resources directly from the command line +description: Bot Framework Tools allows you to manage your bot resources directly from the command line keywords: botbuilder templates, ludown, qna, luis, msbot, manage, cli, .bot, bot author: ivorb ms.author: v-ivorb @@ -14,7 +14,7 @@ monikerRange: 'azure-bot-service-4.0' # Manage bots using CLI tools -Bot Builder tools cover end-to-end bot development workflow that includes planning, building, testing, publishing, connecting, and evaluation phase. Let's see how these tools can help you with each phase of the development cycle. +Bot Framework Tools cover end-to-end bot development workflow that includes planning, building, testing, publishing, connecting, and evaluation phase. Let's see how these tools can help you with each phase of the development cycle. ## Plan @@ -316,7 +316,7 @@ Group ``` ## Additional information -- [Bot Builder tools on GitHub][cliTools] +- [Bot Framework Tools on GitHub][cliTools] diff --git a/articles/bot-builder-tutorial-authentication.md b/articles/bot-builder-tutorial-authentication.md index 2ebd0fdd9..a091389c5 100644 --- a/articles/bot-builder-tutorial-authentication.md +++ b/articles/bot-builder-tutorial-authentication.md @@ -6,6 +6,7 @@ ms.author: JonathanFingold manager: kamrani ms.topic: article ms.service: bot-service +ROBOTS: NOINDEX ms.date: 10/04/2018 monikerRange: 'azure-bot-service-3.0' --- @@ -27,7 +28,7 @@ The features include: - Improvements to the channels to support new authentication features, such as new WebChat and DirectLineJS libraries to eliminate the need for the 6-digit magic code verification. - Improvements to the Azure Portal to add, delete, and configure connection settings to various OAuth identity providers. - Support for a variety of out-of-the-box identity providers including Azure AD (both v1 and v2 endpoints), GitHub, and others. -- Updates to the C# and Node.js Bot Builder SDKs to be able to retrieve tokens, create OAuthCards and handle TokenResponse events. +- Updates to the C# and Node.js Bot Framework SDKs to be able to retrieve tokens, create OAuthCards and handle TokenResponse events. - Samples for how to make a bot that authenticates to Azure AD (v1 and v2 endpoints) and to GitHub. You can extrapolate from the steps in this article to add such features to an existing bot. The following are sample bots that demonstrate the new authentication features @@ -360,4 +361,4 @@ else if(message.Type == ActivityTypes.Event) } ``` ## Additional resources -[Bot Builder SDK](https://github.com/microsoft/botbuilder) +[Bot Framework SDK](https://github.com/microsoft/botbuilder) diff --git a/articles/bot-service-channel-connect-email.md b/articles/bot-service-channel-connect-email.md index 1b1f5c4c6..15b688737 100644 --- a/articles/bot-service-channel-connect-email.md +++ b/articles/bot-service-channel-connect-email.md @@ -71,11 +71,11 @@ see [how to implement channel-specific functionality](~/v4sdk/bot-builder-channe ::: moniker range="azure-bot-service-3.0" * Connect a bot to [channels](~/bot-service-manage-channels.md) -* [Implement channel-specific functionality](dotnet/bot-builder-dotnet-channeldata.md) with the Bot Builder SDK for .NET +* [Implement channel-specific functionality](dotnet/bot-builder-dotnet-channeldata.md) with the Bot Framework SDK for .NET * Use the [Channel Inspector](bot-service-channel-inspector.md) to see how a channel renders a particular feature of your bot application ::: moniker-end ::: moniker range="azure-bot-service-4.0" * Connect a bot to [channels](~/bot-service-manage-channels.md) -* [Implement channel-specific functionality](~/v4sdk/bot-builder-channeldata.md) with the Bot Builder SDK for .NET +* [Implement channel-specific functionality](~/v4sdk/bot-builder-channeldata.md) with the Bot Framework SDK for .NET * Use the [Channel Inspector](bot-service-channel-inspector.md) to see how a channel renders a particular feature of your bot application ::: moniker-end diff --git a/articles/bot-service-debug-bot.md b/articles/bot-service-debug-bot.md index a19cfac19..a19b04357 100644 --- a/articles/bot-service-debug-bot.md +++ b/articles/bot-service-debug-bot.md @@ -1,54 +1,49 @@ --- -title: Debug a bot built using Bot Service | Microsoft Docs +title: Debug a bot | Microsoft Docs description: Learn how to debug a bot built using Bot Service. author: v-ducvo ms.author: v-ducvo -keywords: Bot Builder SDK, continuous deployment, app service, emulator +keywords: Bot Framework SDK, debug bot, test bot, bot emulator, emulator manager: kamrani ms.topic: article ms.service: bot-service ms.subservice: sdk -ms.date: 07/13/2018 +ms.date: 11/13/2018 --- -# Debug a Bot Service bot +# Debug a bot -This article describes how to debug your bot using an integrated development environment (IDE) such as Visual Studio or Visual Studio Code and the Bot Framework Emulator. While you can use these methods to debug any bot locally, this article uses the **EchoBot** created through the article [Create a bot with Bot Service](bot-service-quickstart.md). +This article describes how to debug your bot using an integrated development environment (IDE) such as Visual Studio or Visual Studio Code and the Bot Framework Emulator. While you can use these methods to debug any bot locally, this article uses a [C#](~/dotnet/bot-builder-dotnet-sdk-quickstart.md) and [JS](~/javascript/bot-builder-javascript-quickstart.md) bot created in the quickstart. -## Debug a JavaScript bot +## Prerequisites +- Download and install the [Bot Framework Emulator](https://aka.ms/Emulator-wiki-getting-started). +- Download and install [Visual Studio Code](https://code.visualstudio.com) or [Visual Studio](https://www.visualstudio.com/downloads) (Community Edition or above). -Follow the steps in this section to debug a bot written in JavaScript. - -### Prerequisites - -Before you can debug your JavaScript bot, you must complete these tasks. - -- Download the source code for your bot (from Azure), as described in [download bot source code](bot-service-build-download-source-code.md). -- Download and install the [Bot Framework Emulator](https://github.com/Microsoft/BotFramework-Emulator/releases). -- Download and install a code editor such as Visual Studio Code. - -### Debug a JavaScript bot using command line and emulator +### Debug a JavaScript bot using command-line and emulator To run a JavaScript bot using the command line and testing the bot with the emulator, do the following: 1. From the command line, change directory to your bot project directory. -2. Start the bot by running the command **node app.js**. -3. Start the emulator and connect to the bot's endpoint (e.g.: **http://localhost:3978/api/messages**). If this is the first time you are running the bot then click **File > New Bot** and follow the instructions on screen. Otherwise, click **File > Open Bot** to open an existing bot. Since this bot is running locally on your computer, you can leave the **MSA app ID** and **MSA app password** fileds blank. For more information, see [Debug with the Emulator](bot-service-debug-emulator.md). -4. From the emulator, send your bot a message (e.g.: send the message "Hi"). -5. Use the **Inspector** and **Log** panels on the right side of the emulator window to debug your bot. For example, clicking on any of the messages bubble (e.g.: the "Hi" message bubble in the screenshot below) will show you the detail of that message in the **Inspector** panel. You can use it to view requests and responses as messages are exchanged between the emulator and the bot. Alternatively, you can click on any of the linked text in the **Log** panel to view the details in the **Inspector** panel. +1. Start the bot by running the command **node app.js**. +1. Start the emulator and connect to the bot's endpoint (e.g.: **http://localhost:3978/api/messages**). If this is the first time you are running +the bot then click **File > New Bot** and follow the instructions on screen. Otherwise, click **File > Open Bot** to open an existing bot. +Since this bot is running locally on your computer, you can leave the **MSA app ID** and **MSA app password** fileds blank. +For more information, see [Debug with the Emulator](bot-service-debug-emulator.md). +1. From the emulator, send your bot a message (e.g.: send the message "Hi"). +1. Use the **Inspector** and **Log** panels on the right side of the emulator window to debug your bot. For example, clicking on any of the messages bubble (e.g.: the "Hi" message bubble in the screenshot below) will show you the detail of that message in the **Inspector** panel. You can use it to view requests and responses as messages are exchanged between the emulator and the bot. Alternatively, you can click on any of the linked text in the **Log** panel to view the details in the **Inspector** panel. ![Inspector panel on the Emulator](~/media/bot-service-debug-bot/emulator_inspector.png) ### Debug a JavaScript bot using breakpoints in Visual Studio Code -Using an IDE like Visual Studio Code, you can set breakpoints and run the bot in debug mode to step through your code. To set breakpoints in VS Code, do the following: +In Visual Studio Code, you can set breakpoints and run the bot in debug mode to step through your code. To set breakpoints in VS Code, do the following: 1. Launch VS Code and open your bot project folder. 2. From the menu bar, click **Debug** and click **Start Debugging**. If you are prompted to select a runtime engine to run your code, select **Node.js**. At this point, the bot is running locally. - + 3. Set breakpoint as necesary. In VS Code, you can set breakpoints by hovering your mouse over the column to the left of the line numbers. A small red dot will appear. If you click on the dot, the breakpoint is set. If you click the dot again, the breakpoint is removed. ![Set breakpoint in VS Code](~/media/bot-service-debug-bot/breakpoint-set.png) @@ -58,39 +53,25 @@ Using an IDE like Visual Studio Code, you can set breakpoints and run the bot in ![Debug in VS Code](~/media/bot-service-debug-bot/breakpoint-caught.png) - -## Debug a C# bot - -Follow the steps in this section to debug a bot written in C#. - - -### Prerequisites - -Before you can debug your web app C# bot, you must complete these tasks. - -- Download the source code for your bot (from Azure), as described in [download bot source code](bot-service-build-download-source-code.md). -- Download and install the [Bot Framework Emulator](https://github.com/Microsoft/BotFramework-Emulator/releases). -- Download and install Visual Studio 2017 (Community Edition or above). - ### Debug a C# bot using breakpoints in Visual Studio -Using an IDE like Visual Studio (VS), you can set breakpoints and run the bot in debug mode to step through your code. To set breakpoints in VS, do the following: +In Visual Studio (VS), you can set breakpoints and run the bot in debug mode to step through your code. To set breakpoints in VS, do the following: 1. Navigate to your bot folder and open the **.sln** file. This will open the solution in VS. 2. From the menu bar, click **Build** and click **Build Solution**. -3. From the **Solution Explorer**, expand the **Dialogs** folder and click **EchoDialog.cs**. This file defines your main bot logic. -4. From the menu bar, click **Debug** and click **Start Debugging**. At this point, the bot is running locally. +3. In the **Solution Explorer**, click **EchoWithCounterBot.cs**. This file defines your main bot logic.Set breakpoint as necesary. In VS, you can set breakpoints by hovering your mouse over the column to the left of the line numbers. A small red dot will appear. If you click on the dot, the breakpoint is set. If you click the dot again, the breakpoint is removed. +5. From the menu bar, click **Debug** and click **Start Debugging**. At this point, the bot is running locally. + ![Set breakpoint in VS](~/media/bot-service-debug-bot/breakpoint-set-vs.png) -6. Start the Bot Framework Emulator and connect to your bot as described in the section above. -7. From the emulator, send your bot a message (e.g.: send the message "Hi"). Execution will stop at the line where you place the breakpoint. +7. Start the Bot Framework Emulator and connect to your bot as described in the section above. +8. From the emulator, send your bot a message (e.g.: send the message "Hi"). Execution will stop at the line where you place the breakpoint. ![Debug in VS](~/media/bot-service-debug-bot/breakpoint-caught-vs.png) @@ -105,7 +86,7 @@ The Consumption plan serverless C\# environment in Bot Service has more in commo Before you can debug your Consumption plan C# bot, you must complete these tasks. - Download the source code for your bot (from Azure), as described in [Set up continuous deployment](bot-service-continuous-deployment.md). -- Download and install the [Bot Framework Emulator](https://github.com/Microsoft/BotFramework-Emulator/releases). +- Download and install the [Bot Framework Emulator](https://aka.ms/Emulator-wiki-getting-started). - Install the Azure Functions CLI. - Install the DotNet CLI. @@ -152,4 +133,4 @@ Additionally, you can view log details in the console window. ## Next steps > [!div class="nextstepaction"] -> [Debug with the Emulator](bot-service-debug-emulator.md). +> [Debug your bot using transcript files](~/v4sdk/bot-builder-debug-transcript.md). diff --git a/articles/bot-service-debug-cortana-skill.md b/articles/bot-service-debug-cortana-skill.md index c67da1965..7f70a66d6 100644 --- a/articles/bot-service-debug-cortana-skill.md +++ b/articles/bot-service-debug-cortana-skill.md @@ -1,7 +1,7 @@ --- title: Test a Cortana skill | Microsoft Docs description: Learn how to test a Cortana bot by invoking a Cortana skill. -keywords: Bot Builder SDK, register your bot, cortana +keywords: Bot Framework SDK, register your bot, cortana author: v-ducvo manager: kamrani ms.topic: article @@ -14,7 +14,7 @@ monikerRange: 'azure-bot-service-3.0' [!INCLUDE [pre-release-label](includes/pre-release-label-v3.md)] -If you've built a Cortana skill using the Bot Builder SDK, you can test it by invoking it from Cortana. The following instructions walk you through the steps required to try out your Cortana skill. +If you've built a Cortana skill using the Bot Framework SDK, you can test it by invoking it from Cortana. The following instructions walk you through the steps required to try out your Cortana skill. ## Register your bot If you [created your bot](~/bot-service-quickstart.md) using Bot Service in Azure, then your bot is already registered and you can skip this step. diff --git a/articles/bot-service-design-conversation-flow.md b/articles/bot-service-design-conversation-flow.md index ac770295b..8dd72c68f 100644 --- a/articles/bot-service-design-conversation-flow.md +++ b/articles/bot-service-design-conversation-flow.md @@ -31,7 +31,7 @@ Dialogs may or may not have graphical interfaces. They may contain buttons, text [!INCLUDE [Dialog flow example](./includes/snippet-dotnet-manage-conversation-flow-intro.md)] -For a detailed walkthrough of managing conversation flow using dialogs and the Bot Builder SDK, see: +For a detailed walkthrough of managing conversation flow using dialogs and the Bot Framework SDK, see: - [Manage conversation flow with dialogs (.NET)](./dotnet/bot-builder-dotnet-manage-conversation-flow.md) - [Manage conversation flow with dialogs (Node.js)](./nodejs/bot-builder-nodejs-manage-conversation-flow.md) @@ -99,7 +99,8 @@ Conversation with a bot is generally focused around the task a bot is trying to In a procedural conversation flow, you define the order of the questions and the bot will ask the questions in the order you defined. You can organize the questions into logical *modules* to keep the code centralized while staying focused on guiding the conversational. For example, you may design one module to contain the logic that helps the user browse for products and a separate module to contain the logic that helps the user create a new order. -You can structure these modules to flow in any way you like, ranging from free form to sequential. The Bot Builder SDK provides several libraries that allows you to construct any conversational flow your bot needs. For example, the `prompts` library allows you to ask users for input, the `waterfall` library allows you to define a sequence of question/answer pair, the `dialog control` library allows you to modularized your conversational flow logic, etc. All of these libraries are tied together through a `dialogs` object. Let's take a closer look at how modules are implemented as `dialogs` to design and manage conversation flows and see how that flow is similar to the traditional application flow. +You can structure these modules to flow in any way you like, ranging from free form to sequential. The Bot Framework SDK provides several libraries that allows you to construct any conversational flow your bot needs. For example, the `prompts` library allows you to ask users for input, the `waterfall` library allows you to define a sequence of question/answer pair, the `dialog control` library allows you to modularized your conversational flow logic, etc. All of these libraries are tied together through a `dialogs` object. Let's take a closer look at how modules are implemented as `dialogs` to design and manage conversation flows and see how that flow is similar to the traditional application flow. + ![bot](./media/designing-bots/core/dialogs-screens.png) diff --git a/articles/bot-service-design-pattern-embed-web-site.md b/articles/bot-service-design-pattern-embed-web-site.md index 200c0da67..b08b20fc5 100644 --- a/articles/bot-service-design-pattern-embed-web-site.md +++ b/articles/bot-service-design-pattern-embed-web-site.md @@ -57,7 +57,7 @@ This capability enables a number of useful scenarios: ## Sample code -The open source web chat control is available via GitHub. For details about how you can implement the backchannel mechanism using the open source web chat control and the Bot Builder SDK for Node.js, see [Use the backchannel mechanism](~/nodejs/bot-builder-nodejs-backchannel.md). +The open source web chat control is available via GitHub. For details about how you can implement the backchannel mechanism using the open source web chat control and the Bot Framework SDK for Node.js, see [Use the backchannel mechanism](~/nodejs/bot-builder-nodejs-backchannel.md). ## Additional resources diff --git a/articles/bot-service-design-pattern-handoff-human.md b/articles/bot-service-design-pattern-handoff-human.md index d77ca85d7..ec6823e6b 100644 --- a/articles/bot-service-design-pattern-handoff-human.md +++ b/articles/bot-service-design-pattern-handoff-human.md @@ -79,7 +79,7 @@ After the agent connects to the bot, the bot begins to route messages between us ## Sample code -For a complete sample that shows how to hand off conversations from bot to human using the Bot Builder SDK for Node.js, see the Bot-HandOff sample in GitHub. +For a complete sample that shows how to hand off conversations from bot to human using the Bot Framework SDK for Node.js, see the Bot-HandOff sample in GitHub. ## Additional resources diff --git a/articles/bot-service-design-pattern-integrate-browser.md b/articles/bot-service-design-pattern-integrate-browser.md index 951c6f005..d81fff508 100644 --- a/articles/bot-service-design-pattern-integrate-browser.md +++ b/articles/bot-service-design-pattern-integrate-browser.md @@ -101,7 +101,7 @@ Since BotAuth does not make any assumptions about the channel's capabilities, su ### How does the website 'signal' the bot? When the bot [generates the hyperlink](#generate-hyperlink) that the user will click to initiate the website flow, -it includes information via querystring parameters in the target URL about the context of the current conversation, such as conversation ID, channel ID, and user ID in the channel. The website can subsequently use this information to read and write state variables for that user or conversation using the Bot Builder SDK or REST APIs. See [step 6](#signal-to-bot) above for an example of how the website 'signals' to the bot that the website flow is complete. +it includes information via querystring parameters in the target URL about the context of the current conversation, such as conversation ID, channel ID, and user ID in the channel. The website can subsequently use this information to read and write state variables for that user or conversation using the Bot Framework SDK or REST APIs. See [step 6](#signal-to-bot) above for an example of how the website 'signals' to the bot that the website flow is complete. ## Sample code diff --git a/articles/bot-service-design-pattern-knowledge-base.md b/articles/bot-service-design-pattern-knowledge-base.md index 8674d8973..2b69d877a 100644 --- a/articles/bot-service-design-pattern-knowledge-base.md +++ b/articles/bot-service-design-pattern-knowledge-base.md @@ -173,7 +173,7 @@ Some knowledge bots might use QnA Maker to answer basic questions in combination 2. Call LUIS first, and if no intent meets a specific threshold score, i.e., "None" intent is triggered, then call QnA Maker. Alternatively, create a LUIS intent for QnA Maker, feeding your LUIS model with example QnA questions that map to "QnAIntent." 3. Call QnA Maker first, and if no answer meets a specific threshold score, then call LUIS. -The Bot Builder SDK provide built-in support for LUIS and QnA Maker. This enables you to trigger dialogs or automatically answer questions using LUIS and/or QnA Maker without having to implement custom calls to either tool. See the [Bot Builder Dispatch Tool Tutorial](https://docs.microsoft.com/en-us/azure/bot-service/bot-builder-tutorial-dispatch?view=azure-bot-service-4.0) for more information. +The Bot Framework SDK provide built-in support for LUIS and QnA Maker. This enables you to trigger dialogs or automatically answer questions using LUIS and/or QnA Maker without having to implement custom calls to either tool. See the [Dispatch Tool Tutorial](https://docs.microsoft.com/en-us/azure/bot-service/bot-builder-tutorial-dispatch?view=azure-bot-service-4.0) for more information. > [!TIP] > When implementing a combination of LUIS, QnA Maker, and/or Azure Search, @@ -185,9 +185,9 @@ The Bot Builder SDK provide built-in support for LUIS and QnA Maker. This enable ## Sample code -- For a sample that shows how to create a basic knowledge bot using the Bot Builder SDK for .NET, see the Knowledge Bot sample in GitHub. +- For a sample that shows how to create a basic knowledge bot using the Bot Framework SDK for .NET, see the Knowledge Bot sample in GitHub. [qnamakerTemplate]: https://docs.botframework.com/en-us/azure-bot-service/templates/qnamaker/#navtitle diff --git a/articles/bot-service-design-pattern-task-automation.md b/articles/bot-service-design-pattern-task-automation.md index 6bb297d8d..625349035 100644 --- a/articles/bot-service-design-pattern-task-automation.md +++ b/articles/bot-service-design-pattern-task-automation.md @@ -117,9 +117,9 @@ The company may setup kiosks throughout the building and embed the password-rese ## Additional resources diff --git a/articles/bot-service-manage-channels.md b/articles/bot-service-manage-channels.md index 2539798ce..2056aab60 100644 --- a/articles/bot-service-manage-channels.md +++ b/articles/bot-service-manage-channels.md @@ -15,7 +15,7 @@ ms.date: 09/22/2018 A channel is a connection between the bot and communication apps. You configure a bot to connect to the channels you want it to be available on. The Bot Framework Service, configured through the Azure portal, connects your bot to these channels and facilitates communication between your bot and the user. You can connect to many popular services, such as [Cortana](bot-service-channel-connect-cortana.md), [Facebook Messenger](bot-service-channel-connect-facebook.md), [Kik](bot-service-channel-connect-kik.md), and [Slack](bot-service-channel-connect-slack.md), as well as several others. [Skype](https://dev.skype.com/bots) and Web Chat are pre-configured for you. In addition to standard channels provided with the Bot Connector Service, you can also connect your bot to your own client application using Direct Line as your channel. -The Bot Framework Service allows you to develop your bot in a channel-agnostic way by normalizing messages that the bot sends to a channel. This involves converting it from the bot builder schema into the channel’s schema. However, if the channel does not support all aspects of the bot builder schema, the service will try to convert the message to a format that the channel does support. For example, if the bot sends a message that contains a card with action buttons to the SMS channel, the connector may send the card as an image and include the actions as links in the message’s text. +The Bot Framework Service allows you to develop your bot in a channel-agnostic way by normalizing messages that the bot sends to a channel. This involves converting it from the bot framework schema into the channel’s schema. However, if the channel does not support all aspects of the bot framework schema, the service will try to convert the message to a format that the channel does support. For example, if the bot sends a message that contains a card with action buttons to the SMS channel, the connector may send the card as an image and include the actions as links in the message’s text. diff --git a/articles/bot-service-overview-introduction.md b/articles/bot-service-overview-introduction.md index 94f3872ae..ac6a2bd4b 100644 --- a/articles/bot-service-overview-introduction.md +++ b/articles/bot-service-overview-introduction.md @@ -7,7 +7,7 @@ ms.author: kamrani manager: kamrani ms.topic: article ms.service: bot-service -ms.date: 10/31/2018 +ms.date: 1/10/2019 --- ::: moniker range="azure-bot-service-3.0" @@ -83,12 +83,15 @@ Bots are a lot like modern web applications, living on the internet and use APIs Bots can do the same things other types of software can do - read and write files, use databases and APIs, and do the regular computational tasks. What makes bots unique is their use of mechanisms generally reserved for human-to-human communication. -Bots usually consist of the following components: +Azure Bot Service offers: +- Bot Framework SDK for developing bots +- Bot Framework Tools to cover end-to-end bot development workflow +- Bot Framework Service (BFS) to send and receive messages and events between bots and channels +- Bot deployment and channel configuration in Azure -- A web server, in most cases one that is available on the public internet -- The Bot Builder SDK and Bot Builder Tools that provides an interface for developing bots -- Azure Cognitive Services -- Azure Storage +Additionally, bots may use other Azure services, such as: +- Azure Cognitive Services to build intelligent applications +- Azure Storage for cloud storage solution ## Building a bot @@ -100,7 +103,7 @@ Azure Bot Service offers an integrated set of tools and services to facilitate t As with any type of software, having a thorough understanding of the goals, processes and user needs is important to the process of creating a successful bot. Before writing code, review the bot [design guidelines](bot-service-design-principles.md) for best practices and identify the needs for your bot. You can create a simple bot or include more sophisticated capabilities such as speech, natural language understanding,and question answering. ### Build -Your bot is a web service that implements a conversational interface and communicates with the Bot Framework Service to send and receive messages and events. You can create bots in any number of environments and languages. You can start your bot development in the [Azure portal](bot-service-quickstart.md), or use [[C#](dotnet/bot-builder-dotnet-sdk-quickstart.md) | [JavaScript](javascript/bot-builder-javascript-quickstart.md)] templates for local development. +Your bot is a web service that implements a conversational interface and communicates with the Bot Framework Service to send and receive messages and events. Bot Framework Service is one of the components of the Azure Bot Service. You can create bots in any number of environments and languages. You can start your bot development in the [Azure portal](bot-service-quickstart.md), or use [[C#](dotnet/bot-builder-dotnet-sdk-quickstart.md) | [JavaScript](javascript/bot-builder-javascript-quickstart.md)] templates for local development. As part of the Azure Bot Service, we offer additional components you can use to extend your bot's functionality diff --git a/articles/bot-service-overview-readme.md b/articles/bot-service-overview-readme.md index 714d449a1..c7f91e372 100644 --- a/articles/bot-service-overview-readme.md +++ b/articles/bot-service-overview-readme.md @@ -12,7 +12,7 @@ monikerRange: 'azure-bot-service-3.0' # How Bot Service works -Bot Service provides the core components for creating bots, including the Bot Builder SDK for developing bots and the Bot Framework for connecting bots to channels. Bot Service provides five templates you can choose from when creating your bots with support for .NET and Node.js. +Bot Service provides the core components for creating bots, including the Bot Framework SDK for developing bots and the Bot Framework for connecting bots to channels. Bot Service provides five templates you can choose from when creating your bots with support for .NET and Node.js. > [!IMPORTANT] > You must have a Microsoft Azure subscription before you can use Bot Service. If you do not already have a subscription, you can register for a free account. @@ -27,7 +27,7 @@ A bot that uses an App Service plan is a standard Azure web app you can set to a * Edit bot source code online using an advanced in-browser code editor. * Download, debug, and re-publish your C# bot using Visual Studio. * Set up continuous deployment easily for Visual Studio Online and Github. -* Use sample code prepared for the Bot Builder SDK. +* Use sample code prepared for the Bot Framework SDK. ### Consumption plan A bot that uses a Consumption plan is a serverless bot that runs on Azure Functions, and uses the pay-per-run Azure Functions pricing. A bot that uses this hosting plan can scale to handle huge traffic spikes. You can edit bot source code online using a basic in-browser code editor. For more information about the runtime environment of a Consumption plan bot, see Azure Functions Consumption and App Service plans. @@ -44,7 +44,7 @@ Bot Service enables you to quickly and easily create a bot in either C# or Node. By default, Bot Service enables you to develop your bot directly in the browser using the Online Code Editor, without any need for a tool chain. -You can develop and debug your bot locally with the Bot Builder SDK and an IDE, such as Visual Studio 2017. You can publish your bot directly to Azure using Visual Studio 2017 or the Azure CLI. You can also [set up continuous deployment](bot-service-continuous-deployment.md) with the source control system of your choice, such as VSTS or GitHub. With continuous deployment configured, you can develop and debug in an IDE on your local computer, and any code changes that you commit to source control automatically deploy to Azure. +You can develop and debug your bot locally with the Bot Framework SDK and an IDE, such as Visual Studio 2017. You can publish your bot directly to Azure using Visual Studio 2017 or the Azure CLI. You can also [set up continuous deployment](bot-service-continuous-deployment.md) with the source control system of your choice, such as VSTS or GitHub. With continuous deployment configured, you can develop and debug in an IDE on your local computer, and any code changes that you commit to source control automatically deploy to Azure. > [!TIP] > After enabling continuous deployment, be sure to modify your code through continuous deployment only and not through other mechanisms to avoid conflict. diff --git a/articles/bot-service-quickstart-registration.md b/articles/bot-service-quickstart-registration.md index b0b22d3d3..72b477542 100644 --- a/articles/bot-service-quickstart-registration.md +++ b/articles/bot-service-quickstart-registration.md @@ -69,12 +69,12 @@ To generate a MicrosoftAppPassword, do the following: ## Update the bot -If you're using the Bot Builder SDK for Node.js, set the following environment variables: +If you're using the Bot Framework SDK for Node.js, set the following environment variables: * MICROSOFT_APP_ID * MICROSOFT_APP_PASSWORD -If you're using the Bot Builder SDK for .NET, set the following key values in the web.config file: +If you're using the Bot Framework SDK for .NET, set the following key values in the web.config file: * MicrosoftAppId * MicrosoftAppPassword diff --git a/articles/bot-service-quickstart.md b/articles/bot-service-quickstart.md index 5630f6a9a..76bb713b5 100644 --- a/articles/bot-service-quickstart.md +++ b/articles/bot-service-quickstart.md @@ -10,15 +10,13 @@ ms.service: bot-service ms.subservice: abs ms.date: 01/08/2019 --- - ::: moniker range="azure-bot-service-3.0" - # Create a bot with Azure Bot Service [!INCLUDE [pre-release-label](includes/pre-release-label-v3.md)] -Bot Service provides the core components for creating bots, including the Bot Builder SDK for developing bots and the Bot Framework for connecting bots to channels. Bot Service provides five templates you can choose from when creating your bots with support for .NET and Node.js. In this topic, learn how to use Bot Service to create a new bot that uses the Bot Builder SDK. +Bot Service provides the core components for creating bots, including the Bot Framework SDK for developing bots and the Bot Framework for connecting bots to channels. Bot Service provides five templates you can choose from when creating your bots with support for .NET and Node.js. In this topic, learn how to use Bot Service to create a new bot that uses the Bot Framework SDK. ## Log in to Azure Log in to the [Azure portal](http://portal.azure.com). @@ -79,7 +77,8 @@ In this topic, you learned how to create a **Basic** Web App Bot/Functions Bot b [!INCLUDE [pre-release-label](includes/pre-release-label.md)] -Azure Bot Service provides the core components for creating bots, including the Bot Builder SDK for developing bots and the bot service for connecting bots to channels. In the topic, you'll be able to choose either .NET or Node.js template to create a bot using the Bot Builder SDK v4. +Azure Bot Service provides the core components for creating bots, including the Bot Framework SDK for developing bots and the bot service for connecting bots to channels. In the topic, you'll be able to choose either .NET or Node.js template to create a bot using the Bot Framework SDK v4. + ## Prerequisites - [Azure](http://portal.azure.com) account diff --git a/articles/bot-service-resources-bot-framework-faq.md b/articles/bot-service-resources-bot-framework-faq.md index adba36281..8f292a87d 100644 --- a/articles/bot-service-resources-bot-framework-faq.md +++ b/articles/bot-service-resources-bot-framework-faq.md @@ -19,7 +19,7 @@ This article contains answers to some frequently asked questions about the Bot F While the Conversation User Interface (CUI) is upon us, at this point few developers have the expertise and tools needed to create new conversational experiences or enable existing applications and services with a conversational interface their users can enjoy. We have created the Bot Framework to make it easier for developers to build and connect great bots to users, wherever they converse, including on Microsoft's premier channels. ### What is the v4 SDK? -Bot Builder v4 SDK builds on the feedback and learnings from the prior Bot Builder SDKs. It introduces the right levels of abstraction while enabling rich componentization of the bot building blocks. You can start with a simple bot and grow your bot in sophistication using a modular and extensible framework. You can find [FAQ](https://github.com/Microsoft/botbuilder-dotnet/wiki/FAQ) for the SDK on GitHub. +Bot Framework v4 SDK builds on the feedback and learnings from the prior Bot Framework SDKs. It introduces the right levels of abstraction while enabling rich componentization of the bot building blocks. You can start with a simple bot and grow your bot in sophistication using a modular and extensible framework. You can find [FAQ](https://github.com/Microsoft/botbuilder-dotnet/wiki/FAQ) for the SDK on GitHub. ## Bot Framework SDK Version 3 Lifetime Support SDK V3 bots continue to run and be supported by Azure Bot Service. Since the release of Bot Framework SDK V4, as with other frameworks, we continue supporting SDK V3 with security, high priority bug fixes, and connector / protocol layer updates. Customers can expect v3 support to continue through 2019. @@ -68,7 +68,7 @@ We have not provided a general mechanism for developers to add new channels to B The Bot Framework is designed to build, connect, and deploy high quality, responsive, performant and scalable bots for Skype and many other channels. The SDK can be used to create text/sms, image, button and card-capable bots (which constitute the majority of bot interactions today across conversation experiences) as well as bot interactions which are Skype-specific such as rich audio and video experiences. -If you already have a great bot and would like to reach the Skype audience, your bot can easily be connected to Skype (or any supported channel) via the Bot Builder for REST API (provided it has an internet-accessible REST endpoint). +If you already have a great bot and would like to reach the Skype audience, your bot can easily be connected to Skype (or any supported channel) via the Bot Framework for REST API (provided it has an internet-accessible REST endpoint). ## Security and Privacy ### Do the bots registered with the Bot Framework collect personal information? If yes, how can I be sure the data is safe and secure? What about privacy? diff --git a/articles/bot-service-resources-links-help.md b/articles/bot-service-resources-links-help.md index 76f27c355..a95024061 100644 --- a/articles/bot-service-resources-links-help.md +++ b/articles/bot-service-resources-links-help.md @@ -22,7 +22,7 @@ These resources provide additional information and support for developing bots w | Community support | Questions can be posted at [Stack Overflow](https://stackoverflow.com/questions/tagged/botframework) using the `botframework` tag. Please note that Stack Overflow has guidelines such as requiring a descriptive title, a complete and concise problem statement, and sufficient details to reproduce your issue. Feature requests or overly broad questions are off-topic; new users should visit the [Stack Overflow Help Center](https://stackoverflow.com/help/how-to-ask) for more details. | | Community chat group | [Gitter.IM](https://gitter.im/Microsoft/BotBuilder) | | Using a bot | Contact the bot's developer through their publisher e-mail | -| Bot Builder SDK issues/suggestions | Use the issues tab on the GitHub repo | +| Bot Framework SDK issues/suggestions | Use the issues tab on the GitHub repo | | Documentation issues | Submit an issue to the Bot Framework documentation GitHub repo. | | Documentation updates | Click the Edit link on an article and submit a pull request to the Bot Framework documentation GitHub repo. | | Reporting abuse | Contact us at [bf-reports@microsoft.com](mailto://bf-reports@microsoft.com) | diff --git a/articles/bot-service-resources-upgrade-to-v3.md b/articles/bot-service-resources-upgrade-to-v3.md index 44da6609f..0c2b61cf4 100644 --- a/articles/bot-service-resources-upgrade-to-v3.md +++ b/articles/bot-service-resources-upgrade-to-v3.md @@ -79,7 +79,7 @@ If you wish to preserve your old code, follow the steps below: diff --git a/articles/dotnet/bot-builder-dotnet-real-time-audio-video-call-overview.md b/articles/dotnet/bot-builder-dotnet-real-time-audio-video-call-overview.md index 5c0a5a6bd..3b89cca08 100644 --- a/articles/dotnet/bot-builder-dotnet-real-time-audio-video-call-overview.md +++ b/articles/dotnet/bot-builder-dotnet-real-time-audio-video-call-overview.md @@ -1,6 +1,6 @@ --- title: Build a real-time media bot for Skype | Microsoft Docs -description: Learn how to build a bot that conducts real-time audio/video calls with Skype, using the Bot Builder SDK for .NET and the Bot Builder-RealTimeMediaCalling SDK for .NET. +description: Learn how to build a bot that conducts real-time audio/video calls with Skype, using the Bot Framework SDK for .NET and the Bot Builder-RealTimeMediaCalling SDK for .NET. author: MalarGit ms.author: malarch manager: kamrani diff --git a/articles/dotnet/bot-builder-dotnet-real-time-media-concepts.md b/articles/dotnet/bot-builder-dotnet-real-time-media-concepts.md index 1c1d9dcef..11e85ba81 100644 --- a/articles/dotnet/bot-builder-dotnet-real-time-media-concepts.md +++ b/articles/dotnet/bot-builder-dotnet-real-time-media-concepts.md @@ -1,6 +1,6 @@ --- title: Real-time media calling with Skype | Microsoft Docs -description: Understand key concepts in building a bot that can conduct real-time audio and video calls with Skype, using the Bot Builder SDK for .NET. +description: Understand key concepts in building a bot that can conduct real-time audio and video calls with Skype, using the Bot Framework SDK for .NET. author: ssulzer ms.author: ssulzer manager: kamrani @@ -53,7 +53,7 @@ In a call with a single Skype caller, the bot will automatically receive the vid To develop a real-time media bot, you must install these NuGet packages within your Visual Studio project: -- [Bot Builder SDK for .NET](bot-builder-dotnet-overview.md) +- [Bot Framework SDK for .NET](bot-builder-dotnet-overview.md) - [Bot Builder Real-Time Media Calling for .NET](https://www.nuget.org/packages?q=Bot.Builder.RealTimeMediaCalling) - [Microsoft.Skype.Bots.Media .NET library](https://www.nuget.org/packages?q=Microsoft.Skype.Bots.Media) diff --git a/articles/dotnet/bot-builder-dotnet-real-time-media-requirements.md b/articles/dotnet/bot-builder-dotnet-real-time-media-requirements.md index 86dd7a739..d50969c84 100644 --- a/articles/dotnet/bot-builder-dotnet-real-time-media-requirements.md +++ b/articles/dotnet/bot-builder-dotnet-real-time-media-requirements.md @@ -1,6 +1,6 @@ --- title: Requirements and considerations for real-time media bots | Microsoft Docs -description: Understand important requirements and considerations related to creating real-time media bots for Skype, using the Bot Builder SDK for .NET. +description: Understand important requirements and considerations related to creating real-time media bots for Skype, using the Bot Framework SDK for .NET. author: ssulzer ms.author: ssulzer manager: kamrani diff --git a/articles/dotnet/bot-builder-dotnet-request-payment.md b/articles/dotnet/bot-builder-dotnet-request-payment.md index 9c3484fc7..0625da29c 100644 --- a/articles/dotnet/bot-builder-dotnet-request-payment.md +++ b/articles/dotnet/bot-builder-dotnet-request-payment.md @@ -1,6 +1,6 @@ --- title: Request payment | Microsoft Docs -description: Learn how to send a payment request using the Bot Builder SDK for .NET. +description: Learn how to send a payment request using the Bot Framework SDK for .NET. author: RobStand ms.author: kamrani manager: kamrani @@ -21,11 +21,11 @@ monikerRange: 'azure-bot-service-3.0' If your bot enables users to purchase items, it can request payment by including a special type of button within a [rich card](bot-builder-dotnet-add-rich-card-attachments.md). -This article describes how to send a payment request using the Bot Builder SDK for .NET. +This article describes how to send a payment request using the Bot Framework SDK for .NET. ## Prerequisites -Before you can send a payment request using the Bot Builder SDK for .NET, you must complete these prerequisite tasks. +Before you can send a payment request using the Bot Framework SDK for .NET, you must complete these prerequisite tasks. ### Update Web.config @@ -165,4 +165,4 @@ Payment Complete callbacks will contain emulated payment tokens or real payment - [Activities overview](bot-builder-dotnet-activities.md) - [Add rich cards to messages](bot-builder-dotnet-add-rich-card-attachments.md) - Web Payments at W3C -- Bot Builder SDK for .NET Reference +- Bot Framework SDK for .NET Reference diff --git a/articles/dotnet/bot-builder-dotnet-samples.md b/articles/dotnet/bot-builder-dotnet-samples.md index 446b7e9f8..dc32a23f0 100644 --- a/articles/dotnet/bot-builder-dotnet-samples.md +++ b/articles/dotnet/bot-builder-dotnet-samples.md @@ -1,6 +1,6 @@ --- -title: Sample bots for Bot Builder SDK for .NET | Microsoft Docs -description: Explore sample bots that can help kickstart your bot development with the Bot Builder SDK for .NET. +title: Sample bots for Bot Framework SDK for .NET | Microsoft Docs +description: Explore sample bots that can help kickstart your bot development with the Bot Framework SDK for .NET. author: RobStand ms.author: kamrani manager: kamrani @@ -11,13 +11,13 @@ ms.date: 09/13/2018 --- -# Bot Builder SDK for .NET samples +# Bot Framework SDK for .NET samples ::: moniker range="azure-bot-service-3.0" [!INCLUDE [pre-release-label](../includes/pre-release-label-v3.md)] -These samples demonstrate task-focused bots that show how to take advantage of features in the Bot Builder SDK for .NET. You can use the samples to help you quickly get started with building great bots with rich capabilities. +These samples demonstrate task-focused bots that show how to take advantage of features in the Bot Framework SDK for .NET. You can use the samples to help you quickly get started with building great bots with rich capabilities. ## Get the samples To get the samples, clone the [BotBuilder-Samples](https://github.com/Microsoft/BotBuilder-Samples) GitHub repository using Git. @@ -27,7 +27,7 @@ git clone https://github.com/Microsoft/BotBuilder-Samples.git cd BotBuilder-Samples ``` -The sample bots built with the Bot Builder SDK for .NET are organized in the **CSharp** directory. +The sample bots built with the Bot Framework SDK for .NET are organized in the **CSharp** directory. You can also view the samples on GitHub and deploy them to Azure directly. diff --git a/articles/dotnet/bot-builder-dotnet-scorable-dialogs.md b/articles/dotnet/bot-builder-dotnet-scorable-dialogs.md index d5db8cabe..031cb01e1 100644 --- a/articles/dotnet/bot-builder-dotnet-scorable-dialogs.md +++ b/articles/dotnet/bot-builder-dotnet-scorable-dialogs.md @@ -1,6 +1,6 @@ --- title: Global message handlers using scorables -description: Create more flexible dialogs using scorables within the Bot Builder SDK for .NET. +description: Create more flexible dialogs using scorables within the Bot Framework SDK for .NET. author: matthewshim-ms ms.author: v-shimma manager: kamrani diff --git a/articles/dotnet/bot-builder-dotnet-sdk-quickstart.md b/articles/dotnet/bot-builder-dotnet-sdk-quickstart.md index aef5ea652..e40c03328 100644 --- a/articles/dotnet/bot-builder-dotnet-sdk-quickstart.md +++ b/articles/dotnet/bot-builder-dotnet-sdk-quickstart.md @@ -1,7 +1,7 @@ --- -title: Create a bot with the Bot Builder SDK for .NET | Microsoft Docs -description: Create a bot with the Bot Builder SDK for .NET, a powerful bot construction framework. -keywords: Bot Builder SDK, create a bot, quickstart, .NET, getting started, C# bot +title: Create a bot with the Bot Framework SDK for .NET | Microsoft Docs +description: Create a bot with the Bot Framework SDK for .NET, a powerful bot construction framework. +keywords: Bot Framework SDK, create a bot, quickstart, .NET, getting started, C# bot author: kamrani ms.author: kamrani manager: kamrani @@ -12,14 +12,14 @@ ms.date: 11/19/2018 monikerRange: 'azure-bot-service-4.0' --- -# Create a bot with the Bot Builder SDK for .NET +# Create a bot with the Bot Framework SDK for .NET [!INCLUDE [pre-release-label](../includes/pre-release-label.md)] This quickstart walks you through building a bot by using the C# template, and then testing it with the Bot Framework Emulator. ## Prerequisites - Visual Studio [2017](https://www.visualstudio.com/downloads) -- Bot Builder SDK v4 template for [C#](https://aka.ms/bot-vsix) +- Bot Framework SDK v4 template for [C#](https://aka.ms/bot-vsix) - Bot Framework [Emulator](https://aka.ms/Emulator-wiki-getting-started) - Knowledge of [ASP.Net Core](https://docs.microsoft.com/aspnet/core/) and asynchronous programming in [C#](https://docs.microsoft.com/en-us/dotnet/csharp/programming-guide/concepts/async/index) diff --git a/articles/dotnet/bot-builder-dotnet-search-azure.md b/articles/dotnet/bot-builder-dotnet-search-azure.md index a25e80b0d..c99ea2224 100644 --- a/articles/dotnet/bot-builder-dotnet-search-azure.md +++ b/articles/dotnet/bot-builder-dotnet-search-azure.md @@ -1,6 +1,6 @@ --- title: Create data-driven experiences with Azure Search | Microsoft Docs -description: Learn how to create data-driven experiences with Azure Search and help users navigate large amounts of content in a bot with the Bot Builder SDK for .NET and Azure Search. +description: Learn how to create data-driven experiences with Azure Search and help users navigate large amounts of content in a bot with the Bot Framework SDK for .NET and Azure Search. author: matthewshim-ms ms.author: v-shimma manager: kamrani @@ -176,7 +176,7 @@ The search results are displayed to the user and you've successfully added Azure ## Samples -For two complete samples that show how to support Azure Search with bots using the Bot Builder SDK for .NET, see the +For two complete samples that show how to support Azure Search with bots using the Bot Framework SDK for .NET, see the [Real Estate bot sample](https://github.com/Microsoft/BotBuilder-Samples/tree/master/CSharp/demo-Search/RealEstateBot) or [Job Listing bot sample](https://github.com/Microsoft/BotBuilder-Samples/tree/master/CSharp/demo-Search/JobListingBot) in GitHub. ## Additional resources diff --git a/articles/dotnet/bot-builder-dotnet-security.md b/articles/dotnet/bot-builder-dotnet-security.md index 6643bfac5..e11844d68 100644 --- a/articles/dotnet/bot-builder-dotnet-security.md +++ b/articles/dotnet/bot-builder-dotnet-security.md @@ -35,7 +35,7 @@ Specify the bot's appID and password in your bot's web.config file. ``` -Then, use the `[BotAuthentication]` attribute to specify authentication credentials when using the Bot Builder SDK for .NET to create your bot. +Then, use the `[BotAuthentication]` attribute to specify authentication credentials when using the Bot Framework SDK for .NET to create your bot. To use the authentication credentials that are stored in the web.config file, specify the `[BotAuthentication]` with no parameters. @@ -47,6 +47,6 @@ To use other values for authentication credentials, specify the `[BotAuthenticat ## Additional resources -- [Bot Builder SDK for .NET](bot-builder-dotnet-overview.md) +- [Bot Framework SDK for .NET](bot-builder-dotnet-overview.md) - [Key concepts in the bot Builder SDK for .NET](bot-builder-dotnet-concepts.md) - [Register a bot with the Bot Framework](~/bot-service-quickstart-registration.md) diff --git a/articles/dotnet/bot-builder-dotnet-state-azure-cosmosdb.md b/articles/dotnet/bot-builder-dotnet-state-azure-cosmosdb.md index e43a7561e..080bee84b 100644 --- a/articles/dotnet/bot-builder-dotnet-state-azure-cosmosdb.md +++ b/articles/dotnet/bot-builder-dotnet-state-azure-cosmosdb.md @@ -1,6 +1,6 @@ --- title: Manage custom state data with Azure Cosmos DB | Microsoft Docs -description: Learn how to save and retrieve state data using Azure Cosmos DB with the Bot Builder SDK for .NET +description: Learn how to save and retrieve state data using Azure Cosmos DB with the Bot Framework SDK for .NET author: kaiqb manager: kamrani ms.topic: article diff --git a/articles/dotnet/bot-builder-dotnet-state-azure-table-storage.md b/articles/dotnet/bot-builder-dotnet-state-azure-table-storage.md index 348ea5a10..4565af499 100644 --- a/articles/dotnet/bot-builder-dotnet-state-azure-table-storage.md +++ b/articles/dotnet/bot-builder-dotnet-state-azure-table-storage.md @@ -1,6 +1,6 @@ --- title: Manage custom state data with Azure Table storage | Microsoft Docs -description: Learn how to save and retrieve state data using Azure Table Storage with the Bot Builder SDK for .NET +description: Learn how to save and retrieve state data using Azure Table Storage with the Bot Framework SDK for .NET author: kaiqb manager: kamrani ms.topic: article diff --git a/articles/dotnet/bot-builder-dotnet-state.md b/articles/dotnet/bot-builder-dotnet-state.md index 136535e9a..3766fa6c0 100644 --- a/articles/dotnet/bot-builder-dotnet-state.md +++ b/articles/dotnet/bot-builder-dotnet-state.md @@ -1,6 +1,6 @@ --- title: Manage state data | Microsoft Docs -description: Learn how to save and retrieve state data with the Bot Builder SDK for .NET. +description: Learn how to save and retrieve state data with the Bot Framework SDK for .NET. author: RobStand ms.author: kamrani manager: kamrani @@ -100,7 +100,7 @@ Each [Activity][Activity] object contains properties that you will use to manage ## Create a state client -The `StateClient` object enables you to manage state data using the Bot Builder SDK for .NET. +The `StateClient` object enables you to manage state data using the Bot Framework SDK for .NET. If you have access to a message that belongs to the same context in which you want to manage state data, you can create a state client by calling the `GetStateClient` method on the `Activity` object. [!code-csharp[Get State client](../includes/code/dotnet-state.cs#getStateClient1)] @@ -161,6 +161,6 @@ You can design your bot to account for this scenario, as shown in the following ## Additional resources - [Bot Framework troubleshooting guide](../bot-service-troubleshoot-general-problems.md) -- Bot Builder SDK for .NET Reference +- Bot Framework SDK for .NET Reference [Activity]: https://docs.botframework.com/en-us/csharp/builder/sdkreference/dc/d2f/class_microsoft_1_1_bot_1_1_connector_1_1_activity.html diff --git a/articles/dotnet/bot-builder-dotnet-text-to-speech.md b/articles/dotnet/bot-builder-dotnet-text-to-speech.md index 448ece682..683f1bbdc 100644 --- a/articles/dotnet/bot-builder-dotnet-text-to-speech.md +++ b/articles/dotnet/bot-builder-dotnet-text-to-speech.md @@ -1,6 +1,6 @@ --- title: Add speech to messages | Microsoft Docs -description: Learn how to add speech to messages using the Bot Builder SDK for .NET. +description: Learn how to add speech to messages using the Bot Framework SDK for .NET. author: RobStand ms.author: kamrani manager: kamrani @@ -24,7 +24,7 @@ If you are building a bot for a speech-enabled channel such as Cortana, you can ## Specify text to be spoken by your bot -Using the Bot Builder SDK for .NET, there are multiple ways to specify the text to be spoken by your bot on a speech-enabled channel. You can set the `Speak` property of the [message][IMessageActivity], call the `IDialogContext.SayAsync()` method, or specify prompt options `speak` and `retrySpeak` when sending a message using a built-in prompt. +Using the Bot Framework SDK for .NET, there are multiple ways to specify the text to be spoken by your bot on a speech-enabled channel. You can set the `Speak` property of the [message][IMessageActivity], call the `IDialogContext.SayAsync()` method, or specify prompt options `speak` and `retrySpeak` when sending a message using a built-in prompt. ### IMessageActivity.Speak @@ -54,7 +54,7 @@ When you send a message on a speech-enabled channel, you can attempt to influenc ## Sample code -For a complete sample that shows how to create a speech-enabled bot using the Bot Builder SDK for .NET, see the Roller Skill sample in GitHub. +For a complete sample that shows how to create a speech-enabled bot using the Bot Framework SDK for .NET, see the Roller Skill sample in GitHub. ## Additional resources diff --git a/articles/includes/snippet-abs-hosting-plans.md b/articles/includes/snippet-abs-hosting-plans.md index 7e485bb85..16b0c51b2 100644 --- a/articles/includes/snippet-abs-hosting-plans.md +++ b/articles/includes/snippet-abs-hosting-plans.md @@ -7,7 +7,7 @@ A bot that uses an App Service plan is a standard Azure web app you can set to a * Edit bot source code online using an advanced in-browser code editor. * Download, debug, and re-publish your C# bot using Visual Studio. * Set up continuous deployment easily for Visual Studio Online and Github. -* Use sample code prepared for the Bot Builder SDK. +* Use sample code prepared for the Bot Framework SDK. ## Consumption plan diff --git a/articles/includes/snippet-dotnet-formflow-samples.md b/articles/includes/snippet-dotnet-formflow-samples.md index 5ed8ff467..81063db6a 100644 --- a/articles/includes/snippet-dotnet-formflow-samples.md +++ b/articles/includes/snippet-dotnet-formflow-samples.md @@ -1,2 +1,2 @@ -For complete samples that show how to implement FormFlow using the Bot Builder SDK for .NET, see the Multi-Dialog Bot sample and the Contoso Flowers Bot sample in GitHub. +For complete samples that show how to implement FormFlow using the Bot Framework SDK for .NET, see the Multi-Dialog Bot sample and the Contoso Flowers Bot sample in GitHub. diff --git a/articles/includes/snippet-message-logging-intro.md b/articles/includes/snippet-message-logging-intro.md index b1aa25545..e173d6a5f 100644 --- a/articles/includes/snippet-message-logging-intro.md +++ b/articles/includes/snippet-message-logging-intro.md @@ -1,4 +1,4 @@ -The **middleware** functionality in the Bot Builder SDK enables your bot to intercept all messages that are exchanged between user and bot. +The **middleware** functionality in the Bot Framework SDK enables your bot to intercept all messages that are exchanged between user and bot. For each message that is intercepted, you may choose to do things such as save the message to a data store that you specify, which creates a conversation log, or inspect the message in some way and take whatever action your code specifies. diff --git a/articles/includes/snippet-tip-bot-config-settings.md b/articles/includes/snippet-tip-bot-config-settings.md index c31d9d1d6..220d7884f 100644 --- a/articles/includes/snippet-tip-bot-config-settings.md +++ b/articles/includes/snippet-tip-bot-config-settings.md @@ -1,6 +1,6 @@ -> If you're using the Bot Builder SDK for Node.js, set the following environment variables: +> If you're using the Bot Framework SDK for Node.js, set the following environment variables: > -> If you're using the Bot Builder SDK for .NET, set the following key values in the web.config file: +> If you're using the Bot Framework SDK for .NET, set the following key values in the web.config file: > > [!NOTE] diff --git a/articles/includes/snippet-verify-deployment-using-emulator.md b/articles/includes/snippet-verify-deployment-using-emulator.md index fc72426f1..c520f782f 100644 --- a/articles/includes/snippet-verify-deployment-using-emulator.md +++ b/articles/includes/snippet-verify-deployment-using-emulator.md @@ -1,5 +1,5 @@ Verify the deployment of your bot by using the [Bot Framework Emulator](~/bot-service-debug-emulator.md). -Enter the bot's **Messaging endpoint** into the address bar of the Emulator. If you built your bot with the Bot Builder SDK, the endpoint should end with */api/messages*. +Enter the bot's **Messaging endpoint** into the address bar of the Emulator. If you built your bot with the Bot Framework SDK, the endpoint should end with */api/messages*. Example: `https://.azurewebsites.net/api/messages` diff --git a/articles/index.md b/articles/index.md index 07385f53a..df28d167d 100644 --- a/articles/index.md +++ b/articles/index.md @@ -18,7 +18,7 @@ ms.date: 09/27/2018

Azure Bot Service Documentation

-

Bot Service provides an integrated environment that is purpose-built for bot development, enabling you to build, connect, test, deploy, and manage intelligent bots, all from one place. Azure Bot Service leverages the Bot Builder SDK with support for .NET and Node.js. Learn how to use Bot Service with our quickstart and samples.

+

Bot Service provides an integrated environment that is purpose-built for bot development, enabling you to build, connect, test, deploy, and manage intelligent bots, all from one place. Azure Bot Service leverages the Bot Framework SDK with support for .NET and Node.js. Learn how to use Bot Service with our quickstart and samples.

5-Minute Quickstarts

@@ -67,7 +67,7 @@ ms.date: 09/27/2018

Azure Bot Service Documentation

-

Azure Bot Service provides an integrated environment that is purpose-built for bot development, enabling you to build, connect, test, deploy, and manage intelligent bots, all from one place. Azure Bot Service leverages the Bot Builder SDK with support for C# and JavaScript. Learn how to use Bot Service with our quickstarts, tutorials, and samples. +

Azure Bot Service provides an integrated environment that is purpose-built for bot development, enabling you to build, connect, test, deploy, and manage intelligent bots, all from one place. Azure Bot Service leverages the Bot Framework SDK with support for C# and JavaScript. Learn how to use Bot Service with our quickstarts, tutorials, and samples.

diff --git a/articles/java/bot-builder-java-samples.md b/articles/java/bot-builder-java-samples.md index e339c3412..4b0fc58ac 100644 --- a/articles/java/bot-builder-java-samples.md +++ b/articles/java/bot-builder-java-samples.md @@ -1,6 +1,6 @@ --- -title: Sample bots for Bot Builder SDK for Java | Microsoft Docs -description: Explore sample bots that can help kickstart your bot development with the Bot Builder SDK for Java. +title: Sample bots for Bot Framework SDK for Java | Microsoft Docs +description: Explore sample bots that can help kickstart your bot development with the Bot Framework SDK for Java. author: jonathanfingold ms.author: jonathanfingold manager: kamrani @@ -11,7 +11,7 @@ ms.date: 05/03/2018 monikerRange: 'azure-bot-service-4.0' --- -# Bot Builder SDK v4 Java samples +# Bot Framework SDK v4 Java samples [!INCLUDE [pre-release-label](../includes/pre-release-label.md)] You can use the samples to help you build bots using Java SDK v4, which is currently in preview. @@ -23,4 +23,4 @@ To get the samples, clone the [botbuilder-java](https://github.com/Microsoft/bot git clone https://github.com/Microsoft/botbuilder-java.git cd samples ``` -The sample bots built with the Bot Builder SDK for Java are organized in the **samples** directory. +The sample bots built with the Bot Framework SDK for Java are organized in the **samples** directory. diff --git a/articles/javascript/bot-builder-javascript-quickstart.md b/articles/javascript/bot-builder-javascript-quickstart.md index 68b7936ab..569421026 100644 --- a/articles/javascript/bot-builder-javascript-quickstart.md +++ b/articles/javascript/bot-builder-javascript-quickstart.md @@ -1,7 +1,7 @@ --- -title: Create a bot using Bot Builder SDK for JavaScript | Microsoft Docs -description: Quickly create a bot using the Bot Builder SDK for JavaScript. -keywords: quickstart, bot builder sdk, getting started +title: Create a bot using Bot Framework SDK for JavaScript | Microsoft Docs +description: Quickly create a bot using the Bot Framework SDK for JavaScript. +keywords: quickstart, bot framework sdk, getting started author: jonathanfingold ms.author: v-jofing manager: kamrani @@ -12,11 +12,11 @@ ms.date: 10/30/2018 monikerRange: 'azure-bot-service-4.0' --- -# Create a bot with the Bot Builder SDK for JavaScript +# Create a bot with the Bot Framework SDK for JavaScript [!INCLUDE [pre-release-label](../includes/pre-release-label.md)] -This quickstart walks you through building a single bot by using the Yeoman Bot Builder generator and the Bot Builder SDK for JavaScript, and then testing it with the Bot Framework Emulator. +This quickstart walks you through building a single bot by using the Yeoman Bot Builder generator and the Bot Framework SDK for JavaScript, and then testing it with the Bot Framework Emulator. ## Prerequisites diff --git a/articles/javascript/bot-builder-javascript-samples.md b/articles/javascript/bot-builder-javascript-samples.md index 670cb73cd..36e4b9b5c 100644 --- a/articles/javascript/bot-builder-javascript-samples.md +++ b/articles/javascript/bot-builder-javascript-samples.md @@ -1,6 +1,6 @@ --- -title: Sample bots for Bot Builder SDK for JavaScript | Microsoft Docs -description: Explore a large selection of sample bots that can help kickstart your bot development with the Bot Builder SDK for JavaScript. +title: Sample bots for Bot Framework SDK for JavaScript | Microsoft Docs +description: Explore a large selection of sample bots that can help kickstart your bot development with the Bot Framework SDK for JavaScript. author: jonathanfingold ms.author: jonathanfingold manager: kamrani @@ -11,7 +11,7 @@ ms.date: 09/13/2018 monikerRange: 'azure-bot-service-4.0' --- -# JavaScript samples for Bot Builder SDK +# JavaScript samples for Bot Framework SDK [!INCLUDE [pre-release-label](../includes/pre-release-label.md)] Samples in the Bot Builder Samples repo demonstrate task-focused bots that show how to take advantage of features provided in the SDK for JavaScript. You can use the samples to help you quickly get started with building great bots with rich capabilities. Refer to [readme](https://github.com/Microsoft/BotBuilder-Samples/blob/master/README.md) file for sample list and additional informaiton. diff --git a/articles/media/channels/kik-creds.png b/articles/media/channels/kik-creds.png index 635337ddf754c5bbf169653a1bdcb2b01cae79fa..469a4221367c418286dde59403da9eee8fe9488a 100644 GIT binary patch literal 13023 zcmdU$byQo?^WbrJr?|UY3GP?dceS74ZOTy)7Y@cU|@JXm1L!K ze1XTS$mRq#Q1LT6WABDC`l94XDIB@-XhqE;70p;`w_IgS4b5J-J;T~Zf}`VFIyoHK zNo~p60)Ama#8j+&QoQMuwUcRUNu{=*RpPp;iZO7c~KDp1;A4h1S$vO^}#$>`NVD*M#^W~ zrNs8T zK8gW$`t^dEXc-vf^8Q^?2PTux4$Fj-`1g2rN&1UInidu`XlQ8WyqU?LK7CD(Jfrn2 zc*5;Rem*rdHLICClIZb#mlwsS%np2+40-+?XfFQOx0;KesY6=pAes5C)MB{9!z_wQ zO7dFDn6nN7FzSI1all;yMEJ8-(=+`|Jl}=Q%ssnU$tLdwE2!(8pToOub5BoNfEol& zturF}r9gpdIFj+)3bH+x)k(lY`K_;HE(6hr$c2vK0UeNulUDaZwa&HSQ6Q9?^K_OJ zy?GyT$b#F@q9!-Kbxa@wx&=q>c8H&78Ogzl_CXK*jUVcZ>bQ@c&svh0bKh!cO%mYe z2H>fy=ERody~B0o@}+3;QUMclb%j^?ji=an9rc~ilHsLXhHaxFZ6uY4&Zjp;TJ4Z! z{Mp9}?3==nZ|Z^|zu1@-vRt+$Kn+aYJC#1zuD`G}7dFwUHfg=FxEtH$zFTYOc3D|% zeTqpx2YW|};hAh~~q=-NDV6Hmf zPW0bcn%0T$Bf!1Ot~=Xda$ApZZ+)!xKf6_-vP{>{D;);kaEZm9&vZp%Q&!$@2(S1o zP_+6_^9OXutplED0z?jl-*jAH#kb#}20Uncmv(%P*S$Ck#(vX7(ULG!v}4LGlKJ#D}B71?uN3k4r z!#I)uU{T2{#VCj)YM8i@d=nP_?&a&&F)9@ngdM;$&h0(z+sJ7YF2Yom+~Wq9sM}gM zGuL`QH&J_03;$!xjOXxu49SxJE8a_1E!1VbfOzb#rHG{5Z%97fos_~qMe3ZOY_0x_ zZtSc2(V6&2n`=VdgH#NL212`tD_-}C9kl@UJc(bUQGWUNs@R*`SN@thjmV>BS@ARr zYhg7WS7?9dn@$=G?PfoL?A{kCn6*CB+l^3T?kh>A0RC-2W;q)K7QZ?>y2d2u{QNZg z9IViAc3t`2pe2wl*Iq9~hzX;&y&GcTyn>(9eMSWADrQ;vEgSC-r5H0jBRV;n+CW%v zLD=;97WxYQY*0I=?xK(<NHr5ll9F%<030nF*kfj;rO6iV9XN9+e9F0vt-bPlt#*rt1ZVSeVa??1nE3e4 z+kS1#D|SJrHLc%pkT1lr+hE_b(9uLs#VRPtDkI*YBnCw6HCoe^de=zeWttt ze08z+$jEcO(=m^3SGVcO`4q2)dvn)$HBPhLP7gD16x-Z;BHW#&YpeUpDEH;o zlDaA*6%)P(!8f_Qn5W{wBCo#d-6ssvk=68R2#7dAhP05HMtG|pz~=|w6TCrLM&|kK z%l3VnRG&7gG8=g8evlsv9Im$1npcpfH@&9PgiRNudRZT*zEz{a%6`Bp=w>6F>!Jc= zhcEtFU*FMY|7dw!OUXVkm2OM5>GM5gotkE|bf$q-+(lD>v9aBSHj;mIsIlyH6GyZ* zW5g-Z1O99GIS;wa*R4kd7jUwaexdO_QRz$vr4t^ja#GI&3kjgJqH=QgPq6~RY|$b@ z>nfHB|8ItXW;gNQKXNL%*M>eDo>~lEBw3n|majNwyx4N@NFNMiDf?{&=9f!q=-FVaMjGXY54$)sWR6R@Jn$7dwbUi{x%jXr&oq(6z(Bw68(_Bq*0aOqUo0Pl#f1y(EcoXRU%@O*X&Mx+79 zs<`HaY>r=?Z@VID4Uvr?e&BGwk2rKM^T0y#+)M10LE3I>x1%WwHkOsSP@vH2n-Ff1I1f?M9ywfeyMui z1nP`I54IG|Haoo(jntgqc$U07NF2Na{Yb&2hiBj$rw{-)njVXuM3ev|Lj)~KDn^hx7$JnclVTrPt3ERDO7zyKFhoN z(alO9L`Y)=%awAi*H7Nc3&BCJz-;N&#q!yFs$C0kwWlZ5B<`@yj{?B$He7%|H)>8h zFmzV26G!dncGK8t(Vc`L7l!?sp5J9zt+{OLs+ey*mXNKH3~MZdM}~{$1wt4^M99=i z@NFAN9UL6|9KNH%q2TI9!oI*%spSwlwQdJW&c7iLJOm^C4@LX`w}fDp@ZK-oB1Cx+ zYM!yPDU&7Yd5P7g?UuJ^n{Mr^5Q1l=3Ourhwxy_XLWZpYzm@hdsAWs+&$qyfo&G{d zSmdR}0nm~cO$f9Ag1p(|&!>aaDl6Gv=cp|@336=WzpO{NthS|e)GRD4eo83tD1STm zJtmhl(@UERYAs;?Hva#Dz=QA}nj5Xw$JPB1cG~?!`F!Vp2${yp&OXo+3a{DXV%kX` z0UNPLz+v2saoTx9dE_ku7YcKm_ZO$5(WoBpZxj})O*ISUF+2JH)~qt9gKMyxh#a@Q z=ZkoO>72tCLciP#RpIK?x&NG%RsP5heqsLq8PGof;IuR}U{Z!78XNhauScB!VxVUl zA365c_wxh%$2$LA7*|404w-;Ib+37a+OvJtdwS8U5BZ}X;O^418@b@Kh3=E2&&53R znX`sH?eEZlo~W^g{DK1T^%t58{92IDjDr|tpbS3!pg5_wZ+SnaeAMXlg9FXB;XDp? z$EPh{Tq)DkT(;!Pb(fsCD{z$#EXz3APhVL$dF~^&jd|4+npN;OlHAcY6G1MuUOJ2x z(hewtsrR~i`(WW15wTivz8M+r=OC;nQahtOM#sjD(H>a9b}TPM*8QWe<9!wf zz7svz4NjDdBN?v{()78FT;sl z{)%8Lpiq-*P^-?YM$xM8@ z>McfTYDN_|4<*aNzlyOThi+0}ocJ<8ufR0?UBA#gOAiOzQz9*Ik5475oIB%;w>G%C zw-Ue-QMSz6yWhArJ@jEP9T( z;SUbqgSC72+Q)5!1`uwp{}#=gcV4(bMz1NOB!cl>Io7adUqwbODOfyhVV_rs8!I9a zaV7L{sBiJDbbVG69qSx7H~q$+c?CTTk$-#cGmRaaC3qn%#>1 zTlxxy!4+Y=GQUi`Wfx|oreUxvS#!RDxDVMXX0AlnppZnWF!9mCok5l^_VK+J3>VAa zB?%x_jw9K;(TONQQ+8oW^0AsY<{R@IKJg}) z*bItgazF5RIjZKXL}V0Y zM*MIJ(>C;;s^{@WJd&%K$kOaLkYHqF(5D?y-{8jTIQvUyRXhQo!=*o)|s{^2hrIEq=v>J znMPgAD*Rn7036RTfcjeN6ISx?N%C#0q43Dip8QI7Ya5%bo-R=XM~1@N9<_kGRlUwG z6eL`J!(^?SfTD%!gv(h1`T^*v0wG)wSI1Z8%Nz(Jqo9!GZ_~iDv86)S{xrP?%CQ&$ z_aVMhi|cz29v_#zE9mE+83Mb39o`evMF$GzM!*@W>vbXXRZfY|Y<620D}t?$gGl)? ze^&udBXWt5BPgj#@Ezgpkjm}#VcKob9BU@ zPDoU@G7fCjFr;-mmao0dgsD^*f#vCV zy5r9%#{ImZYBk{;%NA1SVtBS#!O@Y^Gsa|$+ZGiU?-$dgAtg7M;dFCl#9Q1r^_q^Z zfiYFf_jhD<{~?%8-8Nz}{#xXX6TaIonvzlk|l{|8|&_)G3~ z8Ktb^%T!Px!9aRkt^2Xbl#l=D`iaXdaRKO$DHDky)#9?caqinF`NEo>oZ6doI4Jhp zv?;@$V=0rQlF@2Y)5R(uQc}X7k+JXaiZ|dz!?Z#;ML)kbD9c}1+S%E0C^0jv(&O0q z4+_G3Oiuoi9`T=;<8zequhM8_NdL6||6GvK*gK8cBX1N~#*CZ#5=={rmK1^^Vd>0B zuaJF(M+?w@iS+iv{V@x^QV5oLOMna`O8``J#aU>I2G4YYoo&CDMDm|w%WXZ+Z z_zG?{FHma<8w!I(e4o5?)?d7E)%y6FemUzDHBg)oBwQZY^!cgtNj=vL!d=3s_4YAIO!^~h<+_J=l3JNxeTfRgs8=iu{`6%0*5L)0s473DKT%vxhr#oFv- z5(bGK-EmOFFwQG#edp+sKIF+(J+$W41(eY&h5RK43>wye*PuZw=xRdk#af%a@hjBW=WmvCjZid4&y^QZNaCX#-b2i;0t+7EQ=mdBPkBFZ3i=dG{P@LNTX>q+ zaS{+l9nfg%FG#kGEfWNyat0E{g+*r zK2mmm!Hf*jE@KI@V+)}6of+!eu|LF(ON^vr3(ASI=>R=nYqy#tAGTkf_fy?=907h- zrtwuL3NeDWSbf{5)Z)TO9`dujObaCi3bBYp>BxDf9$W3lY7aD_#Ys%5)*|8L<_x`n=(DcpM6gaa$WbRBeIc6Jq)%XZ~47TDXwHWu>*eOQlzU_B9 zs?Rk45L(p_>X!hNSb(}g%pa-UX*pZUJ?H~`cRW0eFuq=@%VQ>y%@EmIt^v6$MZp;z z<`OQCw8UgPd2pl(c>u!+%NE#lljIQn`;x8S5TweL&rw1u_ra!=pQx}3yvixOtQB&6 z*`RBp^7uwAir|aKkCWWso3n=YqY7h7_7FPi1Lq3e)o%zI$-sn}C1s2bCP5n;sn%-qQMy4&`qj=t1=Mc`GO@bQfbk|NN zF1KpYqZ?o0+6d6hgCsS(kd3Wz_EP+&KDcN2D9DW2Q<}F6$&f`q zD?F^WP(g~rjhm^my>wrF+x|fYV zIK=i~21?(Lai%oIL2cFtl~5iQdW>%Mn%_OPA{mIa2~ygF!pBdCG%JiE75bv4T!!Em z=E2ID>Val@BR4y_jJOyyvYvx~9Y`2tv~n>$DbI#JaG%iK-fSH$4guavss@l@!AojB z6+Gvf+UuSLj@HSBl_wod!`g-8rZ$pK{7ur}t+S!{4hMH!yY69$obX>h0^sdHNvi%racG=s_P6DqQ^<@j}Dq2mzhRGPb$AJB}t%6M1-Z;*yFf6%9o>#H_sX=s%)LK3 zpR=OJm>>8K!R1z}UHQNfqdLOqtt4}!*i+@2yoBZd7GtfoOz^~k6<@h%+=PmDtI+*s zPJl;`0lloSi;f2mfRDd@b|A@8V<#QSeqVdEi%!O1u9xS_pZF<=#nY+gkYmbp#rhcACVa2b|6Y9BjRb>C5OUBQar;maZjUwqC>YK#25I8cMx5t}VBr zTD@EPkW>mnH2~0J%1p;ICpWk3+~Sft%PqGFI^V}c|FC`zb9xeS_t1wgufPfALONhb zYq#rQn|QWIUN)czLzkVem+4rj!e&6<%!xwfw}JU9Pz~ghLvm z)LC9=Y>89B5D@>!6OG`={3dk=J4<88R<6Fo?8YpQNPJ{L_!9#09UtdXWY4wC-o>;a zzb_+vp32X(^!Xm$DImK+7qQs-&$xUKzRAO?z}v>}(Xh^zlk~kXB|{RO7Ro!yty%JADIi@s>@ zDaANJ`^PUQ1d)n-XuN+WcgHa>KG=)FMmO)R=S_>Jxzs93FQ0h`MyjpHaMnK|b+nUp?o#v+bHa1FlEUtXS;0lC zPdm-9;o~xOUiM9QwrX{8J*9emJDThCb#E{}w0d?Vq%V$y!g|tC0I@Dm9g8tA>pix2 z+vG+ceTSDRfbttV7O_5G?=Cty-(m&Y6>+h@D`oEb{)~$|8I_HE{d)LaH=$JQWTOLr z2kSVBSA`k*SpTJHIEIs|V%=>W<0$GdhNP7ESLl%f=rbt`&of@^_FAwcwk$VlcoH}; z^%c0-IY#JKg*cf76e+cLRslY0?&IiC-OW3bpr*_u)Li>(;%WGND~EiUD^=4!$cV@n zz`Q-#m1%X%A)712;MT)o50f&KNCB{K4bileNPDjOb8A}A&%?lO((EIzaM_f z<~r$rJhDp>3Bmj$jKa4x+?Ek9KTxhc+DPFn*{IuvU2k@TC!Uz!mGYjG-5@0@P>&5F zkTg{4J$IgD%Yzqdqx_MPC1|;Q)`jj6T ze2`kbwH4y+m-^FoE@-*Bv|H!tyXUB1>88Wp_c2&?94xOvwHV}Y2Z|B1A8gIju4g}l zq)@0)wsZ+jB~c0e+DcLsVf1{{bEnszN35wYmx2y5UwLmEaAPG%X`&nU1!Iv7jVhK^ zcfqFAr#^#~OXf;juZ!$yT&Sly@%MKK>6WFY%1B{~m7CdVmTyJyD_|$1YS7oMA762K z!4WFfVq^P)i#szv;JBJ0^f1Fm-X#)Ds)R9Q0;mUu^696oG(+l*p&N=@u8?;Km^BE;uvrqk-v*e|n@m9^u2 zVe^X85S)CZJ0MliifO!^_;M8LI#EwL&U@tQS~{b_&r7cDX@A0n?@XYQ5d}!;oatjF zKiXLMrc>+od9LQHy8+!QR3FPFWcrP-_z1*DSZ7wuXbF-q7V8;^C!RJ!I-l9gBsvhuyPxicIf}DMDG*pH@`KA-9f2snwJ74;?aFM>Oa=+y z8lR9X^tabYqv1kimL{G-81NmU%o9m@Yxz@u+cwd`r?D0eJ1_aB&fLj#var=RJL*Uu9 zME)g@h_(zN&(QjZ$=p%%CX&Xe{=nv96xUPK9zDKSL=6}xMc(_#T4W=`R3LjwZbXab zPeJ0+ok=ktNocm$rnQS_;ZMWP<>{AT^7_4WxP>7y-^(y9MwwgGm@Ii9JU*&ez?H4{ z0z8x|)p6nLg`A)Cjg5qxa*YK~db=A!ym|L>mPW8D+RlvEPYTP>M?-bL0i9Aq^bS7~ z@MA@~2v=UqvCP>WupBR~e!b*vBG;AaZ0yo}dUgBd)=M3$?QEoV3}xD zj|*~Hn;V6iEhkO~dh)(2>~q0o9mqJ6=kI=vHeUc256pefh4rqM%M1vfR!AEwDFs(d zYNzfFh>Tw65A(IV?IJOK)Gl!INhfIhqnsi7<3Uz7*ype3)_@06_c=)w9@vtmmhUPe zY@Cg#lZq1KYAUcLol!c&Q4Lxn;g4vDTreC*bcKi>96~1f^CUx zhES5@3=e18gW;ZKu0S((bk-@L6p6F#Yz$97qjRdDcJmO%be} zEE`tLQYNRxBcjh{t6{Gza3fb4Zetu2 zGK;>d?@Z4nj?q(^j#=9LtdXrbg=_!OUMlsPYjgNWqRL%0;s`yReYsdmO_+6-zC!jF zw!IJ`%7|ayiUBLj*pLDx<?<2vm7=*2@tdoZ-~kF30XS+9s&Po%1@P^qnfBjz{W7j7_FN1{cjinDrY6ikR1= zcOx0!v}_x2bK!`APg~qU-Z1(%%KcSWv>Pd*P@cH7-VU+8BsmF+!3vSi=&H=^dM=V{%XJ|J10|BAUW2P((;edfn~p@96R>^#Hm z9bUETtE#4-yV7?n4M<;sf6khu4&Pl&iKjI3l-6R(KgH8EE%5eqSX#~_>e9yMM<_h7s?U$ zjiCp+7Hvja0RG=-gw&&r-Y<9a5(&6YWBsAPoD}Z;So)RqZvdnP#7|Wc5eoC|8(6Qb zVMu$JDjMqe$@UgSVV`_-S#uAxFq_Eb3@)QEOgR`cu9k%}RpoWk^V)+)h9dV!L}z6V zuHW=_aujT?W+w#)=Ekk^GVA%6YE8h#q_nw%k}JonQUon$O+U`gP1|HjUu`!no1l_5 z%9q8Z&?N>WUbga_rc0A!WbtSrjj3NM4(tp^DkoVQG`&-;O&7Efq?y|9X;69UnV42N z<|+$)a$&N=v8jx<* zD78vDvNO=WZoRdsi?~SWFr-RRVO4+Gy@Z?sU?@;;q#E@}H?O&@&^)NH864qNE`x19 zxDe~MwfKWAhccT8zO62=(LT3sp~t9!4QN>n4W!)1M^#kOx82%NRpT!uj=HzW6J2E^ z+|HKU*v-4Bm0OByEF**YE~xbC=cTqFCA18o4s(lJGb|o-5#us9C9xK@BVzjf1AD%= zPZ7Y#f)D!hv3S=S{Fdh6bvb!H6XPRl`Ofv%`XP~SpQcg~(r0%?c z6rMss10C>z(1_tdhd(KGmd#`h+8hf&^Mh@X{0Ozi0n($Cb^7f_oq@&z(LiEAo_8vZ zbf4n5FFyG<;IGm9#?r}+pIpwro+H4=SRkJ^t!@u}FUNrqohW2dHLs6J5HlPgOATG1 z(}jPXfW((oBfYBd1#9WY*L?9nDsO^Y26hrny1{q^D;P2xol2LM^5#(v*e_oj$tqTj z1w;DlS43;r^_yGRy$G1qKB~nck7G@(dcjFap7IkaW}NL)}&cs}aQpdvA_?_8>#{@FzW zEA4hOWum@aS_mN-s+!{1BYWBQ=q#N zk6i01*@!7qze-BFgD|E(5;=Ajd;4{RbzktQs>_b&kC@7*G@ZL2T#q>{%NDVXU%r+zIfK^087Q-Y z$aVUks?-b{zKiaEq}83&7}XBUFgpTErCZap=-Ai+qKfvQs#fP3#8(8Qw1D)N)W-IY zPcQ|g-9Ki{wV^ebQ021TEWeeowlt^x9@PrAw2@q`BBaAuR_%OQOi&X5RLgcc_pAPD z&XW*smS4`)w@OS=L)=jvZeet;-g>1>6IPK+T&w!Pk?wf%pL+KJs{}L{Q0HttTCvZ;BfsECu)LZ4SEFGv@Q6m0es2)^)H>+ftf0`q; zOk93E{f@wy6qJ2AVFy6MDexeMN0|~naYCamW`(F!)k_)QwLuooN+C89=~ZT$*~K%X z>J^~7n1i%(`=7rN z#hMMAKR-z2s3~1L9~nufQvdmmHLIndzJBC~Pe&W!9Ls%IW&Ks6ehF>b9LK%ZNEerG zv)Y}$Az>ir6D=)(>_54?|Ca(um~^nZ?CzIKrWR_3rOKDY8g`UWh$B~QztyVt<$p43 zv%wEOL2q&D^t4MuqM6@_La8~+2xFx1q@NRI&(C7~SEB4WhxSsKou1A0zb?E9c|s1$ Yk>Fx7(N1}OCegLVGt+C&p0#_e>Akx9d3q*XSy37pfdByv3=CQ3Ge8v#43g|aE`@{nc%G)!+5LC{ zcT$xW2dnx`bokMMG8a=20|Tp#MSL-V{^-Nof7WpV14HTi`vAwLll2D!6OEMth^f09 zp02_gV`*%`T-fQkCR!sLLVxyGE^;fR6BjM~oLHs`)f z`TxndF;t}^FP#5%_uAbo5U+5MdGa27?$-SE{#OPMhaLB(kARs53pn6k6VBE2#X$et z44ecZ#GR8>RaI-;&J7Qo`HO-CtXzX@!=z67FrtiDkfKP%Yhk zVqgV*HW?f-u&Q;u72aW_p4Zh8L*TB|4tnLI-tg)ASp4B-GebzAMCsLd0gY`HF_eL# zLy=>zBg9y@H=GVwWIH0V63#v2Zy2c1~Yr zBkhLzQRWzY#-jgI=h;t?EzHaQBW+D9Al(`M_lwWN+iU9OP9ePeL+#MzAFp-t!5{L@ zWBqOSh64lhTKz0AmKoh1h)TkDa5PFD#E~crdi%UV>-!xc#UwsZnAz_5kxk}aql_{} zBBbx0Uol8LEGT|-ykeu^GGKz$t`Wz4InMl*Q)b73ct>cj+|ZigZljCW2qeAFvghjF@v=uKwu97LHQ3at3<9JbdHas)qfzeW!F%(M16d zlPw#378}8pbkOU994OODE`6x=VVT7GSa!XIinX+aZv-m$-=?>2US zhNSU*V-sFK_3t`6bwA8fx_oO1t+D85-#pbxYu`{4TQ7V1&F7sCPHfz$eJ3Npb?Y9BQI}PmaMk4z# zgq_n*5FnB~m2x&VCM1orV9GX6HNl5SgxC&F@Y_x)oM+$6XtUCuYoqRHDczz;W~lzX zajE@|0_~eugd}O0j8*VrH7EiPvYk46P~V7e$o_UY=@H4e0>xA`_?Xg7fxity z`#R(ci%EyRSz*si;@6z#&O_g@5M~~wxZkB`Ot^k-^u=2qCABn1dlD3YnN0@f!iTOB z24}9U4m;qbl;(hoD0c<)0KM*Pm~ zsconbiG^B{588ck^qsK?n**F{kLGMZZ%u=Ltq=Gxtz6{5o%pK@flcNxW$q{&Nt zSy9(#oyngaI)hc~`)$a9rWp#w?7KDxR<>|J|4^Or^r7)Dk?5qvL!eLH>ayWmu~^Y; z#6HfKA6_Y`z7&|ydrnHDb?FFk^m|I^W3mbgLx-8bYP0aFIz5NI2lh-BG(R??uU}e^ zBkmMOZnZp@H3P>nOMyN@WAqJ~=V@iclKB&AYBA)JO#AAZ0au#{A4dHcu?H>Y;Y*_U z#aah+u4Tn`kUYeGF!%c)a|Qbp(?I*~w^N#vGPPl|SP2cT-u|zC)by;2tr?aJl2EUK zt(&LRn*JHAkxo5I`KZ8%d*9e}tB5J52f7(VjWPrO0&7$p?-u+`p=a_|v0%K(hdhT2 zHl}AwoTelVi7Vz?^peru1fG40W-}3_b}p4i&L%89++Ty^etv`WMd|n%e&vsI|Ucxd#eLfvR`hUOYf)Ah3PJ4=^~{|L)LPB6obcI0dGXi{OoaWiaL}`Bh~lAhn!XiBNx45+ zglu1p34nynXQPBB739J8D>=$n=-0kn<1e?Er|7u3LMj}JT+bnRtI7CO^KB&d!E?<` zyXz}ull7ASx}RQ<0sSKzU|zJ5t<$TkZ(HEvl9AOkwhMb{4*B|NU;|0>^;w~#X@k@D zbeTXbpUP_DQ-_cb%vCv$bZ=ek#hi3~%~^}c_eQ&@Ed$0{T3VRfjK$iMM4g9;vc`p$ zuhc13YfKI_VN=zD+za;3+dyv)JK?u_XD)8r#Rz08-@&EI(i$iLCAlyXzYDqM z@3a`c@|ZmNUD2u1f`!^Mw~7^=P?Qmcyx#&*zm7T3$e+mFww2QAjp^qqbV8EL=eLcU zaKe!j(8`>ZM@CMyA9l^t-mmQzT0Ai4s*NIDmQnghGC};8}1-nABdbMH+AjJ|rY60P7R(=9N8qXG)Sb&%bx zefv3n(Pqcok+*t5E_!zq(&I+eU$GdxZT~v%ckING9TLjYSxYGBk@!&^^C1r0FVZ>= z$VgpwNN0W<;DT&#VuE+E^OvVluqqd?%MbIcS8V>!I*-(BVbCqG;`^%o#y8$9M=p~) z-TBo5NE1RUC`0=`p!2z5MCKQU#?zj7zKQKT`07pjSMQi8ZAx=cxv8Xk4^NotxF0&bW_i}{$amP@| znzju--1tZu=Qj)z{6$QaRz0@;?bd}neF3WKA~-gfzI7!MnTsC*Ipknc1>G1;lHtEm ze@?=sx%!41Ia!%J44AXMRo#JZ>m%-KU{J=;D>A!bLQ~vKR)UAv9!Kc$mZ@Rd{jy`v zeOJS-p80pqUrN1IS|LPC zKY>q*KXMlq&>)8dgGcg7Npjc-vhuHL9>R(ij1Kq!WpfrLNSD&T&s-K%2qNF^6?!mZ zMWWs+#T_gjDZC%gn`?OM`K1JT(G#=32lr-SI(YUAzO>NK3yCO)N|fVlY@at#R!rN= z`@T5He-{Mz`3`Hc+{bz`9V3_dTjs-V{L;tZ$P(blN9!E}PM>q@=R$&(Q9xR~AS4uj z;evy}=11qW0e>TEaq*&9{A%Gii%HvIHN2G;uxh1u2y^2Q#qCBuGXeJPL`gQ}?3ijJ zceEhbweX!gh4{%r7$geymM;evdsmrjyT7j691nFA`RI9(a3bNOe|Co%b-m+U@BLCE zF)}^NWMz9k#bwW3++DFsd%Jrn&(+*+gZsQ1Y13-h&CZv;;6{avu8^prR~WK&GppTo zgOuQj)Eg&EtRg~>9?oT%FSabe_SHfOkk-7_KC9&vWW|1i=f1i68;ocD5@)3gSWPa2oAg88XJ6LaNHqktuJW?$RQ=at(YFwTl(|6qdK z$;#`>64J^((&hWMeQxs~#=GYk=u4JpQfrGSjTo591)7jl_vg_lQ#ecpoxcoXKk|~Q z&M_o1pmBlVv)Y=8wG%%Y9`i)br+k&LHW1Sj!Mg2@d{wS9yss{4%z&P5L8$5u3K)Y& zK)b3vmpI|p8|}}0-z6(|?_R@)LuYeH1x*-N>~xi42gIVD{#M^2Z9Ccqzd_v4;ly(* z9&tB6$R=xECYan_I7Gzq3pi9nN&mO*#m`UA7ZSggY?KAKF*AHc@{+)dl}-nzrZ+8? zxq4sQzU&KUf<6QGf8GL|tLbu03^*eZ2S=Efm6;5U4h4oxc*tutjAlw-5RV;2%PYgb z@(eLTBP63&X3PdrKVvyYDD;F&EEpaDUiAjRx~`1E;8x+x*rSUcoW^Sx!Rt$)WK4nV2=!2Z3G% znXSvu)U7gj2mN4~9LElYI12h%iClmd_0hv)SkWkG|0zaVHzOd;KDD^&3ukDbs=B{W zyP8U7Dl?1-Za4CI2%v!=+JyrNrN1pVA>y+}CWij3#KRuudC@yx5?d7?5>F54dm}#w21L zq!$lIC)c>eejf(i#vOay;Z8f^IlzM-3hq=DrjQ~?0 z1^e)uJCvz#WQq$+K)gboX!uIq0-GVlgPBsHrB!wm5nP_$9Uk)nw@27AaO8`XjOvYm zDw>X^Zp1S@HoX2YWYJi|SW`81k&eerMvFa{fX~B~rfhU0Av&=)0LO_bceh9Od+?BJ z2Yx0xW(KkJ!Rv2UlAaAd_86f&^gX1{h?2w^=44yzNT^C}ur_0R`F>%xc%1HNq4L>5 z!@iv={np|EGTFGSe8%+5Vk+T9TVPT(8Itz&^g)$>pfc!KS-5(CMD+omy8?L5+p%Fq zT5v~3eAq1(R`G;uM9%y^5&)S-^sQ1Uo?v@U3w_*p=;vA~!#!jE5aKX|_?ZfHh~$n< zR+ty=FaspegxfoHF`Zj)DY}VNha;&0TEE>aU${=TREgkgBAxxW&3&!MEdAfUZ|m&! z*skcpGYnkLS5+GM_>rAgGN~jimtz}feq5Z%TKgRX{1Id>XXht6Ma6EWBdmU8HLJ$* zkMoRapB_!3@c-Zv>!}CzdYqlN3p#o#rawEp6_tz%j3_~eaTC})BlkbRlJ>MXY$pxj zMYZjdtOy)&tMhYzI4Z#WFf{}SM`m?sbGLcDpYZ(&*U;xwdV4kY>qh;AIdIFS zR#r&TTdU)0O5Xcw%_@!4l@|t?G{}7I0j}P>D~LoRnSVD>*Z65aXXEyp(&n2(!Bn%E zcSt*o$2H;^XoR#IWMZ>D(cSm-v%$M;PhPT^jx&776IcsQR581*l+#sU(Gw{mQc-Z6eCwW7Mb z$>WgYJya{PS?zhH-RN)QCHD&QPHy?%NcygP^6(6lm3<1&Hm7hs_f=`G4BwL(uu1`u}E7t z;K3>-`&IVl!F(t6)^DdD;a}t}g1Y*pjcN4!c+8Q!>s1Y`x z885K?{0LMcOS?7H*n%kGwH|?2&5pMbTR7Kjnrq=TFzm%{t&Cc$klNDCW{`8klP6h# zw_|M(i7oKQxMT{7t2{^Oenh*N;|Tf(@Ni4xb2Zy&Gw?iOcfs=$8nIV{b1D@63pzRx zNMf1W!^ca+9=LtJkWKR^_&yq!MG6M(Smxy|$A*nwGQs6se0<$jY)c_pSs}X>+n$4e zc7Ed`#i(YhrUPM@Y3!{?`{DVUy4@PmWqdX-wcWsmYPt!}NQS8qU$QK0G$m>JQ0H9P z4c%Pja=3Tu87r^GAIzbAN?Y;HGMtLHJ#(V+q)7ynilOiQYn^`+f%!kwU9iC*mcpxh zfA>h_Mw8PBjfJcN@p?V4T#4v<6Lnm?0Lv-OlV=xvU!5lKus^Ze7r&Xco9sz^*Ajwg zf=K&IxZ|^x-XWten$1k!=VrAppTWOm2?x4F`t_XiDGq=L(tjvBcNRc@>7XAGjEdH~ zqb!thYpB@sS@<0_^Q*juwVh@wXwJB|@AR{RTt8_!j`5w6UT*0ey2SZeh~-)2phn5! z51LO}Z&AD5mHnj8F&hh;5(`aFUgJ+DgfBgmzWoF5@IO5 z=C<0Qy9-1~;j>!7@{k1zG{nhH%%B&V_Oy})8zeI_fO)KTHB6{pP1b<2Di+ViN*7nY zIqMVMcKk4B8N7uqZgp^U5E4s&Ky?0upJ6oRp}D>L{nv^oGw`mrOVkIh)4-I=WE7VV zuzE_Pec|5!AI2OBjTWpf*88)F_nSrV+G{&mSzqdS2^!Hd8u9X6ND~uo@gF6M;$f)w zhaU%S>%2%7%mtEs%pW19be6r)m7^lXwllahdnLQIIxZmPD@8v>$Q?0ZixO!AR<_tu zxFCSbIu?d~ZHV$@SdkCJq(O}2>y5Sb>3&;u6nG@wW#h>MrEHBU+8RsX8_BV533-C2oMC7cv!tpPQEgzOq$cLXh6NMChJV^P zsAY;|;$Z%XB@V5!MC4SAh)Z>L*Os$a4K7WXY&%#eIa-uxivecxdJ;+I$s8=rINjIg zF2EejRKT1Rc?|RVLbMLj9F)z7HGBOuF|Jpx7N(`3$bX+3gaD1Y{Kf^MP3>ye0z;nV zXn%d>*qg|yPGVqczj#VKFQ|Bgbaw*_vPH0llv4$>Eqq^pQ8FPO@7 zLcsaZNJF>9o?KN;jor8h%x!eP`Y#s}Fa5Z1;64A(!l>_gf>V=wjoDf-h5rtpMQs`? z2!TONT$$wlVS#@S#ZO#NIRE1buJB>d{%;A%a?075Q`ifQR=9JOdaxoQBLBtDU}IyO z^!S5+mX}xmFMj4vk=*4Vt`Qj-8JJ=*=8MK(m9FA83yivb50)Akfu^R(s;Dq%`Q;73 zK?LvHSuHj^B)`zVn&%T{&00#{pRGY{k4b*XAD|N$sCOQ-%{k5{I}4$1-8|oXVQM4 zL8+*1b8VD)+@NP%Z}il+8ae9}{>|)bhBm{0hN^DQ2TN#vmRr&JNU3(r zYq~ceB;E!S^LU`h85j^$;^RLUB?;@sj7ht#XKklK(bAnuF%ih`cOJ;F6|%k1-rNiR zPX;+dB=xGf!z(X#H{VFYe%yCPN=UjEC4HDA2=u09paRC%V8W+JctpnJ0@<~ko|mMV zk1CoR%zwbMDcQmPs?qVZMCk7OhYZivH|nw=XDA`5o}Pk@3d$r;>cIfW3=tTFt~m&o zrPZ0>bA7p!6K?!Je!Pas6 z5>#TRKKhqU10DD+nZcqB&4oOWvm#{;#SEqCB`Du*r)t}%(rE5|5L{*MUFr`C&D%{l z44I#0Bx)t;JH#189@n?s?QVEq;+8QTyzEM0 zF(j(`c|)vvt;9eNB|)$j(XX4x-%q90p0)fJf#p~90TUq#yOXvJ+#O7I@GrT_NzHB` zyWcN6n;n_i^BXsnY!uH+_+*dU(_2=8gAaNw0M8a=(-A)V<5ae)QWIq>T;t+^e?`-?u*GD9i zM7+G5AmHqK2hME0&UE;CexV*$vt0SuLJV@LWkLzOgvDoBp4la$7-_uM0z0*db>+>&L* z)w0qUR$2_t(XtNSoXb1VczS`opZfY@BCT>SDb zg9rpIuaX&iZ1e5Z`S3aZy2P4To^I|vYm_@4ee;zGw`No$3cIR ztGDAPTp83D_*Hav(_Z7x? za?;#k;Yj@Mw}-ZiY$+2Tv9eZaXf5eWAhT8K_7L>?MkKzS@z%wc83fHEee%>X@M3PF z)t{aIxSpE5)vPG}g_6a|rRLZ>W@6iaC`6v=R8^FUukn&|KF$R3(^>h8;IHQFv1f~An+gP5+c z6M-UH2>(Tol2rMKF?OZ9xf$Omi20wp|9gu&n9OPbb-OF1TX)#HR&{UN?Qw0_ORX)k z@3RfLRM-#W)d|GfiRUpP0Gz{u^=M>w1frr_BG=`x(lr}f9Uf^caqvXb*Y;xBU;H-# zEZ13G<0U^NlJQ=x~NrWhvJZqxiZ9P!)?$Qm}H1(vz{Ew;Vw%UWy z^F|bjyn+g5+j5U3yDS9{_k1mM>Il}E7yTi0j2R_;eZfbqlh0yYNX!O9=;#>wi^{%7 zMgoK|Pu6ZJ>;@a$a->$b%+eluwzXTNNdm)vPHLGOdlMpez3#u_@mu4CqLM}r8D>N? zNkAl60zCFy5JjgISJ5?EV4qF-fy#(}MVbGUslxv2kF_@HQYc;*40n#Ka?|lz$~8uV zW%Xk|W%9N_dW7n>lxlK1hkRRbZh#BFB_OA{fZ(97L$LwSU?>;c60x`@f4+;4<~6Gh zZM!Y&>lROR&6HVnBEk|CZ9x!EexI{#QQ{iwF~UoP!99BR^O(gt}E* zlw%5bWsv2Y+Wn7%=I@S#j+0vpz4zSa+@)-8!NPCv9=d7n0?d?b9;jvfi{U`SxV9}| z3Ef8;Hz%vOuc1nkmYvcUCkp~9yRzNiv;MO(qsX|T;@?-p*@K?8-pqx2q7E^q$k&w8 z|5NiYzx45T!zGXDco6Dl7x}6Rt7@yoe?IBG6^i(my#)Yn-owEE6`z2-L;s(IgKo0! zAvIrg^1oq1R*`CHlKFmHKsS8WL3h3PqoeoD)W=5R&X$mvXws;=8t`|h11XyRu<1kR z*ho%-UwrGqzrj9gT~e5I0#{b_ollprxig~wO|b+6Uvz7GJ6Vh5Z`eaGBC_uDlx$e- zR_y&Zn&FrGiG(lO*VmVX@ex4%i*K&*|GO|nxc@KA_0j(SEfhGyk2+DbffJ85i56?p zSA#&_{q&)vy)el6QMw;7r!CgU%J8riKb*$8JBZ{%@PUz0tTWWNvK4+~GdxBwPePlD z4g?QAfJwc1GVz6w0SIe-b;&pCHx`_ymZc}pCxosBC#M+3ta;c7LKXIYB+Dnnh5Sz} z|A_SexnN+fZ{MnK&udU4&_S}*sFu{8q?M{zmY+KlGmZhv zB)gdGIC|=8SFW1-P_H!l+`9=-3@6s1fgP7MC?5>q0O}!DWY23!ut+ztre3e#zb89^ zgvVKH$;-#-Q%bR(Kqu3{#1%i+G=_8kNOYH9X4$W{O-9EgA2mnsLm%cekIFZUL*IL* zN-kP0rtJ^28L(CCu0BH`EUzJPdAh^T zdk3IcN(w{cOT&fK<72~CVwDX=?OZtfT-*6pR!E2&`J;!Ve{JdYc>R}l_&#_P%)W+97gGVtP2%aL;~<`CHZbNhDOmZ z{ka2uT~GyAS_%*SN4pd`z&Z%Y38z+xXjCzNv!Cee03+(~Yih99i+U=q_?L&t(s)7f z-&(}0WtMp2po6x5(}ew)W{`r22(f2Fc;EazHE`qrz(hjr8!_~U{SptqC|6WL>g}u{Us4&?4d*g{)f23CqY|&}XTG=y zc9)8=e26B%$O(vzfro)QR?kMuR~55qG@Y1IJrU3d~DOH$XGzvDbIJ^X!{? z#2_*QA>znfXNsD){4z8u#Ug*OySFP*B?NMvZIr8)Z_r{a1Zv>p-TcD0u4&K3HTz&( zSUz^eHWYW^Qxs&R0fWX@dq+DGL*10Uegc-Bm@IRS_Jtk zPDbPp`@p&j1yQUOKwlBDb1Bu|pZue8>{?5oeFm>eEUF1?mcWJ;x}j7yA8 zq@8inlz`Shp-ilo{Hsz$nfX+aUmoIIoOX&I9Rs!Jt@)JFA%BbsN)CO)T*fsS*j~+_ z`aKaak@98hSDR<~t=S0`I{XYFfk6|QcTLWTLMXWoPPJp+h|aWHZH z%SP+E<3-n>cT$_-!N~3}TRH6?7z-6~w1wK8SRS18t`E&}Gw3#6KVL}!D6->uYZQLE zLP>x!r5Jt?d*$f?^aG{tQ!g`dX<65+TPt~FIIbt9jJ&zDDOFxoWw2)JCB2?BL^`Sr z?PSZ@hAl`JpW*xL+qhfG2X`Edv&=wu3Sf#A$x^lnB%{sZ8IAW-o{pl^p1= zv$r4SI|9Gp=Et-JIZF|oNqn+6?z&(q!DjBPVC`Fo!!48svhxZi1MCJ$Mp5mG^3${9 zU6aW6RfG}%X2ScnV69BX`nfKbLE2QXrOL|I5|v+TwY|IPa+EQ<*R_yi2U_fdak6`054l@jb{g3fvA#z=+yv-89R9W+hz#%wA={&Y+2HMk94`wInK_5}ELMYfN? zwh`YoTl>`eeSzU_q^_5}h4N2`ct)MAEd>~e`+AmtC5tFl1DIp&(}JTJ;p3>}!hAvj z)yf)&8*V*5NmW6r4&B(#+0yK#QGq+Q_M(i;bbuf81k*zm2rAGdx)V(CPdy$3tx;p?3;CGl|N(8r`to*?`~z-tm-?yCZGZ`15eMqbg&}2?&hsd6i8x zI<+MqlwqMZ(%Ug=rN(L3S*-@1cQ2oOk;nlz&Hr{-=*OXo0YiUcAl2&K99lzlX_z7u zq=#6wU|QZ(Nv@jkkyd1{L#ARhUJ!yMdkQ1zZ@#=hl_;V{G2MHWfcjmQ2d?nmt9FWb zs?a0pI-6k^i>VqzD$S?}(X=#MOvEWmjeG?zAfeV^!g6#Cwzhpf6dW$(?p14-){@GVJ@5#bAe&9VdMe8h}C zA;Q?scSDfARju%wr=YzT5zUOU$*%}!!IZCIh7~y-X!>;mvmk^?P;OCx)T8q|)8k<~ zBF($;_yKkRcb;X%sxwA4v1?y#R`qFPbTtvfP14Kl`eF79(M1rQAHR(6`Ea?d{4t(z(xInJ%9uP0ioxC zM1#FZ2dn|;H;T9_K^X|ZtB82Ed=jG!+?}$HUjQts8Ej4dBCVk#q-v%lV}Q$vDvKE+ zjDRo7|0O8!A|9RQZLT3mmKah(xlSoY;T#$kw$Trs-w_IP2wda?ima>CA~|`6&0Du*4%5}N-pl>?EW}d#9ys_cP0U1+FXS;(#Ke!b?KNbq9GC;w%T0uH zonraQ)*>hPV;0fhkfj~C-yZ7?r3v4kFy(+pR4kQe@oZlO`6eZ_L`AT&tOU4m`}sG_ z0LSJ8+Gl84^p=ky#K(ZW)cd)NcQHf#qI6-42*`igF^uwAU2zM+5ZMiTOb&BA>&>k= z;Ob>rveQ?H)+nEz^4@cZN^>Jx?cxnM3>(~75W%XR*JxKNN~j;vThfemHu`=KNf^v@`6CP8qds4tu1X=|7?9enx(RCqTaj0qmQ`u2Y5UH*NH zUdb1p0So`@Vf-7{0ZG? zHonO*YfhhPmI`|hT%`u^HO_qF+z^7gaY7Cs54bppg9huKC-`D?@bmKy&>9dviMr6> zLhgOtfb>Xi9S!{^$H8_{zU}T23n`U#^+tcLHigU|Kk0fl{Bsh2Xj1Z|`z@z9fB!}8 zVYZ@=`PU0s+eRiB5cgZtrp+cCdgsmWgzXlE4x=;dW5?^Tq02Mj$oAN9(A)37&g6*< zrqeSTQTmS~`|duIx6^o(E|28aH2J0b<{nx@MSj5QnV@-%8{ZD8?AWDuhtK#~*Px9> zE{+NcW7nz?l1gwWa&*lIC*`o-D+MJf$CU=qxLmB^cR;j`8Cp6x9aGN@G0H%&1v+tI z-*-&S9njV!Sdajg2HDc(^vLpJSzan5SrhAw(RNp7rC@?XFL}wQD+T$hupi@r8niZa zE~D-G25-3<%t~5Ec;R^(8rtpKNF>YFVt`zPqiZO{RJn>ADH0rqjVQ^v%Os>Y(-L*fz)StI*hUDa1>^`+O46=uVids;l4l-0&zBOC|;Ka zJdudk3LHv5kM?!rM#K!aebed#NIt35`4*^ekZfh42t%&BCTA)f6?F>C_WVPEgI)k6 z1bBc#?c3RXh`w7fw9|bmxskP2;lcz#B&NWi6>ftC?VMzRCZ%?^?%vuI1K#b{E7_f# zKOE_P-1!Iv2afgl5PT@Lz97+=1h3@`{46=SD3ewJ z&f;(kGcEIl6Ke+O;5_mpH?AVQN^}d74UW5^=xDt{B6*<4L{x+z{w}%MDL^qLB)>1r z{8LD(8^X~&E8#09<=2T%I~PjXe>7CLoO4KuxDHlxn&hrxj}GM{wNd#5Z;8_R%v^e@ zCKl)$DU?XU(Odu=laY5j@&1g&iiQncUipxIC*%F!-ofOL@IpO3XLE2>jAEXUf$WqQIcQi$HfTnQd}ywQ3!pB zLgic2z77vHc9{?OLDGaz;q(LzILCR>JY=FB{F)a1k2{N&}C@Qqd{Ih;FCOm{(N zTC);Twk1B8AA0Dh5;G;mlYl80dH!((5}dDNoL&8P>O0WdQ_+WSk$mD@HMH=mJA1S8gQ% zocmTh0xas@<|#7`)Ig~5oxvs?c97PwSuh%(!D+R0&4RK`I;LVqnlz_J-mQAMHC=6`QjT8Tu#09Zrm9xDlW3tulOmjuA4 zn3%@HQ#&eC!goCkc`mXd!&;5_jPDK;?<9-{-q41IK$%M!3MW-TP(Rxb$xL!l`V&&} zxy9x6#J<+>(PXZJIFz9^ZtxQhCe3e=m^Y)sg5^Gr2hD6v+V4U}S|fU&+Up`O7v_sE zdQAkr&%pHw5pUHPyAwTy@G1{meQYjvF@LQU^9pD<0X@1E_Uwg!!=L;-w&}~K9X0VM zlTDpVycj!3K&9RL^C8J-`1^2PtJ-#;rqSCI)1x4r@&FwB8MBCntnX$Pqk6PGq%luA zBUEApt6-Ha+;Pz#euD_b)1Hp#R`>f{fq+{L0PIE*1Id@Ug$nG$~)#e%D zW3@`euh-La*!!K_cRlIJqkdD1V!+>-Mf zKAevO`A?RKzH0LdUKKJD>ik$1wj3&4RtY5sU;MAkLIF>9g&R{@W}pa^fgP493tLQ+ zD~fAO^w;Wtmg!G)0pY7ld<3u<%vJY|4aTI&c%X-w2zVnGcowZQ|0l3&dq@U?js=bpc;z*BZx!^^!$gpLZ@)gPwbOORi}_pNRkJj6hHrfV5uefdTBwj8%tu6{{rzW)|Cng z!FkrS+gwHH?CM?5hG{iG$j+*(0GrcAa|3t~Bp5*Xz_!{DOCJW;?S%4_$MKZYglUqiF~iMfA`S zE$YpBE@Fpb1-ZiTu;qIhup1RyMA;F6?O<o2l-hbrLAz{2@ST* zp-$`b2M>F25va2#Z|xSPKXi!(m%yl`&GnIz19upIj^h^2mYFbfZm)Om8Hd5Q)JqeQ zRBXbw;~nJGYqO`JUN~(Go$@_gq#^fe^t1bka*|k(9G&?+;w^O`WOq>FR5!qh2Wnq< z{5(Qn6i#%5DaQy7vy1LKkP>S#u(q4X5N9LjgQ;%DyguHch`cz5bS)_eWUG^-3Z3Q2 z*UKV{vLFnowLv-q@6cDk?~~_d?0V^kQjn*kS;YwVA|P0`xoeZ@=n}%2)_bCqr^@TpXRd{nbAGXpY^9Sd(y4z)saBap0);Fusd~D>vzZ-eri>anH*JfHj zs*oOFW8`;ynxhp}_8C!tSa{E$O7n|8O%5iOWIR#+%jr;SrV$u^ZutK0Gf;22L0Rti zQaq7t90{!~7~Nf0#gE!n^eywFJBSlbn9bI+{Ik<3_xw`yrfuklp*q3B2(j9ZC* z1QqM3j+njiLtsY@1!?hsH|3M&VBycV$?#scUCHvDth{lvhnHq~!R{_J`ZsXAS#}6D z$@eiIwjwoNPkiE!C?#S$-)J_!OaE()wiF+qajH*tlK`SxGgiNj5FTdxXje=x<48On z31Wp1un)fc024hfrD9~@*=tO>Tna85=Xs}*ggtFx0ad_tXFJzoVx7zmjI2qfFurrS z{_^Ec6>1)#SB+wLnA=D(MzmX5Acd5JQtJzRYy0c&6hhF`#2G8C(sE*I&zM^K4#9CI zinWL?XdQrdFv9>*y+RVg-Z&FyguKOSu4%P0Hn%{$P{Rc)SFeA-6gX5)5!~r6N2l%~ zsm*-e!}PRFOf}H2)CD_W#n;}^RHA+wW_U`;Ua8mM^x=n0cqd3 z{cy~3I+vzsi>K=J#hbbsJ?ZAV&-ug-LPnXP07U&BNShMUP8z(z+-34u>%=3o9LzPs z8C7$Jcx?n-;s%MT%!O4P}GPk)#qYMjhZ zV;%-<0vf<)7dXu8eFJ9s+76nT{xJ?;FbvJtQ7opadPxX-LG!s*( zshW}e`AU^v3IE6f{92wTBn%n1(3Y{OpU45YlJnAcF(^2E%>P z+b0c_s*HY&gw!aDKrPyQW==68KP)}Q2q&ZY3|ZiAH~cur&`Wic6Msy#mu!WGQzqS_ z-LE!y1$1k*MsFIpdp;iYMb#|eTo09>imj`9u}xE+GK!}-7-ltKVrkrHIjFaodRO7c zMTxwR)Nk_6feyddNz#@{KPSrX<`{IfcyTFVI1cAtJs%_!QJ-(K*JskpuKR&`JrIdS z9~7#eebOI@LHKE$f-+oO=g!R>gTCz_gCXe~iG;rT`6FAhwV#&*i{HuN;9J0YcSC&} z9qIl4(gy9pxOf$i(Oy-u<0BhSR3TRoH2|vnNNd0aTr8@6=(())-(y`}k^8ab5cf(57t}6VvQ{`0IipUHH$$cfHjX`ngpy~gfpwbGp%ZI+|zh%S+vMA8>kOb@y(qv$|aUt}Iv`aElfBdxJ zL$9`g5u-P0zfsW|!) - [.NET](../dotnet/bot-builder-dotnet-concepts.md) > - [Node.js](../nodejs/bot-builder-nodejs-concepts.md) -This article introduces key concepts in the Bot Builder SDK for Node.js. For an introduction to Bot Framework, see [Bot Framework overview](../overview-introduction-bot-framework.md). +This article introduces key concepts in the Bot Framework SDK for Node.js. For an introduction to Bot Framework, see [Bot Framework overview](../overview-introduction-bot-framework.md). ## Connector @@ -27,8 +27,8 @@ The Bot Framework Connector is a service that connects your bot to multiple *cha The Connector facilitates communication between bot and user by relaying messages from bot to channel and from channel to bot. Your bot's logic is hosted as a web service that receives messages from users through the Connector service, and your bot's replies are sent to the Connector using HTTPS POST. -The Bot Builder SDK for Node.js provides the [UniversalBot][UniversalBot] and [ChatConnector][ChatConnector] classes for configuring the bot to send and receive messages through the Bot Framework Connector. The `UniversalBot` class forms the brains of your bot. It's responsible for managing all the conversations your bot has with a user. The `ChatConnector` class connects your bot to the Bot Framework Connector Service. -For an example that demonstrates using these classes, see [Create a bot with the Bot Builder SDK for Node.js](bot-builder-nodejs-quickstart.md). +The Bot Framework SDK for Node.js provides the [UniversalBot][UniversalBot] and [ChatConnector][ChatConnector] classes for configuring the bot to send and receive messages through the Bot Framework Connector. The `UniversalBot` class forms the brains of your bot. It's responsible for managing all the conversations your bot has with a user. The `ChatConnector` class connects your bot to the Bot Framework Connector Service. +For an example that demonstrates using these classes, see [Create a bot with the Bot Framework SDK for Node.js](bot-builder-nodejs-quickstart.md). The Connector also normalizes the messages that the bot sends to channels so that you can develop your bot in a platform-agnostic way. Normalizing a message involves converting it from the Bot Framework’s schema into the channel’s schema. In cases where the channel does not support all aspects of the framework’s schema, the Connector will try to convert the message to a format that the channel supports. For example, if the bot sends a message that contains a card with action buttons to the SMS channel, the Connector may render the card as an image and include the actions as links in the message’s text. The [Channel Inspector][ChannelInspector] is a web tool that shows you how the Connector renders messages on various channels. @@ -44,7 +44,7 @@ For an example that demonstrates how to send a rich graphical card containing in Dialogs help you organize the conversational logic in your bot and are fundamental to [designing conversation flow](../bot-service-design-conversation-flow.md). For an introduction to dialogs, see [Manage a conversation with dialogs](bot-builder-nodejs-dialog-manage-conversation.md). ## Actions -You'll want to design your bot to be able to handle interruptions like requests for cancellation or help at any time during the conversation flow. The Bot Builder SDK for Node.js provides global message handlers that trigger actions like cancellation or invoking other dialogs. +You'll want to design your bot to be able to handle interruptions like requests for cancellation or help at any time during the conversation flow. The Bot Framework SDK for Node.js provides global message handlers that trigger actions like cancellation or invoking other dialogs. See [Handle user actions](bot-builder-nodejs-dialog-actions.md) for examples of how to use [triggerAction][triggerAction] handlers. @@ -52,14 +52,14 @@ You'll want to design your bot to be able to handle interruptions like requests ## Recognizers When users ask your bot for something, like "help" or "find news", your bot needs to understand what the user is asking for and then take the appropriate action. You can design your bot to recognize intents based on the user’s input and associate that intent with actions. -You can use the built-in regular expression recognizer that the Bot Builder SDK provides, call an external service such as the LUIS API, or implement a custom recognizer to determine the user's intent. +You can use the built-in regular expression recognizer that the Bot Framework SDK provides, call an external service such as the LUIS API, or implement a custom recognizer to determine the user's intent. See [Recognize user intent](bot-builder-nodejs-recognize-intent-messages.md) for examples that demonstrate how to add recognizers to your bot and use them to trigger actions. ## Saving State A key to good bot design is to track the context of a conversation, so that your bot remembers things like the last question the user asked. -Bots built using Bot Builder SDK are designed to be be stateless so that they can easily be scaled to run across multiple compute nodes. The Bot Framework provides a storage system that stores bot data, so that the bot web service can be scaled. Because of that you should generally avoid saving state using a global variable or function closure. Doing so will create issues when you want to scale out your bot. Instead, use the following properties of your bot's [session][Session] object to save data relative to a user or conversation: +Bots built using Bot Framework SDK are designed to be be stateless so that they can easily be scaled to run across multiple compute nodes. The Bot Framework provides a storage system that stores bot data, so that the bot web service can be scaled. Because of that you should generally avoid saving state using a global variable or function closure. Doing so will create issues when you want to scale out your bot. Instead, use the following properties of your bot's [session][Session] object to save data relative to a user or conversation: * **userData** stores information globally for the user across all conversations. * **conversationData** stores information globally for a single conversation. This data is visible to everyone within the conversation so exercise with care when storing data to this property. It’s enabled by default and you can disable it using the bot's [persistConversationData][PersistConversationData] setting. diff --git a/articles/nodejs/bot-builder-nodejs-cortana-skill.md b/articles/nodejs/bot-builder-nodejs-cortana-skill.md index b3c69c1ab..c6a953200 100644 --- a/articles/nodejs/bot-builder-nodejs-cortana-skill.md +++ b/articles/nodejs/bot-builder-nodejs-cortana-skill.md @@ -1,6 +1,6 @@ --- title: Build a speech-enabled bot with Cortana skills | Microsoft Docs -description: Learn how to build a speech-enabled bot with Cortana skills and the Bot Builder SDK for Node.js. +description: Learn how to build a speech-enabled bot with Cortana skills and the Bot Framework SDK for Node.js. author: DeniseMak manager: kamrani ms.topic: article @@ -17,7 +17,7 @@ monikerRange: 'azure-bot-service-3.0' > - [.NET](../dotnet/bot-builder-dotnet-cortana-skill.md) > - [Node.js](../nodejs/bot-builder-nodejs-cortana-skill.md) -The Bot Builder SDK for Node.js enables you to a build speech-enabled bot by connecting it to the Cortana channel as a Cortana skill. +The Bot Framework SDK for Node.js enables you to a build speech-enabled bot by connecting it to the Cortana channel as a Cortana skill. Cortana skills let you provide functionality through Cortana in response to spoken input from a user. > [!TIP] @@ -30,7 +30,7 @@ Creating a Cortana skill using Bot Framework requires very little Cortana-specif ## Adding speech to your bot -Spoken messages from your bot are represented as Speech Synthesis Markup Language (SSML). The Bot Builder SDK lets you include SSML in your bot's responses to control what the bot says, in addition to what it shows. +Spoken messages from your bot are represented as Speech Synthesis Markup Language (SSML). The Bot Framework SDK lets you include SSML in your bot's responses to control what the bot says, in addition to what it shows. ### session.say diff --git a/articles/nodejs/bot-builder-nodejs-dialog-actions.md b/articles/nodejs/bot-builder-nodejs-dialog-actions.md index e86983904..f5c1411fe 100644 --- a/articles/nodejs/bot-builder-nodejs-dialog-actions.md +++ b/articles/nodejs/bot-builder-nodejs-dialog-actions.md @@ -1,6 +1,6 @@ --- title: Handle user actions | Microsoft Docs -description: Learn how to handle user actions by enabling your bot to listen for and handle user input containing certain keywords using the Bot Builder SDK for Node.js. +description: Learn how to handle user actions by enabling your bot to listen for and handle user input containing certain keywords using the Bot Framework SDK for Node.js. author: DucVo ms.author: v-ducvo manager: kamrani @@ -232,7 +232,7 @@ bot.dialog('orderDinner', [ ### Bind an endConversationAction -Binding an `endConversationAction` will register it to the dialog. Once triggered, this action ends the conversation with the user. Triggering this action is similar to calling the [endConversation](https://docs.botframework.com/en-us/node/builder/chat-reference/classes/_botbuilder_d_.session.html#endconversation) method. Once a conversation ends, the Bot Builder SDK for Node.js will clear the dialog stack and persisted state data. For more information on persisted state data, see [Manage state data](bot-builder-nodejs-state.md). +Binding an `endConversationAction` will register it to the dialog. Once triggered, this action ends the conversation with the user. Triggering this action is similar to calling the [endConversation](https://docs.botframework.com/en-us/node/builder/chat-reference/classes/_botbuilder_d_.session.html#endconversation) method. Once a conversation ends, the Bot Framework SDK for Node.js will clear the dialog stack and persisted state data. For more information on persisted state data, see [Manage state data](bot-builder-nodejs-state.md). The following code snippet shows how to bind an [endConversationAction][endConversationAction] to a dialog. diff --git a/articles/nodejs/bot-builder-nodejs-dialog-manage-conversation-flow.md b/articles/nodejs/bot-builder-nodejs-dialog-manage-conversation-flow.md index 0fe11d46d..2c99e49d9 100644 --- a/articles/nodejs/bot-builder-nodejs-dialog-manage-conversation-flow.md +++ b/articles/nodejs/bot-builder-nodejs-dialog-manage-conversation-flow.md @@ -1,6 +1,6 @@ --- title: Manage a conversation flow with dialogs | Microsoft Docs -description: Learn how to manage a conversation between a bot and a user with dialogs in the Bot Builder SDK for Node.js. +description: Learn how to manage a conversation between a bot and a user with dialogs in the Bot Framework SDK for Node.js. author: v-ducvo ms.author: v-ducvo manager: kamrani @@ -19,9 +19,9 @@ monikerRange: 'azure-bot-service-3.0' > - [.NET](../dotnet/bot-builder-dotnet-manage-conversation-flow.md) > - [Node.js](../nodejs/bot-builder-nodejs-dialog-manage-conversation-flow.md) -Managing conversation flow is an essential task in building bots. A bot needs to be able to perform core tasks elegantly and handle interruptions gracefully. With the Bot Builder SDK for Node.js, you can manage conversation flow using dialogs. +Managing conversation flow is an essential task in building bots. A bot needs to be able to perform core tasks elegantly and handle interruptions gracefully. With the Bot Framework SDK for Node.js, you can manage conversation flow using dialogs. -A dialog is like a function in a program. It is generally designed to perform a specific operation and it can be invoked as often as it is needed. You can chain multiple dialogs together to handle just about any conversation flow that you want your bot to handle. The Bot Builder SDK for Node.js includes built-in features such as [prompts](bot-builder-nodejs-dialog-prompt.md) and [waterfalls](bot-builder-nodejs-dialog-waterfall.md) to help you manage conversation flow. +A dialog is like a function in a program. It is generally designed to perform a specific operation and it can be invoked as often as it is needed. You can chain multiple dialogs together to handle just about any conversation flow that you want your bot to handle. The Bot Framework SDK for Node.js includes built-in features such as [prompts](bot-builder-nodejs-dialog-prompt.md) and [waterfalls](bot-builder-nodejs-dialog-waterfall.md) to help you manage conversation flow. This article provides a series of examples to explain how to manage both simple conversation flows and complex conversation flows where your bot can handle interruptions and resume the flow gracefully using dialogs. The examples are based on the following scenarios: @@ -169,7 +169,7 @@ With this technique, you can separate the conversation flow from the task logic. In the process of guiding the user through a series of tasks, if the user has questions or wants to request additional information before answering, how would you handle those requests? For example, regardless of where the user is in the conversation, how would the bot respond if the user enters "Help", "Support" or "Cancel"? What if the user wants additional information about a step? What happens if the user changes their mind and wants to abandon the current task to start a completely different task? -The Bot Builder SDK for Node.js allows a bot to listen for certain input within a global context or within a local context in the scope of the current dialog. These inputs are called [actions](bot-builder-nodejs-dialog-actions.md), which allow the bot to listen for user input based on a `matches` clause. It's up to the bot to decide how to react to specific user inputs. +The Bot Framework SDK for Node.js allows a bot to listen for certain input within a global context or within a local context in the scope of the current dialog. These inputs are called [actions](bot-builder-nodejs-dialog-actions.md), which allow the bot to listen for user input based on a `matches` clause. It's up to the bot to decide how to react to specific user inputs. ### Handle global action diff --git a/articles/nodejs/bot-builder-nodejs-dialog-overview.md b/articles/nodejs/bot-builder-nodejs-dialog-overview.md index 47af3759d..54bb0dc73 100644 --- a/articles/nodejs/bot-builder-nodejs-dialog-overview.md +++ b/articles/nodejs/bot-builder-nodejs-dialog-overview.md @@ -1,6 +1,6 @@ --- title: Dialogs overview | Microsoft Docs -description: Learn how to use dialogs within the Bot Builder SDK for Node.js to model conversations and manage conversation flow. +description: Learn how to use dialogs within the Bot Framework SDK for Node.js to model conversations and manage conversation flow. author: DucVo ms.author: v-ducvo manager: kamrani @@ -11,7 +11,7 @@ ms.date: 12/13/2017 monikerRange: 'azure-bot-service-3.0' --- -# Dialogs in the Bot Builder SDK for Node.js +# Dialogs in the Bot Framework SDK for Node.js [!INCLUDE [pre-release-label](../includes/pre-release-label-v3.md)] @@ -19,13 +19,13 @@ monikerRange: 'azure-bot-service-3.0' > - [.NET](../dotnet/bot-builder-dotnet-dialogs.md) > - [Node.js](../nodejs/bot-builder-nodejs-dialog-overview.md) -Dialogs in the Bot Builder SDK for Node.js allow you to model conversations and manage conversation flow. A bot communicates with a user via conversations. Conversations are organized into dialogs. Dialogs can contain waterfall steps, and prompts. As the user interacts with the bot, the bot will start, stop, and switch between various dialogs in response to user messages. Understanding how dialogs work is key to successfully designing and creating great bots. +Dialogs in the Bot Framework SDK for Node.js allow you to model conversations and manage conversation flow. A bot communicates with a user via conversations. Conversations are organized into dialogs. Dialogs can contain waterfall steps, and prompts. As the user interacts with the bot, the bot will start, stop, and switch between various dialogs in response to user messages. Understanding how dialogs work is key to successfully designing and creating great bots. This article introduces dialog concepts. After you read this article, then follow the links in the [Next steps](#next-steps) section to dive deeper into these concepts. ## Conversations through dialogs -Bot Builder SDK for Node.js defines a conversation as the communication between a bot and a user through one or more dialogs. A dialog, at its most basic level, is a reusable module that performs an operation or collects information from a user. You can encapsulate the complex logic of your bot in reusable dialog code. +Bot Framework SDK for Node.js defines a conversation as the communication between a bot and a user through one or more dialogs. A dialog, at its most basic level, is a reusable module that performs an operation or collects information from a user. You can encapsulate the complex logic of your bot in reusable dialog code. A conversation can be structured and changed in many ways: diff --git a/articles/nodejs/bot-builder-nodejs-dialog-prompt.md b/articles/nodejs/bot-builder-nodejs-dialog-prompt.md index 54d58d014..36ce74814 100644 --- a/articles/nodejs/bot-builder-nodejs-dialog-prompt.md +++ b/articles/nodejs/bot-builder-nodejs-dialog-prompt.md @@ -1,6 +1,6 @@ --- title: Prompt for user input | Microsoft Docs -description: Learn how to use prompts to collect user input with the Bot Builder SDK for Node.js. +description: Learn how to use prompts to collect user input with the Bot Framework SDK for Node.js. author: v-ducvo ms.author: v-ducvo manager: kamrani @@ -15,7 +15,7 @@ monikerRange: 'azure-bot-service-3.0' [!INCLUDE [pre-release-label](../includes/pre-release-label-v3.md)] -The Bot Builder SDK for Node.js provides a set of built-in prompts to simplify collecting inputs from a user. +The Bot Framework SDK for Node.js provides a set of built-in prompts to simplify collecting inputs from a user. A *prompt* is used whenever a bot needs input from the user. You can use prompts to ask a user for a series of inputs by chaining the prompts in a waterfall. You can use prompts in conjunction with [waterfall](bot-builder-nodejs-dialog-waterfall.md) to help you [manage conversation flow](bot-builder-nodejs-manage-conversation-flow.md) in your bot. @@ -69,7 +69,7 @@ bot.dialog('askName', [ ``` ## Prompt types -The Bot Builder SDK for Node.js includes several different types of built-in prompts. +The Bot Framework SDK for Node.js includes several different types of built-in prompts. |**Prompt type** | **Description** | | ------------------ | --------------- | diff --git a/articles/nodejs/bot-builder-nodejs-dialog-replace.md b/articles/nodejs/bot-builder-nodejs-dialog-replace.md index b237f9457..22049912f 100644 --- a/articles/nodejs/bot-builder-nodejs-dialog-replace.md +++ b/articles/nodejs/bot-builder-nodejs-dialog-replace.md @@ -1,6 +1,6 @@ --- title: Replace dialogs | Microsoft Docs -description: Learn how to replace dialogs to re-prompt for input and manage conversation flow using the Bot Builder SDK for Node.js. +description: Learn how to replace dialogs to re-prompt for input and manage conversation flow using the Bot Framework SDK for Node.js. author: v-ducvo ms.author: v-ducvo manager: kamrani @@ -15,11 +15,11 @@ monikerRange: 'azure-bot-service-3.0' [!INCLUDE [pre-release-label](../includes/pre-release-label-v3.md)] -The ability to replace a dialog can be useful when you need to validate user input or repeat an action during the course of a conversation. With the Bot Builder SDK for Node.js, you can replace a dialog by using the [`session.replaceDialog`](http://docs.botframework.com/en-us/node/builder/chat-reference/classes/_botbuilder_d_.session#replacedialog) method. This method enables you to end the current dialog and replace it with a new dialog without returning to the caller. +The ability to replace a dialog can be useful when you need to validate user input or repeat an action during the course of a conversation. With the Bot Framework SDK for Node.js, you can replace a dialog by using the [`session.replaceDialog`](http://docs.botframework.com/en-us/node/builder/chat-reference/classes/_botbuilder_d_.session#replacedialog) method. This method enables you to end the current dialog and replace it with a new dialog without returning to the caller. ## Create custom prompts to validate input -The Bot Builder SDK for Node.js includes input validation for some types of [prompts](bot-builder-nodejs-dialog-prompt.md) such as `Prompts.time` and `Prompts.choice`. To validate text input that you receive in response to `Prompts.text`, you must create your own validation logic and custom prompts. +The Bot Framework SDK for Node.js includes input validation for some types of [prompts](bot-builder-nodejs-dialog-prompt.md) such as `Prompts.time` and `Prompts.choice`. To validate text input that you receive in response to `Prompts.text`, you must create your own validation logic and custom prompts. You may want to validate an input if the input must comply with a certain value, pattern, range, or criteria that you define. If an input fails validation, the bot can prompt the user for that information again by using the `session.replaceDialog` method. diff --git a/articles/nodejs/bot-builder-nodejs-dialog-waterfall.md b/articles/nodejs/bot-builder-nodejs-dialog-waterfall.md index 5fb298b3b..9a396dbca 100644 --- a/articles/nodejs/bot-builder-nodejs-dialog-waterfall.md +++ b/articles/nodejs/bot-builder-nodejs-dialog-waterfall.md @@ -1,6 +1,6 @@ --- title: Define conversation steps with waterfalls | Microsoft Docs -description: Learn how to use waterfalls to define the steps of a conversation with the Bot Builder SDK for Node.js. +description: Learn how to use waterfalls to define the steps of a conversation with the Bot Framework SDK for Node.js. author: v-ducvo ms.author: v-ducvo manager: kamrani @@ -40,7 +40,7 @@ bot.dialog('greetings', [ ]); ``` -What makes this possible is the use of prompts. The Bot Builder SDK for Node.js provides several different types of built-in [prompts](bot-builder-nodejs-dialog-prompt.md) that you can use to ask the user for various types of information. +What makes this possible is the use of prompts. The Bot Framework SDK for Node.js provides several different types of built-in [prompts](bot-builder-nodejs-dialog-prompt.md) that you can use to ask the user for various types of information. The following sample code shows a dialog that uses prompts to collect various pieces of information from the user throughout a 4-step waterfall. diff --git a/articles/nodejs/bot-builder-nodejs-handle-conversation-events.md b/articles/nodejs/bot-builder-nodejs-handle-conversation-events.md index 2da2645b4..85b0fcf30 100644 --- a/articles/nodejs/bot-builder-nodejs-handle-conversation-events.md +++ b/articles/nodejs/bot-builder-nodejs-handle-conversation-events.md @@ -1,6 +1,6 @@ --- title: Handle user and conversation events | Microsoft Docs -description: Learn how to handle events such as a user joining a conversation using the Bot Builder SDK for Node.js. +description: Learn how to handle events such as a user joining a conversation using the Bot Framework SDK for Node.js. author: DucVo ms.author: v-ducvo manager: kamrani diff --git a/articles/nodejs/bot-builder-nodejs-intercept-messages.md b/articles/nodejs/bot-builder-nodejs-intercept-messages.md index ea0f74952..70a7c1099 100644 --- a/articles/nodejs/bot-builder-nodejs-intercept-messages.md +++ b/articles/nodejs/bot-builder-nodejs-intercept-messages.md @@ -1,6 +1,6 @@ --- title: Intercept messages | Microsoft Docs -description: Learn how to create logs or other records by intercepting and processing information exchanges using the Bot Builder SDK for Node.js. +description: Learn how to create logs or other records by intercepting and processing information exchanges using the Bot Framework SDK for Node.js. author: RobStand ms.author: kamrani manager: kamrani @@ -22,7 +22,7 @@ monikerRange: 'azure-bot-service-3.0' ## Example -The following code sample shows how to intercept messages that are exchanged between user and bot by using the concept of **middleware** in the Bot Builder SDK for Node.js. +The following code sample shows how to intercept messages that are exchanged between user and bot by using the concept of **middleware** in the Bot Framework SDK for Node.js. First, configure the handler for incoming messages (`botbuilder`) and for outgoing messages (`send`). @@ -61,4 +61,4 @@ update `logIncomingMessage` and `logOutgoingMessage` as necessary to define the ## Sample code -For a complete sample that shows how to intercept and log messages using the Bot Builder SDK for Node.js, see the Middleware and Logging sample in GitHub. +For a complete sample that shows how to intercept and log messages using the Bot Framework SDK for Node.js, see the Middleware and Logging sample in GitHub. diff --git a/articles/nodejs/bot-builder-nodejs-localization.md b/articles/nodejs/bot-builder-nodejs-localization.md index 822e0f7bf..1968fde52 100644 --- a/articles/nodejs/bot-builder-nodejs-localization.md +++ b/articles/nodejs/bot-builder-nodejs-localization.md @@ -1,6 +1,6 @@ --- title: Support localization | Microsoft Docs -description: Learn how to determine where the user is and enable localization functionality using the Bot Builder SDK for Node.js. +description: Learn how to determine where the user is and enable localization functionality using the Bot Framework SDK for Node.js. author: DeniseMak ms.author: v-demak manager: kamrani @@ -106,7 +106,7 @@ var bot = new builder.UniversalBot(connector, { ``` ## Localize prompts -The default localization system for the Bot Builder SDK is file-based and allows a bot to support multiple languages using JSON files stored on disk. By default, the localization system will search for the bot's prompts in the **./locale//index.json** file where is a valid [IETF language tag][IEFT] representing the preferred locale for which to find prompts. +The default localization system for the Bot Framework SDK is file-based and allows a bot to support multiple languages using JSON files stored on disk. By default, the localization system will search for the bot's prompts in the **./locale//index.json** file where is a valid [IETF language tag][IEFT] representing the preferred locale for which to find prompts. The following screenshot shows the directory structure for a bot that supports three languages: English, Italian, and Spanish. diff --git a/articles/nodejs/bot-builder-nodejs-message-create.md b/articles/nodejs/bot-builder-nodejs-message-create.md index 184d3e1e1..c0349b177 100644 --- a/articles/nodejs/bot-builder-nodejs-message-create.md +++ b/articles/nodejs/bot-builder-nodejs-message-create.md @@ -1,6 +1,6 @@ --- title: Create messages | Microsoft Docs -description: Learn how create messages with the Bot Builder SDK for Node.js. +description: Learn how create messages with the Bot Framework SDK for Node.js. author: v-ducvo ms.author: v-ducvo manager: kamrani @@ -20,7 +20,7 @@ This article describes some of the commonly-used message methods you can use to ## Default message handler -The Bot Builder SDK for Node.js comes with a default message handler built into the [`session`](https://docs.botframework.com/en-us/node/builder/chat-reference/classes/_botbuilder_d_.session.html) object. This message handler allows you to send and receive text messages between the bot and the user. +The Bot Framework SDK for Node.js comes with a default message handler built into the [`session`](https://docs.botframework.com/en-us/node/builder/chat-reference/classes/_botbuilder_d_.session.html) object. This message handler allows you to send and receive text messages between the bot and the user. ### Send a text message diff --git a/articles/nodejs/bot-builder-nodejs-overview.md b/articles/nodejs/bot-builder-nodejs-overview.md index 66784e73b..56ec139e5 100644 --- a/articles/nodejs/bot-builder-nodejs-overview.md +++ b/articles/nodejs/bot-builder-nodejs-overview.md @@ -1,6 +1,6 @@ --- -title: Bot Builder SDK for Node.js | Microsoft Docs -description: Explore the Bot Builder SDK for Node.js, a powerful, easy-to-use bot building framework. +title: Bot Framework SDK for Node.js | Microsoft Docs +description: Explore the Bot Framework SDK for Node.js, a powerful, easy-to-use bot building framework. author: v-ducvo ms.author: v-ducvo manager: kamrani @@ -11,7 +11,7 @@ ms.date: 12/13/2017 monikerRange: 'azure-bot-service-3.0' --- -# Bot Builder SDK for Node.js +# Bot Framework SDK for Node.js [!INCLUDE [pre-release-label](../includes/pre-release-label-v3.md)] @@ -20,10 +20,10 @@ monikerRange: 'azure-bot-service-3.0' > - [Node.js](../nodejs/bot-builder-nodejs-overview.md) > - [REST](../rest-api/bot-framework-rest-overview.md) -Bot Builder SDK for Node.js is a powerful, easy-to-use framework that provides a familiar way for Node.js developers to write bots. +Bot Framework SDK for Node.js is a powerful, easy-to-use framework that provides a familiar way for Node.js developers to write bots. You can use it to build a wide variety of conversational user interfaces, from simple prompts to free-form conversations. -The conversational logic for your bot is hosted as a web service. The Bot Builder SDK uses restify, a popular framework for building web services, to create the bot's web server. +The conversational logic for your bot is hosted as a web service. The Bot Framework SDK uses restify, a popular framework for building web services, to create the bot's web server. The SDK is also compatible with Express and the use of other web app frameworks is possible with some adaption. Using the SDK, you can take advantage of the following SDK features: @@ -37,13 +37,13 @@ Using the SDK, you can take advantage of the following SDK features: If you are new to writing bots, [create your first bot with Node.js](bot-builder-nodejs-quickstart.md) with step-by-step instructions to help you set up your project, install the SDK, and run your first bot. -If you are new to the Bot Builder SDK for Node.js, you can start with key concepts that help you understand the major components of the Bot Builder SDK, see [Key concepts](bot-builder-nodejs-concepts.md). +If you are new to the Bot Framework SDK for Node.js, you can start with key concepts that help you understand the major components of the Bot Framework SDK, see [Key concepts](bot-builder-nodejs-concepts.md). To ensure your bot addresses the top user scenarios, review the [design principles](../bot-service-design-principles.md) and [explore patterns](../bot-service-design-pattern-task-automation.md) for guidance. ## Get samples -The [Bot Builder SDK for Node.js samples](bot-builder-nodejs-samples.md) demonstrate task-focused bots that show how to take advantage of features in the Bot Builder SDK for Node.js. You can use the samples to help you quickly get started with building great bots with rich capabilities. +The [Bot Framework SDK for Node.js samples](bot-builder-nodejs-samples.md) demonstrate task-focused bots that show how to take advantage of features in the Bot Framework SDK for Node.js. You can use the samples to help you quickly get started with building great bots with rich capabilities. ## Next steps > [!div class="nextstepaction"] @@ -51,7 +51,7 @@ The [Bot Builder SDK for Node.js samples](bot-builder-nodejs-samples.md) demonst ## Additional resources -The following task-focused how-to guides demonstrate various features of the Bot Builder SDK for Node.js. +The following task-focused how-to guides demonstrate various features of the Bot Framework SDK for Node.js. * [Respond to messages](bot-builder-nodejs-use-default-message-handler.md) * [Handle user actions](bot-builder-nodejs-dialog-actions.md) @@ -61,7 +61,7 @@ The following task-focused how-to guides demonstrate various features of the Bot * [Saving user data](bot-builder-nodejs-save-user-data.md) -If you encounter problems or have suggestions regarding the Bot Builder SDK for Node.js, +If you encounter problems or have suggestions regarding the Bot Framework SDK for Node.js, see [Support](../bot-service-resources-links-help.md) for a list of available resources. diff --git a/articles/nodejs/bot-builder-nodejs-proactive-messages.md b/articles/nodejs/bot-builder-nodejs-proactive-messages.md index de79a39e0..55438855d 100644 --- a/articles/nodejs/bot-builder-nodejs-proactive-messages.md +++ b/articles/nodejs/bot-builder-nodejs-proactive-messages.md @@ -1,6 +1,6 @@ --- title: Send proactive messages | Microsoft Docs -description: Learn how to interrupt the current conversation flow with a proactive message using the Bot Builder SDK for Node.js +description: Learn how to interrupt the current conversation flow with a proactive message using the Bot Framework SDK for Node.js author: v-ducvo ms.author: v-ducvo manager: kamrani @@ -25,7 +25,7 @@ monikerRange: 'azure-bot-service-3.0' ## Send an ad hoc proactive message -The following code samples show how to send an ad hoc proactive message by using the Bot Builder SDK for Node.js. +The following code samples show how to send an ad hoc proactive message by using the Bot Framework SDK for Node.js. To be able to send an ad hoc message to a user, the bot must first collect and save information about the user from the current conversation. The **address** property of the message includes all of the information that the bot will need to send an ad hoc message to the user later. @@ -68,7 +68,7 @@ function sendProactiveMessage(address) { ## Send a dialog-based proactive message -The following code samples show how to send a dialog-based proactive message by using the Bot Builder SDK for Node.js. You can find the complete working example in the [Microsoft/BotBuilder-Samples/Node/core-proactiveMessages/startNewDialog](https://github.com/Microsoft/BotBuilder-Samples/tree/master/Node/core-proactiveMessages/startNewDialog) folder. +The following code samples show how to send a dialog-based proactive message by using the Bot Framework SDK for Node.js. You can find the complete working example in the [Microsoft/BotBuilder-Samples/Node/core-proactiveMessages/startNewDialog](https://github.com/Microsoft/BotBuilder-Samples/tree/master/Node/core-proactiveMessages/startNewDialog) folder. To be able to send a dialog-based message to a user, the bot must first collect (and save) information from the current conversation. The `session.message.address` object includes all of the information that the bot will need to send a dialog-based proactive message to the user. @@ -121,7 +121,7 @@ bot.dialog('survey', function (session, args, next) { ## Sample code -For a complete sample that shows how to send proactive messages using the Bot Builder SDK for Node.js, see the Proactive Messages sample in GitHub. +For a complete sample that shows how to send proactive messages using the Bot Framework SDK for Node.js, see the Proactive Messages sample in GitHub. Within the Proactive Messages sample, simpleSendMessage shows how to send an ad-hoc proactive message and startNewDialog shows how to send a dialog-based proactive message. ## Additional resources diff --git a/articles/nodejs/bot-builder-nodejs-quickstart.md b/articles/nodejs/bot-builder-nodejs-quickstart.md index f2bc2cc80..40c6517c0 100644 --- a/articles/nodejs/bot-builder-nodejs-quickstart.md +++ b/articles/nodejs/bot-builder-nodejs-quickstart.md @@ -4,8 +4,8 @@ redirect_url: /bot-framework/javascript/bot-builder-javascript-quickstart diff --git a/articles/nodejs/bot-builder-nodejs-recognize-intent-luis.md b/articles/nodejs/bot-builder-nodejs-recognize-intent-luis.md index c3a9b7f06..01e823d0d 100644 --- a/articles/nodejs/bot-builder-nodejs-recognize-intent-luis.md +++ b/articles/nodejs/bot-builder-nodejs-recognize-intent-luis.md @@ -1,6 +1,6 @@ --- title: Recognize intents and entities with LUIS | Microsoft Docs -description: Integrate a bot with LUIS to detect the user's intent and respond appropriately by triggering dialogs using the Bot Builder SDK for Node.js. +description: Integrate a bot with LUIS to detect the user's intent and respond appropriately by triggering dialogs using the Bot Framework SDK for Node.js. author: DeniseMak ms.author: v-demak manager: kamrani diff --git a/articles/nodejs/bot-builder-nodejs-recognize-intent-messages.md b/articles/nodejs/bot-builder-nodejs-recognize-intent-messages.md index 73d7177b7..070408ae2 100644 --- a/articles/nodejs/bot-builder-nodejs-recognize-intent-messages.md +++ b/articles/nodejs/bot-builder-nodejs-recognize-intent-messages.md @@ -52,11 +52,11 @@ Once you've registered a recognizer, you can associate the recognizer with an ac ## Disambiguate between multiple intents -Your bot can register more than one recognizer. Notice that the custom recognizer example involves assigning a numerical score to each intent. This is done since your bot may have more than one recognizer, and the Bot Builder SDK provides built-in logic to disambiguate between intents returned by multiple recognizers. The score assigned to an intent is typically between 0.0 and 1.0, but a custom recognizer may define an intent greater than 1.1 to ensure that that intent will always be chosen by the Bot Builder SDK's disambiguation logic. +Your bot can register more than one recognizer. Notice that the custom recognizer example involves assigning a numerical score to each intent. This is done since your bot may have more than one recognizer, and the Bot Framework SDK provides built-in logic to disambiguate between intents returned by multiple recognizers. The score assigned to an intent is typically between 0.0 and 1.0, but a custom recognizer may define an intent greater than 1.1 to ensure that that intent will always be chosen by the Bot Framework SDK's disambiguation logic. By default, recognizers run in parallel, but you can set recognizeOrder in [IIntentRecognizerSetOptions][IntentRecognizerSetOptions] so the process quits as soon as your bot finds one that gives a score of 1.0. -The Bot Builder SDK includes a [sample][DisambiguationSample] that demonstrates how to provide custom disambiguation logic in your bot by implementing [IDisambiguateRouteHandler][IDisambiguateRouteHandler]. +The Bot Framework SDK includes a [sample][DisambiguationSample] that demonstrates how to provide custom disambiguation logic in your bot by implementing [IDisambiguateRouteHandler][IDisambiguateRouteHandler]. ## Next steps The logic for using regular expressions and inspecting message contents can become complex, especially if your bot's conversational flow is open-ended. To help your bot handle a wider variety of textual and spoken input from users, you can use an intent recognition service like [LUIS][LUIS] to add natural language understanding to your bot. diff --git a/articles/nodejs/bot-builder-nodejs-request-payment.md b/articles/nodejs/bot-builder-nodejs-request-payment.md index 9740d2a9b..2d6718515 100644 --- a/articles/nodejs/bot-builder-nodejs-request-payment.md +++ b/articles/nodejs/bot-builder-nodejs-request-payment.md @@ -1,6 +1,6 @@ --- title: Request payment | Microsoft Docs -description: Learn how to send a payment request using the Bot Builder SDK for Node.js. +description: Learn how to send a payment request using the Bot Framework SDK for Node.js. author: v-ducvo ms.author: v-ducvo manager: kamrani @@ -21,11 +21,11 @@ monikerRange: 'azure-bot-service-3.0' If your bot enables users to purchase items, it can request payment by including a special type of button within a [rich card](bot-builder-nodejs-send-rich-cards.md). -This article describes how to send a payment request using the Bot Builder SDK for Node.js. +This article describes how to send a payment request using the Bot Framework SDK for Node.js. ## Prerequisites -Before you can send a payment request using the Bot Builder SDK for Node.js, you must complete these prerequisite tasks. +Before you can send a payment request using the Bot Framework SDK for Node.js, you must complete these prerequisite tasks. ### Register and configure your bot diff --git a/articles/nodejs/bot-builder-nodejs-samples.md b/articles/nodejs/bot-builder-nodejs-samples.md index de616a640..c033c1d9d 100644 --- a/articles/nodejs/bot-builder-nodejs-samples.md +++ b/articles/nodejs/bot-builder-nodejs-samples.md @@ -1,6 +1,6 @@ --- -title: Sample bots for Bot Builder SDK for Node.js | Microsoft Docs -description: Explore a large selection of sample bots that can help kickstart your bot development with the Bot Builder SDK for Node.js. +title: Sample bots for Bot Framework SDK for Node.js | Microsoft Docs +description: Explore a large selection of sample bots that can help kickstart your bot development with the Bot Framework SDK for Node.js. author: v-ducvo ms.author: kamrani manager: kamrani @@ -10,11 +10,11 @@ ms.subservice: sdk ms.date: 12/13/2017 monikerRange: 'azure-bot-service-3.0' --- -# Bot Builder SDK for Node.js samples +# Bot Framework SDK for Node.js samples [!INCLUDE [pre-release-label](../includes/pre-release-label-v3.md)] -These samples demonstrate task-focused bots that show how to take advantage of features in the Bot Builder SDK for Node.js. You can use the samples to help you quickly get started with building great bots with rich capabilities. +These samples demonstrate task-focused bots that show how to take advantage of features in the Bot Framework SDK for Node.js. You can use the samples to help you quickly get started with building great bots with rich capabilities. ## Get the samples To get the samples, clone the [BotBuilder-Samples](https://github.com/Microsoft/BotBuilder-Samples) GitHub repository using Git. @@ -24,7 +24,7 @@ git clone https://github.com/Microsoft/BotBuilder-Samples.git cd BotBuilder-Samples ``` -The sample bots built with the Bot Builder SDK for Node.js are organized in the **Node** directory. +The sample bots built with the Bot Framework SDK for Node.js are organized in the **Node** directory. You can also view the samples on GitHub and deploy them to Azure directly. diff --git a/articles/nodejs/bot-builder-nodejs-search-azure.md b/articles/nodejs/bot-builder-nodejs-search-azure.md index 1603e0baf..2e04bf21b 100644 --- a/articles/nodejs/bot-builder-nodejs-search-azure.md +++ b/articles/nodejs/bot-builder-nodejs-search-azure.md @@ -1,6 +1,6 @@ --- title: Create data-driven experiences with Azure Search | Microsoft Docs -description: Learn how to create data-driven experiences with Azure Search and help users navigate large amounts of content in a bot with the Bot Builder SDK for Node.js and Azure Search. +description: Learn how to create data-driven experiences with Azure Search and help users navigate large amounts of content in a bot with the Bot Framework SDK for Node.js and Azure Search. author: matthewshim-ms ms.author: v-shimma manager: kamrani @@ -81,7 +81,7 @@ The `SearchLibrary` not only stores all of your search related dialogs, but also ## Create a search dialog You may choose to structure your dialogs however you want. The only requirement to setting up an Azure Search dialog is to invoke the `.begin` method -from the `SearchLibrary` object, passing in the `session` object generated by the Bot Builder SDK. +from the `SearchLibrary` object, passing in the `session` object generated by the Bot Framework SDK. ```javascript function (session) { @@ -147,7 +147,7 @@ function searchHitAsCard(showSave, searchHit) { ## Sample code -For two complete samples that show how to support Azure Search with bots using the Bot Builder SDK for Node.js, see the +For two complete samples that show how to support Azure Search with bots using the Bot Framework SDK for Node.js, see the [Real Estate Bot sample](https://github.com/Microsoft/BotBuilder-Samples/tree/master/Node/demo-Search/RealEstateBot) or [Job Listing Bot sample](https://github.com/Microsoft/BotBuilder-Samples/tree/master/Node/demo-Search/JobListingBot) in GitHub. ## Additional resources diff --git a/articles/nodejs/bot-builder-nodejs-send-input-hints.md b/articles/nodejs/bot-builder-nodejs-send-input-hints.md index 909a3b096..2f4de2fce 100644 --- a/articles/nodejs/bot-builder-nodejs-send-input-hints.md +++ b/articles/nodejs/bot-builder-nodejs-send-input-hints.md @@ -1,6 +1,6 @@ --- title: Add input hints to messages | Microsoft Docs -description: Learn how to add input hints to messages using the Bot Builder SDK for .NET. +description: Learn how to add input hints to messages using the Bot Framework SDK for .NET. author: v-ducvo ms.author: kamrani manager: kamrani @@ -43,7 +43,7 @@ On many channels, this will cause the client's input box to be disabled and micr ## Default values for input hint -If you do not set the input hint for a message, the Bot Builder SDK will automatically set it for you by using this logic: +If you do not set the input hint for a message, the Bot Framework SDK will automatically set it for you by using this logic: - If your bot sends a prompt, the input hint for the message will specify that your bot is **expecting input**. - If your bot sends single message, the input hint for the message will specify that your bot is **accepting input**. @@ -52,7 +52,7 @@ If you do not set the input hint for a message, the Bot Builder SDK will automat ## Additional resources - [Add speech to messages](bot-builder-nodejs-text-to-speech.md) -- [Bot Builder SDK for Node.js Reference][SDKReference] +- [Bot Framework SDK for Node.js Reference][SDKReference] [SDKReference]: https://docs.botframework.com/en-us/node/builder/chat-reference/modules/_botbuilder_d_.html diff --git a/articles/nodejs/bot-builder-nodejs-send-receive-attachments.md b/articles/nodejs/bot-builder-nodejs-send-receive-attachments.md index be46a349c..e896a23f4 100644 --- a/articles/nodejs/bot-builder-nodejs-send-receive-attachments.md +++ b/articles/nodejs/bot-builder-nodejs-send-receive-attachments.md @@ -1,6 +1,6 @@ --- title: Send and receive attachments | Microsoft Docs -description: Learn how to send and receive messages containing attachments using the Bot Builder SDK for Node.js. +description: Learn how to send and receive messages containing attachments using the Bot Framework SDK for Node.js. author: DeniseMak ms.author: v-demak manager: kamrani diff --git a/articles/nodejs/bot-builder-nodejs-send-rich-cards.md b/articles/nodejs/bot-builder-nodejs-send-rich-cards.md index db7ba7df9..3473423d1 100644 --- a/articles/nodejs/bot-builder-nodejs-send-rich-cards.md +++ b/articles/nodejs/bot-builder-nodejs-send-rich-cards.md @@ -1,6 +1,6 @@ --- title: Add rich card attachments to messages | Microsoft Docs -description: Learn how to send interactive, engaging rich cards using the Bot Builder SDK for Node.js. +description: Learn how to send interactive, engaging rich cards using the Bot Framework SDK for Node.js. author: v-ducvo ms.author: v-ducvo manager: kamrani diff --git a/articles/nodejs/bot-builder-nodejs-send-suggested-actions.md b/articles/nodejs/bot-builder-nodejs-send-suggested-actions.md index 2a9f3d4d0..f46ad77a7 100644 --- a/articles/nodejs/bot-builder-nodejs-send-suggested-actions.md +++ b/articles/nodejs/bot-builder-nodejs-send-suggested-actions.md @@ -1,6 +1,6 @@ --- title: Add suggested actions to messages | Microsoft Docs -description: Learn how to send suggested actions within messages using the Bot Builder SDK for Node.js. +description: Learn how to send suggested actions within messages using the Bot Framework SDK for Node.js. author: v-ducvo ms.author: kamrani manager: kamrani diff --git a/articles/nodejs/bot-builder-nodejs-send-typing-indicator.md b/articles/nodejs/bot-builder-nodejs-send-typing-indicator.md index dc73cd404..769f7bc37 100644 --- a/articles/nodejs/bot-builder-nodejs-send-typing-indicator.md +++ b/articles/nodejs/bot-builder-nodejs-send-typing-indicator.md @@ -1,6 +1,6 @@ --- title: Send a typing indicator | Microsoft Docs -description: Learn how to add a "please wait" indicator to tell a user a bot is processing a request using the Bot Builder SDK for Node.js +description: Learn how to add a "please wait" indicator to tell a user a bot is processing a request using the Bot Framework SDK for Node.js author: DeniseMak ms.author: v-demak manager: kamrani diff --git a/articles/nodejs/bot-builder-nodejs-state-azure-cosmosdb.md b/articles/nodejs/bot-builder-nodejs-state-azure-cosmosdb.md index 4db62a991..08c941aaf 100644 --- a/articles/nodejs/bot-builder-nodejs-state-azure-cosmosdb.md +++ b/articles/nodejs/bot-builder-nodejs-state-azure-cosmosdb.md @@ -1,6 +1,6 @@ --- title: Manage custom state data with Azure Cosmos DB | Microsoft Docs -description: Learn how to save and retrieve state data using Azure Cosmos DB with the Bot Builder SDK for Node.js. +description: Learn how to save and retrieve state data using Azure Cosmos DB with the Bot Framework SDK for Node.js. author: DucVo ms.author: v-ducvo manager: kamrani diff --git a/articles/nodejs/bot-builder-nodejs-state-azure-table-storage.md b/articles/nodejs/bot-builder-nodejs-state-azure-table-storage.md index 2086f2115..f61fb49ad 100644 --- a/articles/nodejs/bot-builder-nodejs-state-azure-table-storage.md +++ b/articles/nodejs/bot-builder-nodejs-state-azure-table-storage.md @@ -1,6 +1,6 @@ --- title: Manage custom state data with Azure Table storage | Microsoft Docs -description: Learn how to save and retrieve state data using Azure Table storage with the Bot Builder SDK for Node.js. +description: Learn how to save and retrieve state data using Azure Table storage with the Bot Framework SDK for Node.js. author: DucVo ms.author: v-ducvo manager: kamrani diff --git a/articles/nodejs/bot-builder-nodejs-state.md b/articles/nodejs/bot-builder-nodejs-state.md index fa70ab159..fff3f808e 100644 --- a/articles/nodejs/bot-builder-nodejs-state.md +++ b/articles/nodejs/bot-builder-nodejs-state.md @@ -1,6 +1,6 @@ --- title: Manage state data | Microsoft Docs -description: Learn how to save and retrieve state data with the Bot Builder SDK for Node.js. +description: Learn how to save and retrieve state data with the Bot Framework SDK for Node.js. author: DucVo ms.author: v-ducvo manager: kamrani @@ -51,7 +51,7 @@ With either of these [Azure Extensions](https://www.npmjs.com/package/botbuilder ## Storage containers -In the Bot Builder SDK for Node.js, the `session` object exposes the following properties for storing state data. +In the Bot Framework SDK for Node.js, the `session` object exposes the following properties for storing state data. | Property | Scoped to | Description | | ---- | ---- | ---- | @@ -124,7 +124,7 @@ session.userdata.start = startDate.toISOString(); ### Saving data -Data that is created in each storage container will remain in memory until the container is saved. The Bot Builder SDK for Node.js sends data to the `ChatConnector` service in batches to be saved when there are messages to be sent. To save the data that exists in the storage containers without sending any messages, you can manually call the [`save`](https://docs.botframework.com/en-us/node/builder/chat-reference/classes/_botbuilder_d_.session.html#save) method. If you do not call the `save` method, the data that exists in the storage containers will be persisted as part of the batch processing. +Data that is created in each storage container will remain in memory until the container is saved. The Bot Framework SDK for Node.js sends data to the `ChatConnector` service in batches to be saved when there are messages to be sent. To save the data that exists in the storage containers without sending any messages, you can manually call the [`save`](https://docs.botframework.com/en-us/node/builder/chat-reference/classes/_botbuilder_d_.session.html#save) method. If you do not call the `save` method, the data that exists in the storage containers will be persisted as part of the batch processing. ```javascript session.userData.favoriteColor = "Red"; diff --git a/articles/nodejs/bot-builder-nodejs-text-to-speech.md b/articles/nodejs/bot-builder-nodejs-text-to-speech.md index aa8f4b8ad..d16e124cf 100644 --- a/articles/nodejs/bot-builder-nodejs-text-to-speech.md +++ b/articles/nodejs/bot-builder-nodejs-text-to-speech.md @@ -1,6 +1,6 @@ --- title: Add speech to messages | Microsoft Docs -description: Learn how to add speech to messages using the Bot Builder SDK for Node.js. +description: Learn how to add speech to messages using the Bot Framework SDK for Node.js. author: v-ducvo ms.author: kamrani manager: kamrani @@ -24,7 +24,7 @@ If you are building a bot for a speech-enabled channel such as Cortana, you can ## Specify text to be spoken by your bot -Using the Bot Builder SDK for Node.js, there are multiple ways to specify the text to be spoken by your bot on a speech-enabled channel. You can set the `IMessage.speak` property and send the message using the `session.send()` method, send the message using the `session.say()` method (passing parameters that specify display text, speech text, and options), or send the message using a built-in prompt (specifying options `speak` and `retrySpeak`). +Using the Bot Framework SDK for Node.js, there are multiple ways to specify the text to be spoken by your bot on a speech-enabled channel. You can set the `IMessage.speak` property and send the message using the `session.send()` method, send the message using the `session.say()` method (passing parameters that specify display text, speech text, and options), or send the message using a built-in prompt (specifying options `speak` and `retrySpeak`). ### IMessage.speak @@ -67,13 +67,13 @@ When you send a message on a speech-enabled channel, you can attempt to influenc ## Sample code -For a complete sample that shows how to create a speech-enabled bot using the Bot Builder SDK for .NET, see the Roller sample in GitHub. +For a complete sample that shows how to create a speech-enabled bot using the Bot Framework SDK for .NET, see the Roller sample in GitHub. ## Additional resources - Speech Synthesis Markup Language (SSML) - Roller sample (GitHub) -- [Bot Builder SDK for Node.js Reference][SDKReference] +- [Bot Framework SDK for Node.js Reference][SDKReference] [SDKReference]: https://docs.botframework.com/en-us/node/builder/chat-reference/modules/_botbuilder_d_.html diff --git a/articles/nodejs/cortana-skill-concepts.md b/articles/nodejs/cortana-skill-concepts.md index fb873032d..b1a98b4fd 100644 --- a/articles/nodejs/cortana-skill-concepts.md +++ b/articles/nodejs/cortana-skill-concepts.md @@ -1,6 +1,6 @@ --- title: Building a Cortana skill using Node.js | Microsoft Docs -description: Learn core concepts for building a Cortana skill in the Bot Builder SDK for Node.js. +description: Learn core concepts for building a Cortana skill in the Bot Framework SDK for Node.js. keywords: Bot Framework, Cortana skill, speech, Node.js, Bot Builder, SDK, key concepts, core concepts author: DeniseMak manager: kamrani @@ -19,7 +19,7 @@ monikerRange: 'azure-bot-service-3.0' > [!NOTE] > This article is preliminary content and will be updated. -This article introduces key concepts for building a Cortana skill in the Bot Builder SDK for Node.js. +This article introduces key concepts for building a Cortana skill in the Bot Framework SDK for Node.js. ## What is a Cortana skill? A Cortana skill is a bot you can invoke by using a Cortana client, like the one built in to Windows 10. The user launches the bot by saying some keywords or phrases associated with the bot. You use the Bot Framework Portal to configure which keywords are used to launch your bot. diff --git a/articles/python/bot-builder-python-samples.md b/articles/python/bot-builder-python-samples.md index 4a830eb05..3069c7aa2 100644 --- a/articles/python/bot-builder-python-samples.md +++ b/articles/python/bot-builder-python-samples.md @@ -1,6 +1,6 @@ --- -title: Sample bots for Bot Builder SDK for Python | Microsoft Docs -description: Explore sample bots that can help kickstart your bot development with the Bot Builder SDK for Python. +title: Sample bots for Bot Framework SDK for Python | Microsoft Docs +description: Explore sample bots that can help kickstart your bot development with the Bot Framework SDK for Python. author: jonathanfingold ms.author: jonathanfingold manager: kamrani @@ -11,10 +11,10 @@ ms.date: 05/03/2018 monikerRange: 'azure-bot-service-4.0' --- -# Python samples for Bot Builder SDK +# Python samples for Bot Framework SDK [!INCLUDE [pre-release-label](../includes/pre-release-label.md)] -These samples demonstrate task-focused bots that show how to take advantage of features in the Bot Builder SDK for Python. The SDK v4 is in preview, visit Python [GitHub repo](https://github.com/Microsoft/botbuilder-python) for more information. +These samples demonstrate task-focused bots that show how to take advantage of features in the Bot Framework SDK for Python. The SDK v4 is in preview, visit Python [GitHub repo](https://github.com/Microsoft/botbuilder-python) for more information. To get the samples, clone the [botbuilder-python](https://github.com/Microsoft/botbuilder-python) GitHub repository using Git. @@ -22,4 +22,4 @@ To get the samples, clone the [botbuilder-python](https://github.com/Microsoft/b git clone https://github.com/Microsoft/botbuilder-python.git cd samples ``` -The sample bots built with the Bot Builder SDK for Python are organized in the **samples** directory. +The sample bots built with the Bot Framework SDK for Python are organized in the **samples** directory. diff --git a/articles/rest-api/bot-framework-rest-connector-authentication.md b/articles/rest-api/bot-framework-rest-connector-authentication.md index a43f1a66c..dcf0093ae 100644 --- a/articles/rest-api/bot-framework-rest-connector-authentication.md +++ b/articles/rest-api/bot-framework-rest-connector-authentication.md @@ -22,7 +22,7 @@ This article describes the authentication technologies and requirements for the > By implementing all steps in this article, you can mitigate the risk of an attacker being able to read messages that > are sent to your bot, send messages that impersonate your bot, and steal secret keys. -If you are using the [Bot Builder SDK for .NET](../dotnet/bot-builder-dotnet-overview.md) or the [Bot Builder SDK for Node.js](../nodejs/index.md), you do not need to implement the security procedures described in this article, because the SDK automatically does it for you. Simply configure your project with the App ID and password that you obtained for your bot during [registration](../bot-service-quickstart-registration.md) and the SDK will handle the rest. +If you are using the [Bot Framework SDK for .NET](../dotnet/bot-builder-dotnet-overview.md) or the [Bot Framework SDK for Node.js](../nodejs/index.md), you do not need to implement the security procedures described in this article, because the SDK automatically does it for you. Simply configure your project with the App ID and password that you obtained for your bot during [registration](../bot-service-quickstart-registration.md) and the SDK will handle the rest. > [!WARNING] > In December 2016, v3.1 of the Bot Framework security protocol introduced changes to several values that are @@ -185,7 +185,7 @@ To get the list of valid signing keys, issue a `GET` request via HTTPS to the UR GET https://login.botframework.com/v1/.well-known/keys ``` -The response body specifies the document in the [JWK format](https://tools.ietf.org/html/rfc7517) but also includes an additional property for each key: `endorsements`. The list of keys is relatively stable and may be cached for long periods of time (by default, 5 days within the Bot Builder SDK). +The response body specifies the document in the [JWK format](https://tools.ietf.org/html/rfc7517) but also includes an additional property for each key: `endorsements`. The list of keys is relatively stable and may be cached for long periods of time (by default, 5 days within the Bot Framework SDK). The `endorsements` property within each key contains one or more endorsement strings which you can use to verify that the channel ID specified in the `channelId` property within the [Activity][Activity] object of the incoming request is authentic. The list of channel IDs that require endorsements is configurable within each bot. By default, it will be the list of all published channel IDs, although bot developers may override selected channel ID values either way. If endorsement for a channel ID is required: @@ -338,7 +338,7 @@ payload: > [!WARNING] > Support for v3.0 of the security protocol was discontinued on **July 31, 2017**. -> If you have written your own authentication code (i.e., did not use the Bot Builder SDK to create your bot), +> If you have written your own authentication code (i.e., did not use the Bot Framework SDK to create your bot), > you must upgrade to v3.1 of the security protocol by updating your application to use the v3.1 values that are listed below. ### [Bot to Connector authentication](#bot-to-connector) diff --git a/articles/rest-api/bot-framework-rest-connector-concepts.md b/articles/rest-api/bot-framework-rest-connector-concepts.md index e4878b418..cf940380b 100644 --- a/articles/rest-api/bot-framework-rest-connector-concepts.md +++ b/articles/rest-api/bot-framework-rest-connector-concepts.md @@ -39,10 +39,10 @@ Both the Bot Connector service and the Bot State service enable authentication w The Bot Framework provides client libraries that can be used to build bots in either C# or Node.js. -- To build a bot using C#, use the [Bot Builder SDK for C#](../dotnet/bot-builder-dotnet-overview.md). -- To build a bot using Node.js, use the [Bot Builder SDK for Node.js](../nodejs/index.md). +- To build a bot using C#, use the [Bot Framework SDK for C#](../dotnet/bot-builder-dotnet-overview.md). +- To build a bot using Node.js, use the [Bot Framework SDK for Node.js](../nodejs/index.md). -In addition to modeling the Bot Connector service and the Bot State service, each Bot Builder SDK also provides a powerful system for building dialogs that encapsulate conversational logic, built-in prompts for simple things such as Yes/No, strings, numbers, and enumerations, built-in support for powerful AI frameworks such as LUIS, and more. +In addition to modeling the Bot Connector service and the Bot State service, each Bot Framework SDK also provides a powerful system for building dialogs that encapsulate conversational logic, built-in prompts for simple things such as Yes/No, strings, numbers, and enumerations, built-in support for powerful AI frameworks such as LUIS, and more. > [!NOTE] > As an alternative to using the C# SDK or Node.js SDK, you can generate your own client library in the language of your choice by using the Bot Connector Swagger file and the Bot State Swagger file. diff --git a/articles/rest-api/bot-framework-rest-overview.md b/articles/rest-api/bot-framework-rest-overview.md index 73cff9472..a8657c637 100644 --- a/articles/rest-api/bot-framework-rest-overview.md +++ b/articles/rest-api/bot-framework-rest-overview.md @@ -1,5 +1,5 @@ --- -title: Bot Builder REST APIs | Microsoft Docs +title: Bot Framework REST APIs | Microsoft Docs description: Get started with the Bot Framework REST APIs that can be used to build bots and clients that connect to bots. author: RobStand ms.author: kamrani @@ -24,8 +24,8 @@ You can create a bot with any programming language by using the Bot Connector se > [!TIP] > The Bot Framework provides client libraries that can be used to build bots in either C# or Node.js. -> To build a bot using C#, use the [Bot Builder SDK for C#](../dotnet/bot-builder-dotnet-overview.md). -> To build a bot using Node.js, use the [Bot Builder SDK for Node.js](../nodejs/index.md). +> To build a bot using C#, use the [Bot Framework SDK for C#](../dotnet/bot-builder-dotnet-overview.md). +> To build a bot using Node.js, use the [Bot Framework SDK for Node.js](../nodejs/index.md). To learn more about building bots using the Bot Connector service, see [Key concepts](bot-framework-rest-connector-concepts.md). diff --git a/articles/v4sdk/bot-builder-authentication.md b/articles/v4sdk/bot-builder-authentication.md index d8e905f85..b4a26b492 100644 --- a/articles/v4sdk/bot-builder-authentication.md +++ b/articles/v4sdk/bot-builder-authentication.md @@ -29,7 +29,7 @@ The features include: - Improvements to the channels to support new authentication features, such as new WebChat and DirectLineJS libraries to eliminate the need for the 6-digit magic code verification. - Improvements to the Azure Portal to add, delete, and configure connection settings to various OAuth identity providers. - Support for a variety of out-of-the-box identity providers including Azure AD (both v1 and v2 endpoints), GitHub, and others. -- Updates to the C# and Node.js Bot Builder SDKs to be able to retrieve tokens, create OAuthCards and handle TokenResponse events. +- Updates to the C# and Node.js Bot Framework SDKs to be able to retrieve tokens, create OAuthCards and handle TokenResponse events. - Samples for how to make a bot that authenticates to Azure AD. You can extrapolate from the steps in this article to add such features to an existing bot. The following are sample bots that demonstrate the new authentication features @@ -484,4 +484,4 @@ private isTeamsVerificationInvoke(context: TurnContext): boolean { On subsequent calls to the bot, notice that the token is never cached by this sample bot. This is because the bot can always ask the Azure Bot Service for the token. This avoids the bot needing to manage the token life-cycle, refresh the token, etc, as Azure Bot Service does all of this for you. ## Additional resources -[Bot Builder SDK](https://github.com/microsoft/botbuilder) +[Bot Framework SDK](https://github.com/microsoft/botbuilder) diff --git a/articles/v4sdk/bot-builder-basics.md b/articles/v4sdk/bot-builder-basics.md index fbb5b599c..1856e4374 100644 --- a/articles/v4sdk/bot-builder-basics.md +++ b/articles/v4sdk/bot-builder-basics.md @@ -1,6 +1,6 @@ --- title: How bots work | Microsoft Docs -description: Describes how activity and http work within the Bot Builder SDK. +description: Describes how activity and http work within the Bot Framework SDK. keywords: conversation flow, turn, bot conversation, dialogs, prompts, waterfalls, dialog set author: johnataylor ms.author: johtaylo @@ -8,7 +8,7 @@ manager: kamrani ms.topic: article ms.service: bot-service ms.subservice: sdk -ms.date: 11/15/2018 +ms.date: 1/10/2019 monikerRange: 'azure-bot-service-4.0' --- @@ -16,7 +16,7 @@ monikerRange: 'azure-bot-service-4.0' [!INCLUDE [pre-release-label](../includes/pre-release-label.md)] -A bot is an app that users interact with in a conversational way, using text, graphics (such as cards or images), or speech. Every interaction between the user and the bot generates an *activity*. The Bot Service sends information between the user's bot-connected app (such as Facebook, Skype, Slack, etc. which we call the *channel*) and the bot. Each channel may include additional information in the activities they send. Before creating bots, it is important to understand how a bot uses activity objects to communicate with its users. Let's first take a look at activities that are exchanged when we run a simple echo bot. +A bot is an app that users interact with in a conversational way, using text, graphics (such as cards or images), or speech. Every interaction between the user and the bot generates an *activity*. The Bot Framework Service, which is a component of the Azure Bot Service, sends information between the user's bot-connected app (such as Facebook, Skype, Slack, etc. which we call the *channel*) and the bot. Each channel may include additional information in the activities they send. Before creating bots, it is important to understand how a bot uses activity objects to communicate with its users. Let's first take a look at activities that are exchanged when we run a simple echo bot. ![activity diagram](media/bot-builder-activity.png) @@ -36,7 +36,7 @@ The protocol doesn’t specify the order in which these POST requests and their ### Defining a turn -In a conversation, people often speak one-at-a-time, taking turns speaking. With a bot, it generally reacts to user input. Within the Bot Builder SDK, a _turn_ consists of the user's incoming activity to the bot and any activity the bot sends back to the user as an immediate response. You can think of a turn as the processing associated with the arrival of a given activity. +In a conversation, people often speak one-at-a-time, taking turns speaking. With a bot, it generally reacts to user input. Within the Bot Framework SDK, a _turn_ consists of the user's incoming activity to the bot and any activity the bot sends back to the user as an immediate response. You can think of a turn as the processing associated with the arrival of a given activity. The *turn context* object provides information about the activity such as the sender and receiver, the channel, and other data needed to process the activity. It also allows for the addition of information during the turn across various layers of the bot. diff --git a/articles/v4sdk/bot-builder-channeldata.md b/articles/v4sdk/bot-builder-channeldata.md index 33d85bcfb..86e36e401 100644 --- a/articles/v4sdk/bot-builder-channeldata.md +++ b/articles/v4sdk/bot-builder-channeldata.md @@ -1,6 +1,6 @@ --- title: Implement channel-specific functionality | Microsoft Docs -description: Learn how to implement channel-specific functionality using the Bot Builder SDK for .NET. +description: Learn how to implement channel-specific functionality using the Bot Framework SDK for .NET. keywords: channel specific, email, slack, facebook, telegram, kik, custom channel author: RobStand ms.author: kamrani diff --git a/articles/v4sdk/bot-builder-compositcontrol.md b/articles/v4sdk/bot-builder-compositcontrol.md index 4fc07d3da..e3bdc9cf5 100644 --- a/articles/v4sdk/bot-builder-compositcontrol.md +++ b/articles/v4sdk/bot-builder-compositcontrol.md @@ -1,6 +1,6 @@ --- title: Reuse dialogs | Microsoft Docs -description: Learn how to modularize your bot logic using dialog container in the Bot Builder SDK for Node.js and C#. +description: Learn how to modularize your bot logic using dialog container in the Bot Framework SDK for Node.js and C#. keywords: composite control, modular bot logic author: v-ducvo ms.author: v-ducvo diff --git a/articles/v4sdk/bot-builder-concept-dialog.md b/articles/v4sdk/bot-builder-concept-dialog.md index d5a5645b8..d020a83c7 100644 --- a/articles/v4sdk/bot-builder-concept-dialog.md +++ b/articles/v4sdk/bot-builder-concept-dialog.md @@ -1,6 +1,6 @@ --- -title: Dialogs within the Bot Builder SDK | Microsoft Docs -description: Describes what a dialog is and how it work within the Bot Builder SDK. +title: Dialogs within the Bot Framework SDK | Microsoft Docs +description: Describes what a dialog is and how it work within the Bot Framework SDK. keywords: conversation flow, prompt, dialog state, recognize intent, single turn, multiple turn, bot conversation, dialogs, prompts, waterfalls, dialog set author: johnataylor ms.author: johtaylo diff --git a/articles/v4sdk/bot-builder-concept-middleware.md b/articles/v4sdk/bot-builder-concept-middleware.md index b4be2e349..3e64cf15c 100644 --- a/articles/v4sdk/bot-builder-concept-middleware.md +++ b/articles/v4sdk/bot-builder-concept-middleware.md @@ -79,7 +79,6 @@ In addition to the application and middleware logic, response handlers (also som Remember, each new activity gets a new thread to execute on. When the thread to process the activity is created, the list of handlers for that activity is copied to that new thread. No handlers added after that point will be executed for that specific activity event. The handlers registered on a context object are handled very similarly to how the adapter manages the middleware pipeline. Namely, handlers get called in the order they're added, and calling the next delegate passes control to the next registered event handler. If a handler doesn’t call the next delegate, none of the subsequent event handlers are called, the event short circuits, and the adapter does not send the response to the channel. - ## Handling state in middleware A common method to save state is to call the save changes method at the end of the turn handler. Here is a diagram with a focus on the call. @@ -94,4 +93,4 @@ Add the state management objects that will need updating to a _bot state set_ ob ## Additional resources -You can take a look at the transcript logger middleware, as implemented in the Bot Builder SDK [[C#](https://github.com/Microsoft/botbuilder-dotnet/blob/master/libraries/Microsoft.Bot.Builder/TranscriptLoggerMiddleware.cs) | [JS](https://github.com/Microsoft/botbuilder-js/blob/master/libraries/botbuilder-core/src/transcriptLogger.ts)]. +You can take a look at the transcript logger middleware, as implemented in the Bot Framework SDK [[C#](https://github.com/Microsoft/botbuilder-dotnet/blob/master/libraries/Microsoft.Bot.Builder/TranscriptLoggerMiddleware.cs) | [JS](https://github.com/Microsoft/botbuilder-js/blob/master/libraries/botbuilder-core/src/transcriptLogger.ts)]. diff --git a/articles/v4sdk/bot-builder-concept-state.md b/articles/v4sdk/bot-builder-concept-state.md index 74c8942c2..cf6967f76 100644 --- a/articles/v4sdk/bot-builder-concept-state.md +++ b/articles/v4sdk/bot-builder-concept-state.md @@ -1,6 +1,6 @@ --- title: Managing State | Microsoft Docs -description: Describes how state works within the Bot Builder SDK. +description: Describes how state works within the Bot Framework SDK. keywords: state, bot state, conversation state, user state author: ivorb ms.author: v-ivorb diff --git a/articles/v4sdk/bot-builder-conversations.md b/articles/v4sdk/bot-builder-conversations.md index c26a7c612..a594ec482 100644 --- a/articles/v4sdk/bot-builder-conversations.md +++ b/articles/v4sdk/bot-builder-conversations.md @@ -1,6 +1,6 @@ --- -title: Conversations within the Bot Builder SDK | Microsoft Docs -description: Describes what a conversation is within the Bot Builder SDK. +title: Conversations within the Bot Framework SDK | Microsoft Docs +description: Describes what a conversation is within the Bot Framework SDK. keywords: conversation flow, recognize intent, single turn, multiple turn, bot conversation author: jonathanfingold ms.author: jonathanfingold @@ -17,7 +17,7 @@ monikerRange: 'azure-bot-service-4.0' Designing a bot's conversation flow involves deciding how a bot responds when the user says something to it. A bot first recognizes the task or conversation topic based on a message from the user. To determine the task or topic (known as the *intent*) associated with a user's message, the bot can look for words or patterns in the text of the user's message, or it can take advantage of services like [Language Understanding](bot-builder-concept-luis.md) and [QnA Maker](https://docs.microsoft.com/en-us/azure/cognitive-services/qnamaker/overview/overview). -Once the bot has recognized the user's intent, depending on the scenario, the bot could fulfill the user's request with a single reply, completing the conversation in one turn, or it might require a series of turns. For multi-turn conversation flows, the Bot Builder SDK provides [state management](./bot-builder-howto-v4-state.md) for keeping track of a conversation, [prompts](bot-builder-prompts.md) for asking for information, and [dialogs](bot-builder-dialog-manage-conversation-flow.md) for encapsulating conversation flows. +Once the bot has recognized the user's intent, depending on the scenario, the bot could fulfill the user's request with a single reply, completing the conversation in one turn, or it might require a series of turns. For multi-turn conversation flows, the Bot Framework SDK provides [state management](./bot-builder-howto-v4-state.md) for keeping track of a conversation, [prompts](bot-builder-prompts.md) for asking for information, and [dialogs](bot-builder-dialog-manage-conversation-flow.md) for encapsulating conversation flows. In a complex bot with multiple subsystems, it can be the case that you use multiple services to recognize intent, one for each subcomponent of the bot. The [dispatch tool](bot-builder-tutorial-dispatch.md) gets the results of multiple services in one place when you combine conversational subsystems into one bot. @@ -68,7 +68,7 @@ You might design your bot to handle more than one type of task. For example, you ### Recognize intent -The Bot Builder SDK supplies _recognizers_ that can process a message to determine intent, so your bot can initiate the appropriate conversational flow. Call the recognizer's _recognize_ async method to determine the user's intent from their message content. You can then call the _get top scoring intent_ method on the result to get the recognizer's top prediction. +The Bot Framework SDK supplies _recognizers_ that can process a message to determine intent, so your bot can initiate the appropriate conversational flow. Call the recognizer's _recognize_ async method to determine the user's intent from their message content. You can then call the _get top scoring intent_ method on the result to get the recognizer's top prediction. A recognizer could use regular expressions, language understanding, or other logic that you develop. The following are examples of possible recognizers: @@ -107,7 +107,7 @@ If you are storing information about the conversation, you may want to clear tha Your bot can support multi-turn interactions where it prompts users for multiple pieces of information. It can be focused on a very specific task or support multiple types of tasks. -The Bot Builder SDK has some built-in support for language understanding (LUIS) and QnA Maker for adding natural language "question and answer" features to your bot. +The Bot Framework SDK has some built-in support for language understanding (LUIS) and QnA Maker for adding natural language "question and answer" features to your bot. ## Conversations, channels, and users diff --git a/articles/v4sdk/bot-builder-create-middleware.md b/articles/v4sdk/bot-builder-create-middleware.md index 744c955d8..eec33345d 100644 --- a/articles/v4sdk/bot-builder-create-middleware.md +++ b/articles/v4sdk/bot-builder-create-middleware.md @@ -22,7 +22,7 @@ monikerRange: 'azure-bot-service-4.0' [!INCLUDE [pre-release-label](../includes/pre-release-label.md)] -Middleware allows you to write rich plugins for your bots, that can then be used by others as well. Here we'll show how to add and implement basic middleware, and show how it works. The v4 SDK provides some middleware for you, for things such as state management, LUIS, QnAMaker, and translation. Take a look at the bot builder SDK for [.NET](https://github.com/Microsoft/botbuilder-dotnet) or [JavaScript](https://github.com/Microsoft/botbuilder-js) for more information. +Middleware allows you to write rich plugins for your bots, that can then be used by others as well. Here we'll show how to add and implement basic middleware, and show how it works. The v4 SDK provides some middleware for you, for things such as state management, LUIS, QnAMaker, and translation. Take a look at the Bot Framework SDK for [.NET](https://github.com/Microsoft/botbuilder-dotnet) or [JavaScript](https://github.com/Microsoft/botbuilder-js) for more information. ## Adding middleware diff --git a/articles/v4sdk/bot-builder-custom-storage.md b/articles/v4sdk/bot-builder-custom-storage.md index 147684f32..4d575f348 100644 --- a/articles/v4sdk/bot-builder-custom-storage.md +++ b/articles/v4sdk/bot-builder-custom-storage.md @@ -1,6 +1,6 @@ --- title: Implement custom storage for your bot | Microsoft Docs -description: How to build custom storage in Bot Builder SDK v4.0 +description: How to build custom storage in Bot Framework SDK v4.0 keywords: custom, storage, state, dialog author: johnataylor ms.author: johtaylo @@ -22,7 +22,7 @@ to get its job done. In this article, we will be exploring the semantics around the bot’s interactions with the Azure Bot Service and the Store. -The Bot Builder framework includes a default implementation; this implementation will most likely fit the needs of many +The Bot Framework includes a default implementation; this implementation will most likely fit the needs of many applications, and all that is needed to be done to make use of it is to plug the pieces together with a few lines of initialization code. Many of the samples illustrate just that. diff --git a/articles/v4sdk/bot-builder-dialog-manage-complex-conversation-flow.md b/articles/v4sdk/bot-builder-dialog-manage-complex-conversation-flow.md index 6bfbcad44..847bbfe7e 100644 --- a/articles/v4sdk/bot-builder-dialog-manage-complex-conversation-flow.md +++ b/articles/v4sdk/bot-builder-dialog-manage-complex-conversation-flow.md @@ -1,6 +1,6 @@ --- title: Create advanced conversation flow using branches and loops | Microsoft Docs -description: Learn how to manage a complex conversation flow with dialogs in the Bot Builder SDK. +description: Learn how to manage a complex conversation flow with dialogs in the Bot Framework SDK. keywords: complex conversation flow, repeat, loop, menu, dialogs, prompts, waterfalls, dialog set author: JonathanFingold ms.author: v-jofing diff --git a/articles/v4sdk/bot-builder-dialog-manage-conversation-flow.md b/articles/v4sdk/bot-builder-dialog-manage-conversation-flow.md index d2f31f74b..05580147a 100644 --- a/articles/v4sdk/bot-builder-dialog-manage-conversation-flow.md +++ b/articles/v4sdk/bot-builder-dialog-manage-conversation-flow.md @@ -1,6 +1,6 @@ --- title: Implement sequential conversation flow | Microsoft Docs -description: Learn how to manage a simple conversation flow with dialogs in the Bot Builder SDK for Node.js. +description: Learn how to manage a simple conversation flow with dialogs in the Bot Framework SDK for Node.js. keywords: simple conversation flow, sequential conversation flow, dialogs, prompts, waterfalls, dialog set author: JonathanFingold ms.author: v-jofing diff --git a/articles/v4sdk/bot-builder-dialog-state.md b/articles/v4sdk/bot-builder-dialog-state.md index 6e7a5d52d..e77b01c62 100644 --- a/articles/v4sdk/bot-builder-dialog-state.md +++ b/articles/v4sdk/bot-builder-dialog-state.md @@ -51,5 +51,7 @@ The problem with this approach is that any state updates made from some custom m ![state middleware solution](media/bot-builder-dialog-state-solution.png) ## Additional resources -For more details, refer to the Bot Builder SDK on GitHub [[C#](https://github.com/Microsoft/BotBuilder-dotnet) | [JavaScript](https://github.com/Microsoft/BotBuilder-js)]. + +For more details, refer to the Bot Framework SDK on GitHub [[C#](https://github.com/Microsoft/BotBuilder-dotnet) | [JavaScript](https://github.com/Microsoft/BotBuilder-js)]. + --> diff --git a/articles/v4sdk/bot-builder-enterprise-template-overview.md b/articles/v4sdk/bot-builder-enterprise-template-overview.md index b88993a5a..a030bd329 100644 --- a/articles/v4sdk/bot-builder-enterprise-template-overview.md +++ b/articles/v4sdk/bot-builder-enterprise-template-overview.md @@ -16,7 +16,7 @@ monikerRange: 'azure-bot-service-4.0' Creation of a high quality conversational experience requires a foundational set of capabilities. To help you succeed with building great conversational experiences, we have created an Enterprise Bot Template. This template brings together all of the best practices and supporting components we've identified through building of conversational experiences. -This template greatly simplifies the creation of a new bot project. The template will provide the following out of box capabilities, leveraging [Bot Builder SDK v4](https://github.com/Microsoft/botbuilder) and [Bot Builder Tools](https://github.com/Microsoft/botbuilder-tools). +This template greatly simplifies the creation of a new bot project. The template will provide the following out of box capabilities, leveraging [Bot Framework SDK v4](https://github.com/Microsoft/botbuilder) and [Bot Framework Tools](https://github.com/Microsoft/botbuilder-tools). Feature | Description | ------------ | ------------- diff --git a/articles/v4sdk/bot-builder-howto-add-input-hints.md b/articles/v4sdk/bot-builder-howto-add-input-hints.md index e4297f38f..27b014550 100644 --- a/articles/v4sdk/bot-builder-howto-add-input-hints.md +++ b/articles/v4sdk/bot-builder-howto-add-input-hints.md @@ -1,6 +1,6 @@ --- title: Add input hints to messages | Microsoft Docs -description: Learn how to add input hints to messages using the Bot Builder SDK. +description: Learn how to add input hints to messages using the Bot Framework SDK. keywords: Inputhints, accepting input, expecting input, ignoring input, speech author: ivorb ms.author: v-ivorb @@ -113,7 +113,7 @@ await context.sendActivity(basicMessage); ## Default values for input hint -If you do not set the input hint for a message, the Bot Builder SDK will automatically set it for you by using this logic: +If you do not set the input hint for a message, the Bot Framework SDK will automatically set it for you by using this logic: - If your bot sends a prompt, the input hint for the message will specify that your bot is **expecting input**. - If your bot sends a single message, the input hint for the message will specify that your bot is **accepting input**. diff --git a/articles/v4sdk/bot-builder-howto-add-media-attachments.md b/articles/v4sdk/bot-builder-howto-add-media-attachments.md index 0f3ebd663..ea187a5ff 100644 --- a/articles/v4sdk/bot-builder-howto-add-media-attachments.md +++ b/articles/v4sdk/bot-builder-howto-add-media-attachments.md @@ -1,6 +1,6 @@ --- title: Add media to messages | Microsoft Docs -description: Learn how to add media to messages using the Bot Builder SDK. +description: Learn how to add media to messages using the Bot Framework SDK. keywords: media, messages, images, audio, video, files, MessageFactory, rich cards, messages, adaptive cards, hero card, suggested actions author: ivorb ms.author: v-ivorb @@ -16,7 +16,7 @@ monikerRange: 'azure-bot-service-4.0' [!INCLUDE [pre-release-label](../includes/pre-release-label.md)] -Messages exchanged between user and bot can contain media attachments, such as images, video, audio, and files. The Bot Builder SDK supports the task of sending rich messages to the user. To determine the type of rich messages a channel (Facebook, Skype, Slack, etc.) supports, consult the channel's documentation for information about limitations. Refer to [design user experience](../bot-service-design-user-experience.md) for a list of available cards. +Messages exchanged between user and bot can contain media attachments, such as images, video, audio, and files. The Bot Framework SDK supports the task of sending rich messages to the user. To determine the type of rich messages a channel (Facebook, Skype, Slack, etc.) supports, consult the channel's documentation for information about limitations. Refer to [design user experience](../bot-service-design-user-experience.md) for a list of available cards. ## Send attachments @@ -215,7 +215,7 @@ await context.sendActivity(hero); ## Send an Adaptive Card Adaptive Card and MessageFactory are used to send rich messages including texts, images, video, audio and files to communicate with users. However, there are some differences between them. -First, only some channels support Adaptive Cards, and channels that do support it might partially support Adaptive Cards. For example, if you send an Adaptive Card in Facebook, the buttons won't work while texts and images work well. MessageFactory is just a helper class within the Bot Builder SDK to automate creation steps for you, and supported by most channels. +First, only some channels support Adaptive Cards, and channels that do support it might partially support Adaptive Cards. For example, if you send an Adaptive Card in Facebook, the buttons won't work while texts and images work well. MessageFactory is just a helper class within the Bot Framework SDK to automate creation steps for you, and supported by most channels. Second, Adaptive Card delivers messages in the card format, and the channel determines the layout of the card. The format of messages MessageFactory delivers depends on the channel, and is not necessarily in the card format unless Adaptive Card is part of the attachment. diff --git a/articles/v4sdk/bot-builder-howto-add-suggested-actions.md b/articles/v4sdk/bot-builder-howto-add-suggested-actions.md index a269ca7ab..c5d19f709 100644 --- a/articles/v4sdk/bot-builder-howto-add-suggested-actions.md +++ b/articles/v4sdk/bot-builder-howto-add-suggested-actions.md @@ -1,6 +1,6 @@ --- title: Use button for input | Microsoft Docs -description: Learn how to send suggested actions within messages using the Bot Builder SDK for JavaScript. +description: Learn how to send suggested actions within messages using the Bot Framework SDK for JavaScript. keywords: suggested actions, buttons, extra input author: Kaiqb ms.author: kamrani diff --git a/articles/v4sdk/bot-builder-howto-direct-line.md b/articles/v4sdk/bot-builder-howto-direct-line.md index 941e1415c..553a6448a 100644 --- a/articles/v4sdk/bot-builder-howto-direct-line.md +++ b/articles/v4sdk/bot-builder-howto-direct-line.md @@ -1,6 +1,12 @@ +--- +redirect_url: https://github.com/Microsoft/BotBuilder-Samples/tree/v3-sdk-samples +--- + + diff --git a/articles/v4sdk/bot-builder-howto-send-messages.md b/articles/v4sdk/bot-builder-howto-send-messages.md index 43b932db6..36a0db835 100644 --- a/articles/v4sdk/bot-builder-howto-send-messages.md +++ b/articles/v4sdk/bot-builder-howto-send-messages.md @@ -1,6 +1,6 @@ --- title: Send and receive text message | Microsoft Docs -description: Learn about how to send and receive text messages within the Bot Builder SDK. +description: Learn about how to send and receive text messages within the Bot Framework SDK. keywords: sending message, message activities, simple text message, message, text message, receive message author: ivorb ms.author: v-ivorb diff --git a/articles/v4sdk/bot-builder-howto-v4-luis.md b/articles/v4sdk/bot-builder-howto-v4-luis.md index 7a48ccba2..f9faf608a 100644 --- a/articles/v4sdk/bot-builder-howto-v4-luis.md +++ b/articles/v4sdk/bot-builder-howto-v4-luis.md @@ -1,6 +1,6 @@ --- title: Add natural language understanding to your bot | Microsoft Docs -description: Learn how to use LUIS for natural language understanding with the Bot Builder SDK. +description: Learn how to use LUIS for natural language understanding with the Bot Framework SDK. keywords: Language Understanding, LUIS, intent, recognizer, entities, middleware author: ivorb ms.author: v-ivorb diff --git a/articles/v4sdk/bot-builder-howto-v4-luisgen.md b/articles/v4sdk/bot-builder-howto-v4-luisgen.md index 2c3e528a8..a02753136 100644 --- a/articles/v4sdk/bot-builder-howto-v4-luisgen.md +++ b/articles/v4sdk/bot-builder-howto-v4-luisgen.md @@ -6,7 +6,7 @@ redirect_url: https://github.com/Microsoft/botbuilder-tools/blob/master/packages --- title: Extract typed LUIS results | Microsoft Docs -description: Learn how to use LUIS to extract entities with the Bot Builder SDK. +description: Learn how to use LUIS to extract entities with the Bot Framework SDK. keywords: intents, entities, LUISGen, extract author: DeniseMak ms.author: v-demak diff --git a/articles/v4sdk/bot-builder-howto-v4-state.md b/articles/v4sdk/bot-builder-howto-v4-state.md index db42e9c5c..915bd4d92 100644 --- a/articles/v4sdk/bot-builder-howto-v4-state.md +++ b/articles/v4sdk/bot-builder-howto-v4-state.md @@ -1,6 +1,6 @@ --- title: Save user and conversation data | Microsoft Docs -description: Learn how to save and retrieve state data with the Bot Builder SDK. +description: Learn how to save and retrieve state data with the Bot Framework SDK. keywords: conversation state, user state, conversation, saving state, managing bot state author: ivorb ms.author: v-ivorb diff --git a/articles/v4sdk/bot-builder-howto-v4-storage.md b/articles/v4sdk/bot-builder-howto-v4-storage.md index eb4c5b1f2..d9f01cf45 100644 --- a/articles/v4sdk/bot-builder-howto-v4-storage.md +++ b/articles/v4sdk/bot-builder-howto-v4-storage.md @@ -1,6 +1,6 @@ --- title: Write directly to storage | Microsoft Docs -description: Learn how to write directly to storage with the Bot Builder SDK for .NET. +description: Learn how to write directly to storage with the Bot Framework SDK for .NET. keywords: storage, read and write, memory storage, eTag author: DeniseMak ms.author: v-demak diff --git a/articles/v4sdk/bot-builder-primitive-prompts.md b/articles/v4sdk/bot-builder-primitive-prompts.md index aad25e750..91b648faf 100644 --- a/articles/v4sdk/bot-builder-primitive-prompts.md +++ b/articles/v4sdk/bot-builder-primitive-prompts.md @@ -1,6 +1,6 @@ --- title: Create your own prompts to gather user input | Microsoft Docs -description: Learn how to manage a conversation flow with primitive prompts in the Bot Builder SDK. +description: Learn how to manage a conversation flow with primitive prompts in the Bot Framework SDK. keywords: conversation flow, prompts, conversation state, user state, custom prompts author: JonathanFingold ms.author: v-jofing diff --git a/articles/v4sdk/bot-builder-prompts.md b/articles/v4sdk/bot-builder-prompts.md index d3416a9f5..bba34ad93 100644 --- a/articles/v4sdk/bot-builder-prompts.md +++ b/articles/v4sdk/bot-builder-prompts.md @@ -1,6 +1,6 @@ --- title: Gather user input using a dialog prompt| Microsoft Docs -description: Learn how to prompt users for input using the Dialogs library in the Bot Builder SDK. +description: Learn how to prompt users for input using the Dialogs library in the Bot Framework SDK. keywords: prompts, prompt, user input, dialogs, AttachmentPrompt, ChoicePrompt, ConfirmPrompt, DatetimePrompt, NumberPrompt, TextPrompt, reprompt, validation author: JonathanFingold ms.author: v-jofing diff --git a/articles/v4sdk/bot-builder-service-file.md b/articles/v4sdk/bot-builder-service-file.md index 75c1fe419..a6e64a1c6 100644 --- a/articles/v4sdk/bot-builder-service-file.md +++ b/articles/v4sdk/bot-builder-service-file.md @@ -1,7 +1,7 @@ --- -title: Create a bot using Bot Builder SDK for JavaScript | Microsoft Docs -description: Quickly create a bot using the Bot Builder SDK for JavaScript. -keywords: quickstart, bot builder sdk, getting started +title: Create a bot using Bot Framework SDK for JavaScript | Microsoft Docs +description: Quickly create a bot using the Bot Framework SDK for JavaScript. +keywords: quickstart, bot framework sdk, getting started author: jonathanfingold ms.author: jonathanfingold manager: kamrani diff --git a/articles/v4sdk/bot-builder-storage-concept.md b/articles/v4sdk/bot-builder-storage-concept.md index abe94ec6f..a45b75e4a 100644 --- a/articles/v4sdk/bot-builder-storage-concept.md +++ b/articles/v4sdk/bot-builder-storage-concept.md @@ -5,7 +5,7 @@ redirect_url: /bot-framework/bot-builder-howto-v4-state