Skip to content

Create complex conversations driven by Cognitive Services and a custom conversational state manager.

License

Notifications You must be signed in to change notification settings

CogniSimSoft/BotFrameworkStateManager

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

15 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

BotFrameworkStateManager

Create complex conversations driven by Cognitive Services and a custom conversational state manager.

The BotFramework StateManager serves as a simple way to implement contextual conversations driven by LUIS and Bot Framework4 using a custom state manager and adapter.

Check out the wiki for documentation.

JSON Templated Bots (Code-less bot creation)

In this framework includes JSON bot template which allows you to create complex conversations using just JSON to drive the actual conversation.

BotState Transitioning

A real conversation cannot happen without knowing what to respond to someone. IBotConversationTalkingPoint is an interface which holds information pertaining to what the bot should respond to, and how it should respond to it.


An example conversation: "It's My Stuff, Ask me about it"

Ask the bot a question about a personal belonging such as 'What color is your hair?' or 'What size is your Yorkie?'

... setup bot states, bot transitions, etc ...

        // Context: Cat
        // Response: The color of my cat is red!
        Task botTask = botConversation.Say("What size is your cat?");
        botTask.Wait();

        // Context: Cat
        // Response: The color of my cat is red!
        Task botTask2 = botConversation.Say("What color is he?");
        botTask2.Wait();

        // Context: Cat => Dog
        // Response: I thought we were talking about the color of my 'cat' ? Ok, let's talk about my 'dog'!
        Task botTask3 = botConversation.Say("What color is your dog?");
        botTask3.Wait();

        // Context: Dog
        // Response: The color of my dog is red!
        Task botTask4 = botConversation.Say("What color is he?");
        botTask4.Wait();

        // Context: Dog
        // Response: The color of my dog is red
        // Note: We are still aware that the context is about the dog's size
        Task botTask5 = botConversation.Say("What about the dog?");
        botTask5.Wait();

        // Context: Dog
        // Response: I thought we were talking about the size of my 'dog' ? Ok, let's talk about my 'cat'!
        Task botTask6 = botConversation.Say("What color is your cat?");
        botTask6.Wait();

Dependencies : BotFramework v4

  • Microsoft.Bot.Builder.CognitiveServices

  • Microsoft.Bot.Connector

  • Microsoft.Bot.Connector.DirectLine

About

Create complex conversations driven by Cognitive Services and a custom conversational state manager.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages