# Send a message to the user await context.send_activity("Oops. Something went wrong!") # Clear out state await CONVERSATION_STATE.delete(context) ADAPTER.on_turn_error = on_error # Create MemoryStorage, UserState and ConversationState MEMORY = MemoryStorage() # Commented out user_state because it's not being used. USER_STATE = UserState(MEMORY) CONVERSATION_STATE = ConversationState(MEMORY) BOT = StateManagementBot(CONVERSATION_STATE, USER_STATE) @APP.route("/api/messages", methods=["POST"]) def messages(): """Main bot message handler.""" if "application/json" in request.headers["Content-Type"]: body = request.json else: return Response(status=415) activity = Activity().deserialize(body) auth_header = (request.headers["Authorization"] if "Authorization" in request.headers else "") async def aux_func(turn_context):
print(f'\n [on_turn_error]: { error }', file=sys.stderr) # Send a message to the user await context.send_activity('Oops. Something went wrong!') # Clear out state await conversation_state.delete(context) ADAPTER.on_turn_error = on_error # Create MemoryStorage, UserState and ConversationState memory = MemoryStorage() user_state = UserState(memory) conversation_state = ConversationState(memory) bot = StateManagementBot(conversation_state, user_state) async def messages(req: web.Request) -> web.Response: body = await req.json() activity = Activity().deserialize(body) auth_header = req.headers[ 'Authorization'] if 'Authorization' in req.headers else '' async def aux_func(turn_context): await bot.on_turn(turn_context) try: await ADAPTER.process_activity(activity, auth_header, aux_func) return web.Response(status=200) except Exception as e:
# Clear out state await CONVERSATION_STATE.delete(context) # Set the error handler on the Adapter. # In this case, we want an unbound method, so MethodType is not needed. ADAPTER.on_turn_error = on_error # Create MemoryStorage and state RECOGNIZER = TransactionalCaseRecognizer(CONFIG) MEMORY = MemoryStorage() USER_STATE = UserState(MEMORY) CONVERSATION_STATE = ConversationState(MEMORY) # Create Bot BOT = StateManagementBot(CONVERSATION_STATE, USER_STATE, RECOGNIZER) # Listen for incoming requests on /api/messages. async def messages(req: Request) -> Response: # Main bot message handler. if "application/json" in req.headers["Content-Type"]: body = await req.json() else: return Response(status=HTTPStatus.UNSUPPORTED_MEDIA_TYPE) activity = Activity().deserialize(body) auth_header = req.headers[ "Authorization"] if "Authorization" in req.headers else "" response = await ADAPTER.process_activity(activity, auth_header,