C# Bot Builder Samples on GitHub


A good way to get ideas and some coding best practice is to look at some examples, there are many of them using C# hosted on GitHub here.

I wanted to walk through what they are so I can for myself find or discover some new ideas and best practices for this, as I am interested in creating a #chatbot like I discussed in these links

Some samples, the name and my description of them

Title Location Description
intelligence-SpeechToText

SpeechToText

Upload an audio (.wav) file and the audible words are converted to text and provided in a response
intelligence-SimilarProducts

SimilarProducts

Upload a picture of a blue shoe, another image of a similar blue shoe is returned
intelligence-LUIS

LUIS

Send text and the Intent of it is returned
intelligence-ImageCaption

ImageCaption

Upload a picture and the Computer Vision API will return some text describing the contents of the image
demo-Search

Search

An interface into Azure Search for navigating through large amounts of content
demo-ContosoFlowers

ContosoFlowers

Renders a Card as a welcome message, plus other examples of dialogs and other Card types
core-State

State

Useful for maintaining State which persists data relative to a user conversation
core-SendAttachment

SendAttachment

In the #chatbot interface the client can send the bot an attachment, useful with SpeechToText, ImageCaption, etc…
core-ReceiveAttachment

ReceiveAttachment

If the #chatbot needs to send an attachment back to the client like a .wav, .png, .gif, etc…
core-MultiDialogs

MultiDialogs

Dialogs are a conversation process, yes/no questions or selection dialog windows
core-GetConversationMembers

GetConversationMembers

Detecting when people join or leave a group conversation, so you can notify others and welcome them
core-DirectLine

DirectLine

Client to client direct communication, perhaps the way to get intelligent bots to speak with each other
core-CreateNewConversation

CreateNewConversation

Have a bot initiate the conversation with the client
core-ChannelData

ChannelData

Support for using channel specific capabilities like Skype, Facebook, Microsoft Teams, Slack, etc…
cards-RichCards

RichCards

Cards are pictures or emoticons, which are not attachments, with headings and descriptions
cards-CarouselCards

CarouselCards

Send multiple Cards with the left/right navigation arrows allowing client to scroll through

 

As I am wanting to create a #chatbot I think about the above capabilities and have these findings:

  • If the client uploads a picture of themselves I can use the age and sentiment APIs to learn more about them and make some funny answer, use SendAttachment as well
  • If a client uploads any picture use the ImageCaption to comment on it, use SendAttachment as well
  • If the client enters something that I do not recognize, ask if the client would like me to search the internet or some content, can use Search or SimilarProducts
  • If the client asks for a picture of the #chatbot use ReceiveAttachment to send the client one
  • Use LUIS as the basis for determining the intent of the conversation with the client

These are just some ideas on using some of these examples, perhaps every 100 or so transactions you can present a RichCards to advertise or CreateNewConversation to keep the client engaged and chatting.

#AI #ArtificialIntelligence #Cognitive #BotServices #Azure

Comments (2)

  1. girish sonawane says:

    Super like for your contribution

  2. Justine Alires says:

    This is amazing, I can’t wait to start developing these and seeing how they fit into my own architecture!

Skip to main content