/BotBuilder-Samples

Welcome to the BotBuilder samples repository. Here you will find task-focused samples in C# and Node.js to help you get started with the Bot Builder SDK!

Primary LanguageC#MIT LicenseMIT

Overview

This repository contains samples for the Microsoft Bot Builder V3 SDK.

Samples for the Bot Builder V4 SDK are available under the respective repositories - dotnet, JS, Java, Python.

Samples are organized into groups and designed to illustrate task-focused samples in C# and Node.js to help you build great bots! To use the samples clone our GitHub repository using Git.

git clone https://github.com/Microsoft/BotBuilder-Samples.git
cd BotBuilder-Samples

Core

These examples show the basic techniques needed to build a great bot.

Sample Description C# Node
Send Attachment A sample bot that passes simple media attachments (images) to a user activity. View SampleDeploy to Azure View SampleDeploy to Azure
Receive Attachment A sample bot that receives attachments sent by the user and downloads them. View SampleDeploy to Azure View SampleDeploy to Azure
Create New Conversation A sample bot that starts a new conversation using a previously stored user address. View SampleDeploy to Azure View SampleDeploy to Azure
Proactive Messages Three sample bots that proactively send a message to the user. View Samples View Samples
Get Members of a Conversation A sample bot that retrieves the conversation's members list and detects when it changes. View SampleDeploy to Azure View SampleDeploy to Azure
Direct Line A sample bot and a custom client communicating to each other using the Direct Line API. View SampleDeploy to Azure View SampleDeploy to Azure
Direct Line (WebSockets) A sample bot and a custom client communicating to each other using the Direct Line API + WebSockets. View SampleDeploy to Azure View SampleDeploy to Azure
Basic Multi Dialogs A sample bot showing how to use the dialog stack. View SampleDeploy to Azure View SampleDeploy to Azure
Multi Dialogs A sample bot showing different kind of dialogs. View SampleDeploy to Azure View SampleDeploy to Azure
Global Message Handlers A sample bot showing the usage of Global Message Handlers to handle global commands and manipulate the dialog stack. View SampleDeploy to Azure View SampleDeploy to Azure
Simple Task Automation A sample bot showing how to do simple task automation scenarios. View SampleDeploy to Azure View SampleDeploy to Azure
Progress Dialog A sample bot that shows how to create a progress dialog that will periodically notify users of the status of a long running task. View SampleDeploy to Azure
State API A stateless sample bot tracking context of a conversation. View SampleDeploy to Azure View SampleDeploy to Azure
Custom State API A stateless sample bot tracking context of a conversation using a custom storage provider. View SampleDeploy to Azure View SampleDeploy to Azure
ChannelData A sample bot sending native metadata to Facebook using ChannelData. View SampleDeploy to Azure View SampleDeploy to Azure
ChannelData (Share Button) A sample bot sending native metadata to Facebook to display a Share button. View SampleDeploy to Azure View SampleDeploy to Azure
AppInsights A sample bot which logs telemetry to an Application Insights instance. View SampleDeploy to Azure View SampleDeploy to Azure
Middleware Logging A basic bot that logs incoming and outgoing messages. View SampleDeploy to Azure View SampleDeploy to Azure
Bot in Apps A sample bot showing how to go beyond by becoming embedded into larger applications. View Sample

Cards

These examples emphasize the rich card support in Bot Framework.

Sample Description C# Node
Rich Cards A sample bot to renders several types of cards as attachments. View SampleDeploy to Azure View SampleDeploy to Azure
Carousel of Cards A sample bot that sends multiple rich card attachments in a single message using the Carousel layout. View SampleDeploy to Azure View SampleDeploy to Azure
Cards as Attachments A sample bot that renders several types of cards as attachments, while also showing the generated JSON for each one of these cards at the message's payload. View SampleDeploy to Azure

Intelligence

Build bots with powerful algorithms using Bing & Microsoft Cognitive Services APIs.

Sample Description C# Node
LUIS A sample bot using LuisDialog to integrate with a LUIS.ai application. View SampleDeploy to Azure View SampleDeploy to Azure
Image Caption A sample bot that gets an image caption using Microsoft Cognitive Services Vision API. View SampleDeploy to Azure View SampleDeploy to Azure
Speech To Text A sample bot that gets text from audio using Bing Speech API. View SampleDeploy to Azure View SampleDeploy to Azure
Similar Products A sample bot that finds visually similar products using Bing Image Search API. View SampleDeploy to Azure View SampleDeploy to Azure
Zummer A sample bot that finds wikipedia articles using Bing Search API View SampleDeploy to Azure View SampleDeploy to Azure

Demo

These are bots designed to showcase end-to-end sample scenarios. They're great sources of code fragments if you're looking to have your bot lightup more complex features.

Sample Description C# Node
Contoso Flowers A reference implementation using many features from BotFramework. View SampleDeploy to Azure View SampleDeploy to Azure
Azure Search Two sample bots that help the user navigate large amounts of content. View Samples View SamplesDeploy to Azure
Knowledge Bot A sample that uses Azure Document DB and Azure Search that searches and filters over an underlying dataset. View SampleDeploy to Azure View SampleDeploy to Azure
Roller Skill A simple dice rolling skill/bot that's been optimized for speech enabled channels, like Cortana. View SampleDeploy to Azure View SampleDeploy to Azure
Payments A sample bot showing how to integrate with Microsoft Seller Center for payment processing. View SampleDeploy to Azure View SampleDeploy to Azure
LUIS Action Binding A sample that contains a core implementation for doing LUIS Action Binding. View SampleDeploy to Azure View Sample
Skype Calling A sample bot showing how to use the Skype Bot Plaform for Calling API for receiving and handling Skype voice calls. View SampleDeploy to Azure