Student Resources for this Course

Pre-requisites

  1. Visual Studio 2015 (Community version is ok) (could use Visual Studio Code on non-Windows systems – however most these instructions are working from Visual Studio) - download here
  2. A Microsoft Account to log into the Bot Framework developer portal, which you will use to register your Bot as well as to sign up for Cognitive Services subscriptions (if you have Hotmail, Live, Outlook.com, or an Xbox account then you already have a Microsoft Account).
  3. The Bot Framework Emulator from the Bot Framework Downloads page.
  4. The Bot Framework Visual Studio Template (C#) from the Bot Framework Downloads page.
  5. (Optional) Github for Windows (comes with Git Shell) or git on other systems to download this repository.
  6. (Optional) An Azure account for an Azure-accessible REST endpoint (for registering your bot with the Bot Framework service)
  7. (Optional) Developer accounts on one or more communication services (such as Facebook) where your Bot will communicate (Skype is already set up for you).
  8. (Optional) An Azure App Insights account to capture telemetry on your bot.

Slides

The slides can be followed in the following order:

  1. Overview - Bot Framework
  2. Overview - Cognitive Services API
  3. Testing Bots
  4. LUIS
  5. BotsLogging

Hands on Labs

On satisfying the pre-reqs, begin with the Hands on Labs in the following order:

  1. Getting Started with a Simple Bot: BotsTennisLab
  2. Publishing and Registering: BotsPublishingAndRegisteringLab
  3. Intro to Text Analytics in Cognitive Services: CognitiveServicesTextMiningLab
  4. Integration of Cognitive Services API with Bot Framework: BotsSentimentAnalysisLab
  5. Intro to UI Controls for Bots: BotsRichUILab
  6. Track Bot Application’s Health: BotsTelemetryLab
  7. Developing Unit Tests for Bots: BotsUnitTestingLab
  8. Using Ngrok for Rapid Development and Testing: BotsNgrokLab
  9. Develop a LUIS App for your bots: BotsLuisLab
  10. Logging Conversation Data: BotsLoggingLab
  11. Direct Communication with your bot: BotsDirectLineLab