|
from botbuilder.core import ActivityHandler, ConversationState, TurnContext, UserState
|
|
from botbuilder.dialogs import Dialog
|
|
from helpers.dialog_helper import DialogHelper
|
|
|
|
|
|
class DialogBot(ActivityHandler):
|
|
def __init__(
|
|
self,
|
|
conversation_state: ConversationState,
|
|
user_state: UserState,
|
|
dialog: Dialog,
|
|
):
|
|
super(DialogBot, self).__init__()
|
|
self.conversation_state = conversation_state
|
|
self.user_state = user_state
|
|
self.dialog = dialog
|
|
|
|
async def on_turn(self, turn_context: TurnContext) -> None:
|
|
await super().on_turn(turn_context)
|
|
|
|
|
|
await self.conversation_state.save_changes(turn_context)
|
|
await self.user_state.save_changes(turn_context)
|
|
|
|
async def on_message_activity(self, turn_context: TurnContext) -> None:
|
|
|
|
await DialogHelper.run_dialog(
|
|
self.dialog,
|
|
turn_context,
|
|
self.conversation_state.create_property("DialogState"),
|
|
)
|
|
|