I have gotten the opportunity to work on multiple projects with the Bot Framework lately. These have been a mixture of both my own projects and work for customers, some in C# and some in node. Over that time, I’ve accumulated a list of samples and hands-on labs that have been extremely useful. I’ve divided them into C# samples, node samples, and hands-on labs. If you have further resources, feel free to leave a comment.
Big Bot Framework Sample Repositories
First of all, there are two big Bot Framework Samples repositories. They both contain both C# and node samples under the CSharp and Node folders.
http://github.com/Microsoft/BotBuilder (check the Samples folder)
Mat’s AuthBot: this is a strong example of how to provide Azure Active Directory authentication for bots.
AnnotatedSandwichBot: this is a wonderful example of using FormFlow, where a bot can guide you through a wizard-type conversation where the user essentially needs to fill out a form. It can prompt for missing information, validate inputs, ask clarifying questions, and navigate between the steps.
Bot to Human Handoff: the C# intermediary sample shows how to build a call-center support bot, where the bot provides Tier 1 support and it hands off to a human if it can’t solve the problem.
PictureBot: this bot (which can be built following this hands-on lab) helps you find, “order”, and “share” pictures. It utilizes ScorableGroups for processing the user’s input (trying first regular expressions, then LUIS, then dropping to a “I don’t understand” message).
Ryan’s EventBot: this is a bot that was made for the AIWorld conference. It provides information on speakers, sessions, conference location, and other relevant information. It’s a great example of a bot calling multiple services (LUIS and Azure Search).
Hannah’s Bot to Human Handoff: this is a fabulous example to follow if you want to build a call-center support bot, where the bot provides Tier 1 support and it hands off to a human only if it can’t solve the problem.
BackChannel: this bot uses DirectLine to send and receive messages to communicate with a webpage that embeds the bot through WebChat.
If you are getting started with building bots, working through a hands-on lab can be a big help. Here are some good ones.
Both C# and node: http://github.com/DanielEgan/BotWorkshop