Spaces:
Build error
Build error
from botbuilder.dialogs import ComponentDialog, WaterfallDialog, WaterfallStepContext | |
from botbuilder.dialogs.prompts import TextPrompt, PromptOptions | |
from botbuilder.core import MessageFactory | |
class MainDialog(ComponentDialog): | |
def __init__(self, dialog_id: str = "MainDialog"): | |
super(MainDialog, self).__init__(dialog_id or MainDialog.__name__) | |
self.add_dialog(TextPrompt("TextPrompt")) | |
self.add_dialog( | |
WaterfallDialog( | |
"WFDialog", | |
[self.initial_step, self.process_step, self.final_step], | |
) | |
) | |
self.initial_dialog_id = "WFDialog" | |
async def initial_step(self, step_context: WaterfallStepContext) -> WaterfallStepContext: | |
return await step_context.prompt( | |
"TextPrompt", | |
PromptOptions(prompt=MessageFactory.text("What is your name?")), | |
) | |
async def process_step(self, step_context: WaterfallStepContext) -> WaterfallStepContext: | |
# Store the user's name in dialog state | |
step_context.values["name"] = step_context.result | |
return await step_context.prompt( | |
"TextPrompt", | |
PromptOptions( | |
prompt=MessageFactory.text( | |
f"Hello {step_context.result}! How can I assist you today?" | |
) | |
), | |
) | |
async def final_step(self, step_context: WaterfallStepContext) -> WaterfallStepContext: | |
user_message = step_context.result | |
# Here you could integrate the UniversalReasoning module | |
# For example, you might access it via the bot's context | |
# Since it's not directly available here, we'll pass the message back | |
# Send a confirmation message to the user | |
await step_context.context.send_activity( | |
MessageFactory.text(f"You said: {user_message}") | |
) | |
return await step_context.end_dialog() | |