Repository files navigation

Overview

Bot Builder 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.

SampleDescriptionC#Node
Send AttachmentA sample bot that passes simple media attachments (images) to a user activity.View SampleDeploy to AzureView SampleDeploy to Azure
Receive AttachmentA sample bot that receives attachments sent by the user and downloads them.View SampleDeploy to AzureView SampleDeploy to Azure
Create New ConversationA sample bot that starts a new conversation using a previously stored user address.View SampleDeploy to AzureView SampleDeploy to Azure
Proactive MessagesThree sample bots that proactively send a message to the user.View SamplesView Samples
Get Members of a ConversationA sample bot that retrieves the conversation's members list and detects when it changes.View SampleDeploy to AzureView SampleDeploy to Azure
Direct LineA sample bot and a custom client communicating to each other using the Direct Line API.View SampleDeploy to AzureView 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 AzureView SampleDeploy to Azure
Basic Multi DialogsA sample bot showing how to use the dialog stack.View SampleDeploy to AzureView SampleDeploy to Azure
Multi DialogsA sample bot showing different kind of dialogs.View SampleDeploy to AzureView SampleDeploy to Azure
Global Message HandlersA sample bot showing the usage of Global Message Handlers to handle global commands and manipulate the dialog stack.View SampleDeploy to AzureView SampleDeploy to Azure
Simple Task AutomationA sample bot showing how to do simple task automation scenarios.View SampleDeploy to AzureView SampleDeploy to Azure
Progress DialogA 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 APIA stateless sample bot tracking context of a conversation.View SampleDeploy to AzureView SampleDeploy to Azure
Custom State APIA stateless sample bot tracking context of a conversation using a custom storage provider.View SampleDeploy to AzureView SampleDeploy to Azure
ChannelDataA sample bot sending native metadata to Facebook using ChannelData.View SampleDeploy to AzureView SampleDeploy to Azure
ChannelData (Share Button)A sample bot sending native metadata to Facebook to display a Share button.View SampleDeploy to AzureView SampleDeploy to Azure
AppInsightsA sample bot which logs telemetry to an Application Insights instance.View SampleDeploy to AzureView SampleDeploy to Azure
Middleware LoggingA basic bot that logs incoming and outgoing messages.View SampleDeploy to AzureView SampleDeploy to Azure
Bot in AppsA 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.

SampleDescriptionC#Node
Rich CardsA sample bot to renders several types of cards as attachments.View SampleDeploy to AzureView SampleDeploy to Azure
Carousel of CardsA sample bot that sends multiple rich card attachments in a single message using the Carousel layout.View SampleDeploy to AzureView SampleDeploy to Azure
Cards as AttachmentsA 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.

SampleDescriptionC#Node
LUISA sample bot using LuisDialog to integrate with a LUIS.ai application.View SampleDeploy to AzureView SampleDeploy to Azure
Image CaptionA sample bot that gets an image caption using Microsoft Cognitive Services Vision API.View SampleDeploy to AzureView SampleDeploy to Azure
Speech To TextA sample bot that gets text from audio using Bing Speech API.View SampleDeploy to AzureView SampleDeploy to Azure
Similar ProductsA sample bot that finds visually similar products using Bing Image Search API.View SampleDeploy to AzureView SampleDeploy to Azure
ZummerA sample bot that finds wikipedia articles using Bing Search APIView SampleDeploy to AzureView 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.

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

About

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!

Resources

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Add copy buttons to all
 blocks\n(function() {\n function addCopyButtons() {\n document.querySelectorAll('pre code').forEach(function(codeBlock) {\n if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;\n codeBlock.parentElement.setAttribute('data-copy-added', 'true');\n \n var btn = document.createElement('button');\n btn.textContent = 'Copy';\n btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';\n btn.onmouseover = function() { this.style.opacity = '1'; };\n btn.onmouseout = function() { this.style.opacity = '0.7'; };\n btn.onclick = function() {\n navigator.clipboard.writeText(codeBlock.textContent).then(function() {\n btn.textContent = 'Copied!';\n setTimeout(function() { btn.textContent = 'Copy'; }, 1500);\n });\n };\n codeBlock.parentElement.style.position = 'relative';\n codeBlock.parentElement.appendChild(btn);\n });\n }\n \n addCopyButtons();\n \n // Re-run on dynamic content\n var observer = new MutationObserver(addCopyButtons);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Add Copy Buttons to Code Blocks");
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Skip to content

Repository files navigation

Overview

Bot Builder 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.

SampleDescriptionC#Node
Send AttachmentA sample bot that passes simple media attachments (images) to a user activity.View SampleDeploy to AzureView SampleDeploy to Azure
Receive AttachmentA sample bot that receives attachments sent by the user and downloads them.View SampleDeploy to AzureView SampleDeploy to Azure
Create New ConversationA sample bot that starts a new conversation using a previously stored user address.View SampleDeploy to AzureView SampleDeploy to Azure
Proactive MessagesThree sample bots that proactively send a message to the user.View SamplesView Samples
Get Members of a ConversationA sample bot that retrieves the conversation's members list and detects when it changes.View SampleDeploy to AzureView SampleDeploy to Azure
Direct LineA sample bot and a custom client communicating to each other using the Direct Line API.View SampleDeploy to AzureView 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 AzureView SampleDeploy to Azure
Basic Multi DialogsA sample bot showing how to use the dialog stack.View SampleDeploy to AzureView SampleDeploy to Azure
Multi DialogsA sample bot showing different kind of dialogs.View SampleDeploy to AzureView SampleDeploy to Azure
Global Message HandlersA sample bot showing the usage of Global Message Handlers to handle global commands and manipulate the dialog stack.View SampleDeploy to AzureView SampleDeploy to Azure
Simple Task AutomationA sample bot showing how to do simple task automation scenarios.View SampleDeploy to AzureView SampleDeploy to Azure
Progress DialogA 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 APIA stateless sample bot tracking context of a conversation.View SampleDeploy to AzureView SampleDeploy to Azure
Custom State APIA stateless sample bot tracking context of a conversation using a custom storage provider.View SampleDeploy to AzureView SampleDeploy to Azure
ChannelDataA sample bot sending native metadata to Facebook using ChannelData.View SampleDeploy to AzureView SampleDeploy to Azure
ChannelData (Share Button)A sample bot sending native metadata to Facebook to display a Share button.View SampleDeploy to AzureView SampleDeploy to Azure
AppInsightsA sample bot which logs telemetry to an Application Insights instance.View SampleDeploy to AzureView SampleDeploy to Azure
Middleware LoggingA basic bot that logs incoming and outgoing messages.View SampleDeploy to AzureView SampleDeploy to Azure
Bot in AppsA 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.

SampleDescriptionC#Node
Rich CardsA sample bot to renders several types of cards as attachments.View SampleDeploy to AzureView SampleDeploy to Azure
Carousel of CardsA sample bot that sends multiple rich card attachments in a single message using the Carousel layout.View SampleDeploy to AzureView SampleDeploy to Azure
Cards as AttachmentsA 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.

SampleDescriptionC#Node
LUISA sample bot using LuisDialog to integrate with a LUIS.ai application.View SampleDeploy to AzureView SampleDeploy to Azure
Image CaptionA sample bot that gets an image caption using Microsoft Cognitive Services Vision API.View SampleDeploy to AzureView SampleDeploy to Azure
Speech To TextA sample bot that gets text from audio using Bing Speech API.View SampleDeploy to AzureView SampleDeploy to Azure
Similar ProductsA sample bot that finds visually similar products using Bing Image Search API.View SampleDeploy to AzureView SampleDeploy to Azure
ZummerA sample bot that finds wikipedia articles using Bing Search APIView SampleDeploy to AzureView 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.

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

About

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!

Resources

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Force GitHub README to respect dark mode\n(function() {\n var style = document.createElement('style');\n style.textContent = '\n .markdown-body {\n color-scheme: dark light;\n }\n .markdown-body pre { background: #161b22 !important; }\n .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; }\n .markdown-body table th, .markdown-body table td { border-color: #30363d !important; }\n .markdown-body img { background: #0d1117; }\n .markdown-body blockquote { border-left-color: #8b949e; }\n .markdown-body hr { border-color: #30363d; }\n ';\n document.head.appendChild(style);\n})();", "GitHub Dark Mode README Fix"); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

Overview

Bot Builder 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.

SampleDescriptionC#Node
Send AttachmentA sample bot that passes simple media attachments (images) to a user activity.View SampleDeploy to AzureView SampleDeploy to Azure
Receive AttachmentA sample bot that receives attachments sent by the user and downloads them.View SampleDeploy to AzureView SampleDeploy to Azure
Create New ConversationA sample bot that starts a new conversation using a previously stored user address.View SampleDeploy to AzureView SampleDeploy to Azure
Proactive MessagesThree sample bots that proactively send a message to the user.View SamplesView Samples
Get Members of a ConversationA sample bot that retrieves the conversation's members list and detects when it changes.View SampleDeploy to AzureView SampleDeploy to Azure
Direct LineA sample bot and a custom client communicating to each other using the Direct Line API.View SampleDeploy to AzureView 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 AzureView SampleDeploy to Azure
Basic Multi DialogsA sample bot showing how to use the dialog stack.View SampleDeploy to AzureView SampleDeploy to Azure
Multi DialogsA sample bot showing different kind of dialogs.View SampleDeploy to AzureView SampleDeploy to Azure
Global Message HandlersA sample bot showing the usage of Global Message Handlers to handle global commands and manipulate the dialog stack.View SampleDeploy to AzureView SampleDeploy to Azure
Simple Task AutomationA sample bot showing how to do simple task automation scenarios.View SampleDeploy to AzureView SampleDeploy to Azure
Progress DialogA 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 APIA stateless sample bot tracking context of a conversation.View SampleDeploy to AzureView SampleDeploy to Azure
Custom State APIA stateless sample bot tracking context of a conversation using a custom storage provider.View SampleDeploy to AzureView SampleDeploy to Azure
ChannelDataA sample bot sending native metadata to Facebook using ChannelData.View SampleDeploy to AzureView SampleDeploy to Azure
ChannelData (Share Button)A sample bot sending native metadata to Facebook to display a Share button.View SampleDeploy to AzureView SampleDeploy to Azure
AppInsightsA sample bot which logs telemetry to an Application Insights instance.View SampleDeploy to AzureView SampleDeploy to Azure
Middleware LoggingA basic bot that logs incoming and outgoing messages.View SampleDeploy to AzureView SampleDeploy to Azure
Bot in AppsA 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.

SampleDescriptionC#Node
Rich CardsA sample bot to renders several types of cards as attachments.View SampleDeploy to AzureView SampleDeploy to Azure
Carousel of CardsA sample bot that sends multiple rich card attachments in a single message using the Carousel layout.View SampleDeploy to AzureView SampleDeploy to Azure
Cards as AttachmentsA 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.

SampleDescriptionC#Node
LUISA sample bot using LuisDialog to integrate with a LUIS.ai application.View SampleDeploy to AzureView SampleDeploy to Azure
Image CaptionA sample bot that gets an image caption using Microsoft Cognitive Services Vision API.View SampleDeploy to AzureView SampleDeploy to Azure
Speech To TextA sample bot that gets text from audio using Bing Speech API.View SampleDeploy to AzureView SampleDeploy to Azure
Similar ProductsA sample bot that finds visually similar products using Bing Image Search API.View SampleDeploy to AzureView SampleDeploy to Azure
ZummerA sample bot that finds wikipedia articles using Bing Search APIView SampleDeploy to AzureView 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.

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

About

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!

Resources

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Highlight search terms from Google/DuckDuckGo/Bing referrer\n(function() {\n var ref = document.referrer;\n var terms = [];\n \n if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) {\n var url = new URL(ref);\n var q = url.searchParams.get('q') || url.searchParams.get('p');\n if (q) {\n terms = q.split(/\\s+/).filter(function(t) { return t.length > 2; });\n }\n }\n \n if (terms.length === 0) return;\n \n var style = document.createElement('style');\n style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }';\n document.head.appendChild(style);\n \n function highlight(node) {\n if (node.nodeType === 3) { // text node\n var text = node.textContent;\n var found = false;\n terms.forEach(function(term) {\n var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\') + ')', 'gi');\n if (regex.test(text)) {\n found = true;\n var frag = document.createDocumentFragment();\n var parts = text.split(regex);\n parts.forEach(function(part, i) {\n if (i % 2 === 0) {\n frag.appendChild(document.createTextNode(part));\n } else {\n var span = document.createElement('span');\n span.className = 'userscript-highlight';\n span.textContent = part;\n frag.appendChild(span);\n }\n });\n node.parentNode.replaceChild(frag, node);\n }\n });\n } else if (node.nodeType === 1 && node.childNodes) { // element\n var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT'];\n if (!skipTags.includes(node.tagName)) {\n Array.from(node.childNodes).forEach(highlight);\n }\n }\n }\n \n highlight(document.body);\n \n // Re-highlight on dynamic content\n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1 || node.nodeType === 3) highlight(node);\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Highlight Search Terms"); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

Overview

Bot Builder 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.

SampleDescriptionC#Node
Send AttachmentA sample bot that passes simple media attachments (images) to a user activity.View SampleDeploy to AzureView SampleDeploy to Azure
Receive AttachmentA sample bot that receives attachments sent by the user and downloads them.View SampleDeploy to AzureView SampleDeploy to Azure
Create New ConversationA sample bot that starts a new conversation using a previously stored user address.View SampleDeploy to AzureView SampleDeploy to Azure
Proactive MessagesThree sample bots that proactively send a message to the user.View SamplesView Samples
Get Members of a ConversationA sample bot that retrieves the conversation's members list and detects when it changes.View SampleDeploy to AzureView SampleDeploy to Azure
Direct LineA sample bot and a custom client communicating to each other using the Direct Line API.View SampleDeploy to AzureView 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 AzureView SampleDeploy to Azure
Basic Multi DialogsA sample bot showing how to use the dialog stack.View SampleDeploy to AzureView SampleDeploy to Azure
Multi DialogsA sample bot showing different kind of dialogs.View SampleDeploy to AzureView SampleDeploy to Azure
Global Message HandlersA sample bot showing the usage of Global Message Handlers to handle global commands and manipulate the dialog stack.View SampleDeploy to AzureView SampleDeploy to Azure
Simple Task AutomationA sample bot showing how to do simple task automation scenarios.View SampleDeploy to AzureView SampleDeploy to Azure
Progress DialogA 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 APIA stateless sample bot tracking context of a conversation.View SampleDeploy to AzureView SampleDeploy to Azure
Custom State APIA stateless sample bot tracking context of a conversation using a custom storage provider.View SampleDeploy to AzureView SampleDeploy to Azure
ChannelDataA sample bot sending native metadata to Facebook using ChannelData.View SampleDeploy to AzureView SampleDeploy to Azure
ChannelData (Share Button)A sample bot sending native metadata to Facebook to display a Share button.View SampleDeploy to AzureView SampleDeploy to Azure
AppInsightsA sample bot which logs telemetry to an Application Insights instance.View SampleDeploy to AzureView SampleDeploy to Azure
Middleware LoggingA basic bot that logs incoming and outgoing messages.View SampleDeploy to AzureView SampleDeploy to Azure
Bot in AppsA 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.

SampleDescriptionC#Node
Rich CardsA sample bot to renders several types of cards as attachments.View SampleDeploy to AzureView SampleDeploy to Azure
Carousel of CardsA sample bot that sends multiple rich card attachments in a single message using the Carousel layout.View SampleDeploy to AzureView SampleDeploy to Azure
Cards as AttachmentsA 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.

SampleDescriptionC#Node
LUISA sample bot using LuisDialog to integrate with a LUIS.ai application.View SampleDeploy to AzureView SampleDeploy to Azure
Image CaptionA sample bot that gets an image caption using Microsoft Cognitive Services Vision API.View SampleDeploy to AzureView SampleDeploy to Azure
Speech To TextA sample bot that gets text from audio using Bing Speech API.View SampleDeploy to AzureView SampleDeploy to Azure
Similar ProductsA sample bot that finds visually similar products using Bing Image Search API.View SampleDeploy to AzureView SampleDeploy to Azure
ZummerA sample bot that finds wikipedia articles using Bing Search APIView SampleDeploy to AzureView 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.

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

About

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!

Resources

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Strip utm_, fbclid, gclid, etc. from all links on page\n(function() {\n var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content',\n 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid',\n 'ref', 'ref_src', 'source', 'medium', 'campaign'];\n \n function cleanUrl(url) {\n try {\n var u = new URL(url, window.location.origin);\n var changed = false;\n trackingParams.forEach(function(p) {\n if (u.searchParams.has(p)) {\n u.searchParams.delete(p);\n changed = true;\n }\n });\n return changed ? u.toString() : url;\n } catch (e) {\n return url;\n }\n }\n \n function cleanLinks() {\n document.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n \n cleanLinks();\n \n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1) {\n if (node.tagName === 'A') cleanLinks();\n node.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Remove Tracking Parameters from Links"); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
Skip to content

Repository files navigation

Overview

Bot Builder 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.

SampleDescriptionC#Node
Send AttachmentA sample bot that passes simple media attachments (images) to a user activity.View SampleDeploy to AzureView SampleDeploy to Azure
Receive AttachmentA sample bot that receives attachments sent by the user and downloads them.View SampleDeploy to AzureView SampleDeploy to Azure
Create New ConversationA sample bot that starts a new conversation using a previously stored user address.View SampleDeploy to AzureView SampleDeploy to Azure
Proactive MessagesThree sample bots that proactively send a message to the user.View SamplesView Samples
Get Members of a ConversationA sample bot that retrieves the conversation's members list and detects when it changes.View SampleDeploy to AzureView SampleDeploy to Azure
Direct LineA sample bot and a custom client communicating to each other using the Direct Line API.View SampleDeploy to AzureView 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 AzureView SampleDeploy to Azure
Basic Multi DialogsA sample bot showing how to use the dialog stack.View SampleDeploy to AzureView SampleDeploy to Azure
Multi DialogsA sample bot showing different kind of dialogs.View SampleDeploy to AzureView SampleDeploy to Azure
Global Message HandlersA sample bot showing the usage of Global Message Handlers to handle global commands and manipulate the dialog stack.View SampleDeploy to AzureView SampleDeploy to Azure
Simple Task AutomationA sample bot showing how to do simple task automation scenarios.View SampleDeploy to AzureView SampleDeploy to Azure
Progress DialogA 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 APIA stateless sample bot tracking context of a conversation.View SampleDeploy to AzureView SampleDeploy to Azure
Custom State APIA stateless sample bot tracking context of a conversation using a custom storage provider.View SampleDeploy to AzureView SampleDeploy to Azure
ChannelDataA sample bot sending native metadata to Facebook using ChannelData.View SampleDeploy to AzureView SampleDeploy to Azure
ChannelData (Share Button)A sample bot sending native metadata to Facebook to display a Share button.View SampleDeploy to AzureView SampleDeploy to Azure
AppInsightsA sample bot which logs telemetry to an Application Insights instance.View SampleDeploy to AzureView SampleDeploy to Azure
Middleware LoggingA basic bot that logs incoming and outgoing messages.View SampleDeploy to AzureView SampleDeploy to Azure
Bot in AppsA 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.

SampleDescriptionC#Node
Rich CardsA sample bot to renders several types of cards as attachments.View SampleDeploy to AzureView SampleDeploy to Azure
Carousel of CardsA sample bot that sends multiple rich card attachments in a single message using the Carousel layout.View SampleDeploy to AzureView SampleDeploy to Azure
Cards as AttachmentsA 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.

SampleDescriptionC#Node
LUISA sample bot using LuisDialog to integrate with a LUIS.ai application.View SampleDeploy to AzureView SampleDeploy to Azure
Image CaptionA sample bot that gets an image caption using Microsoft Cognitive Services Vision API.View SampleDeploy to AzureView SampleDeploy to Azure
Speech To TextA sample bot that gets text from audio using Bing Speech API.View SampleDeploy to AzureView SampleDeploy to Azure
Similar ProductsA sample bot that finds visually similar products using Bing Image Search API.View SampleDeploy to AzureView SampleDeploy to Azure
ZummerA sample bot that finds wikipedia articles using Bing Search APIView SampleDeploy to AzureView 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.

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

About

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!

Resources

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Auto-enable theater mode on YouTube\n(function() {\n function tryTheater() {\n var btn = document.querySelector('button[aria-label=\"Theater mode\"], ytd-player #player button[title=\"Theater mode\"]');\n if (btn && !btn.classList.contains('activated')) {\n btn.click();\n }\n }\n \n // Try immediately\n tryTheater();\n \n // Try after navigation (SPA)\n var lastUrl = location.href;\n setInterval(function() {\n if (location.href !== lastUrl) {\n lastUrl = location.href;\n setTimeout(tryTheater, 500);\n }\n }, 1000);\n \n // Also try on player load\n var observer = new MutationObserver(tryTheater);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "YouTube Theater Mode Default"); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

Overview

Bot Builder 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.

SampleDescriptionC#Node
Send AttachmentA sample bot that passes simple media attachments (images) to a user activity.View SampleDeploy to AzureView SampleDeploy to Azure
Receive AttachmentA sample bot that receives attachments sent by the user and downloads them.View SampleDeploy to AzureView SampleDeploy to Azure
Create New ConversationA sample bot that starts a new conversation using a previously stored user address.View SampleDeploy to AzureView SampleDeploy to Azure
Proactive MessagesThree sample bots that proactively send a message to the user.View SamplesView Samples
Get Members of a ConversationA sample bot that retrieves the conversation's members list and detects when it changes.View SampleDeploy to AzureView SampleDeploy to Azure
Direct LineA sample bot and a custom client communicating to each other using the Direct Line API.View SampleDeploy to AzureView 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 AzureView SampleDeploy to Azure
Basic Multi DialogsA sample bot showing how to use the dialog stack.View SampleDeploy to AzureView SampleDeploy to Azure
Multi DialogsA sample bot showing different kind of dialogs.View SampleDeploy to AzureView SampleDeploy to Azure
Global Message HandlersA sample bot showing the usage of Global Message Handlers to handle global commands and manipulate the dialog stack.View SampleDeploy to AzureView SampleDeploy to Azure
Simple Task AutomationA sample bot showing how to do simple task automation scenarios.View SampleDeploy to AzureView SampleDeploy to Azure
Progress DialogA 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 APIA stateless sample bot tracking context of a conversation.View SampleDeploy to AzureView SampleDeploy to Azure
Custom State APIA stateless sample bot tracking context of a conversation using a custom storage provider.View SampleDeploy to AzureView SampleDeploy to Azure
ChannelDataA sample bot sending native metadata to Facebook using ChannelData.View SampleDeploy to AzureView SampleDeploy to Azure
ChannelData (Share Button)A sample bot sending native metadata to Facebook to display a Share button.View SampleDeploy to AzureView SampleDeploy to Azure
AppInsightsA sample bot which logs telemetry to an Application Insights instance.View SampleDeploy to AzureView SampleDeploy to Azure
Middleware LoggingA basic bot that logs incoming and outgoing messages.View SampleDeploy to AzureView SampleDeploy to Azure
Bot in AppsA 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.

SampleDescriptionC#Node
Rich CardsA sample bot to renders several types of cards as attachments.View SampleDeploy to AzureView SampleDeploy to Azure
Carousel of CardsA sample bot that sends multiple rich card attachments in a single message using the Carousel layout.View SampleDeploy to AzureView SampleDeploy to Azure
Cards as AttachmentsA 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.

SampleDescriptionC#Node
LUISA sample bot using LuisDialog to integrate with a LUIS.ai application.View SampleDeploy to AzureView SampleDeploy to Azure
Image CaptionA sample bot that gets an image caption using Microsoft Cognitive Services Vision API.View SampleDeploy to AzureView SampleDeploy to Azure
Speech To TextA sample bot that gets text from audio using Bing Speech API.View SampleDeploy to AzureView SampleDeploy to Azure
Similar ProductsA sample bot that finds visually similar products using Bing Image Search API.View SampleDeploy to AzureView SampleDeploy to Azure
ZummerA sample bot that finds wikipedia articles using Bing Search APIView SampleDeploy to AzureView 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.

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

About

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!

Resources

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Remove or un-stick sticky/fixed headers that block content\n(function() {\n function unstick() {\n document.querySelectorAll('header, nav, [role=\"banner\"], .header, .navbar, .sticky, .fixed-top, [style*=\"position: fixed\"], [style*=\"position:sticky\"]').forEach(function(el) {\n if (el.style.position === 'fixed' || el.style.position === 'sticky' || \n getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') {\n el.style.position = 'static';\n el.style.top = 'auto';\n el.style.zIndex = 'auto';\n }\n });\n }\n \n unstick();\n \n var observer = new MutationObserver(unstick);\n observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] });\n})();", "Kill Sticky Headers"); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

Overview

Bot Builder 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.

SampleDescriptionC#Node
Send AttachmentA sample bot that passes simple media attachments (images) to a user activity.View SampleDeploy to AzureView SampleDeploy to Azure
Receive AttachmentA sample bot that receives attachments sent by the user and downloads them.View SampleDeploy to AzureView SampleDeploy to Azure
Create New ConversationA sample bot that starts a new conversation using a previously stored user address.View SampleDeploy to AzureView SampleDeploy to Azure
Proactive MessagesThree sample bots that proactively send a message to the user.View SamplesView Samples
Get Members of a ConversationA sample bot that retrieves the conversation's members list and detects when it changes.View SampleDeploy to AzureView SampleDeploy to Azure
Direct LineA sample bot and a custom client communicating to each other using the Direct Line API.View SampleDeploy to AzureView 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 AzureView SampleDeploy to Azure
Basic Multi DialogsA sample bot showing how to use the dialog stack.View SampleDeploy to AzureView SampleDeploy to Azure
Multi DialogsA sample bot showing different kind of dialogs.View SampleDeploy to AzureView SampleDeploy to Azure
Global Message HandlersA sample bot showing the usage of Global Message Handlers to handle global commands and manipulate the dialog stack.View SampleDeploy to AzureView SampleDeploy to Azure
Simple Task AutomationA sample bot showing how to do simple task automation scenarios.View SampleDeploy to AzureView SampleDeploy to Azure
Progress DialogA 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 APIA stateless sample bot tracking context of a conversation.View SampleDeploy to AzureView SampleDeploy to Azure
Custom State APIA stateless sample bot tracking context of a conversation using a custom storage provider.View SampleDeploy to AzureView SampleDeploy to Azure
ChannelDataA sample bot sending native metadata to Facebook using ChannelData.View SampleDeploy to AzureView SampleDeploy to Azure
ChannelData (Share Button)A sample bot sending native metadata to Facebook to display a Share button.View SampleDeploy to AzureView SampleDeploy to Azure
AppInsightsA sample bot which logs telemetry to an Application Insights instance.View SampleDeploy to AzureView SampleDeploy to Azure
Middleware LoggingA basic bot that logs incoming and outgoing messages.View SampleDeploy to AzureView SampleDeploy to Azure
Bot in AppsA 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.

SampleDescriptionC#Node
Rich CardsA sample bot to renders several types of cards as attachments.View SampleDeploy to AzureView SampleDeploy to Azure
Carousel of CardsA sample bot that sends multiple rich card attachments in a single message using the Carousel layout.View SampleDeploy to AzureView SampleDeploy to Azure
Cards as AttachmentsA 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.

SampleDescriptionC#Node
LUISA sample bot using LuisDialog to integrate with a LUIS.ai application.View SampleDeploy to AzureView SampleDeploy to Azure
Image CaptionA sample bot that gets an image caption using Microsoft Cognitive Services Vision API.View SampleDeploy to AzureView SampleDeploy to Azure
Speech To TextA sample bot that gets text from audio using Bing Speech API.View SampleDeploy to AzureView SampleDeploy to Azure
Similar ProductsA sample bot that finds visually similar products using Bing Image Search API.View SampleDeploy to AzureView SampleDeploy to Azure
ZummerA sample bot that finds wikipedia articles using Bing Search APIView SampleDeploy to AzureView 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.

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

About

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!

Resources

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Universal Dark Mode - works on any site\n(function() {\n var enabled = true;\n \n function applyDarkMode() {\n if (!enabled) return;\n \n // Create style element if it doesn't exist\n var style = document.getElementById('universal-dark-mode-style');\n if (!style) {\n style = document.createElement('style');\n style.id = 'universal-dark-mode-style';\n document.head.appendChild(style);\n }\n \n // Dark mode CSS - inverts colors but preserves images/video\n style.textContent = '\n /* Invert everything except media */\n html {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #1a1a2e !important;\n }\n \n /* Restore images, videos, iframes, canvas */\n img, video, iframe, canvas, svg, picture, [style*=\"background-image\"] {\n filter: invert(1) hue-rotate(180deg) !important;\n }\n \n /* Preserve specific elements that should not be inverted */\n .no-dark-mode, .no-dark-mode *,\n [data-theme=\"light\"], [data-theme=\"light\"],\n .ace_editor, .ace_editor *,\n .CodeMirror, .CodeMirror *,\n .monaco-editor, .monaco-editor *,\n .markdown-body pre, .markdown-body pre *,\n .highlight, .highlight *,\n pre code, pre code * {\n filter: none !important;\n }\n \n /* Fix common UI elements */\n .modal, .popup, .dropdown-menu, .tooltip, .popover {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #2d2d44 !important;\n border-color: #444 !important;\n }\n \n /* Scrollbars */\n ::-webkit-scrollbar { background: #1a1a2e !important; }\n ::-webkit-scrollbar-thumb { background: #444 !important; }\n ::-webkit-scrollbar-thumb:hover { background: #555 !important; }\n \n /* Selection */\n ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ';\n }\n \n function removeDarkMode() {\n var style = document.getElementById('universal-dark-mode-style');\n if (style) style.remove();\n }\n \n // Toggle with Alt+Shift+D\n document.addEventListener('keydown', function(e) {\n if (e.altKey && e.shiftKey && e.key === 'D') {\n e.preventDefault();\n enabled = !enabled;\n if (enabled) {\n applyDarkMode();\n console.log('[Universal Dark Mode] Enabled');\n } else {\n removeDarkMode();\n console.log('[Universal Dark Mode] Disabled');\n }\n }\n });\n \n // Apply on load\n applyDarkMode();\n \n // Re-apply on dynamic content\n var observer = new MutationObserver(function(mutations) {\n if (enabled && !document.getElementById('universal-dark-mode-style')) {\n applyDarkMode();\n }\n });\n observer.observe(document.head, { childList: true });\n \n console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle');\n})();", "Universal Dark Mode"); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
Skip to content

Repository files navigation

Overview

Bot Builder 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.

SampleDescriptionC#Node
Send AttachmentA sample bot that passes simple media attachments (images) to a user activity.View SampleDeploy to AzureView SampleDeploy to Azure
Receive AttachmentA sample bot that receives attachments sent by the user and downloads them.View SampleDeploy to AzureView SampleDeploy to Azure
Create New ConversationA sample bot that starts a new conversation using a previously stored user address.View SampleDeploy to AzureView SampleDeploy to Azure
Proactive MessagesThree sample bots that proactively send a message to the user.View SamplesView Samples
Get Members of a ConversationA sample bot that retrieves the conversation's members list and detects when it changes.View SampleDeploy to AzureView SampleDeploy to Azure
Direct LineA sample bot and a custom client communicating to each other using the Direct Line API.View SampleDeploy to AzureView 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 AzureView SampleDeploy to Azure
Basic Multi DialogsA sample bot showing how to use the dialog stack.View SampleDeploy to AzureView SampleDeploy to Azure
Multi DialogsA sample bot showing different kind of dialogs.View SampleDeploy to AzureView SampleDeploy to Azure
Global Message HandlersA sample bot showing the usage of Global Message Handlers to handle global commands and manipulate the dialog stack.View SampleDeploy to AzureView SampleDeploy to Azure
Simple Task AutomationA sample bot showing how to do simple task automation scenarios.View SampleDeploy to AzureView SampleDeploy to Azure
Progress DialogA 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 APIA stateless sample bot tracking context of a conversation.View SampleDeploy to AzureView SampleDeploy to Azure
Custom State APIA stateless sample bot tracking context of a conversation using a custom storage provider.View SampleDeploy to AzureView SampleDeploy to Azure
ChannelDataA sample bot sending native metadata to Facebook using ChannelData.View SampleDeploy to AzureView SampleDeploy to Azure
ChannelData (Share Button)A sample bot sending native metadata to Facebook to display a Share button.View SampleDeploy to AzureView SampleDeploy to Azure
AppInsightsA sample bot which logs telemetry to an Application Insights instance.View SampleDeploy to AzureView SampleDeploy to Azure
Middleware LoggingA basic bot that logs incoming and outgoing messages.View SampleDeploy to AzureView SampleDeploy to Azure
Bot in AppsA 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.

SampleDescriptionC#Node
Rich CardsA sample bot to renders several types of cards as attachments.View SampleDeploy to AzureView SampleDeploy to Azure
Carousel of CardsA sample bot that sends multiple rich card attachments in a single message using the Carousel layout.View SampleDeploy to AzureView SampleDeploy to Azure
Cards as AttachmentsA 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.

SampleDescriptionC#Node
LUISA sample bot using LuisDialog to integrate with a LUIS.ai application.View SampleDeploy to AzureView SampleDeploy to Azure
Image CaptionA sample bot that gets an image caption using Microsoft Cognitive Services Vision API.View SampleDeploy to AzureView SampleDeploy to Azure
Speech To TextA sample bot that gets text from audio using Bing Speech API.View SampleDeploy to AzureView SampleDeploy to Azure
Similar ProductsA sample bot that finds visually similar products using Bing Image Search API.View SampleDeploy to AzureView SampleDeploy to Azure
ZummerA sample bot that finds wikipedia articles using Bing Search APIView SampleDeploy to AzureView 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.

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

About

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!

Resources

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages