Metadata-Version: 2.1
Name: coco-microsoft-bot-framework
Version: 0.0.1
Summary: CoCo(Conversational Components) SDK for using components with Microsoft Bot Framework.
Home-page: https://github.com/conversationalcomponents/coco-microsoft-bot-framework
Author: Victor Vasiliev
Author-email: victor@a-i.com
License: MIT
Platform: UNKNOWN
Classifier: Development Status :: 2 - Pre-Alpha
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: Education
Classifier: Intended Audience :: Science/Research
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Topic :: Software Development :: Libraries
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Requires-Python: >=3.6
Description-Content-Type: text/markdown
Requires-Dist: coco-sdk
Requires-Dist: botbuilder-core


# A Toolkit to work with components in Microsoft Bot Framework

### Installation (We recommend using a virtualenv):
```
pip install coco-microsoft-bot-framework 
```

### Setup:
#### Setting Conversation State 
in `app.py`, include the lines below.

```python
from coco_microsoft_bot_framework import CoCoActivityHandler
from botbuilder.core import (
    BotFrameworkAdapterSettings,
    TurnContext,
    BotFrameworkAdapter,
    UserState,
    MemoryStorage,
    ConversationState,
)

MEMORY = MemoryStorage()
CONVERSATION_STATE = ConversationState(MEMORY)
# Create the Bot
BOT = MyBot(CONVERSATION_STATE)
```


#### Setting Activity Handler
in `bot.py`

Import CoCo custom Activity Handler, then use it to create your bot.
At the `on_message_activity` method add the three lines as below, in order to
manage CoCo context during the conversation.
```python
from coco_microsoft_bot_framework import CoCoActivityHandler

class MyBot(CoCoActivityHandler):

    async def on_message_activity(self, turn_context: TurnContext):
        if self.is_component_active():
            await self.call_active_component(turn_context)
            return
```


#### Activate CoCo Component
Activate CoCo register component, which ID is: "register_vp3".
```python
class MyBot(CoCoActivityHandler):

    async def on_message_activity(self, turn_context: TurnContext):
        if self.is_component_active():
            await self.call_active_component(turn_context)
            return

        if intent == "register":
            await self.activate_component(turn_context, "register_vp3")
        else:
            await turn_context.send_activity("I don't understand.")
```


