From 0f32eefb1433433e48e713e810db89d41faac41f Mon Sep 17 00:00:00 2001 From: tracyboehrer Date: Wed, 4 Mar 2020 16:23:58 -0600 Subject: [PATCH] Provided impl for continue_conversation with ClaimsIdentity --- .../adapters/slack/slack_adapter.py | 29 ++++++++++++------- 1 file changed, 18 insertions(+), 11 deletions(-) diff --git a/libraries/botbuilder-adapters-slack/botbuilder/adapters/slack/slack_adapter.py b/libraries/botbuilder-adapters-slack/botbuilder/adapters/slack/slack_adapter.py index c24e4b904..2f1af54e8 100644 --- a/libraries/botbuilder-adapters-slack/botbuilder/adapters/slack/slack_adapter.py +++ b/libraries/botbuilder-adapters-slack/botbuilder/adapters/slack/slack_adapter.py @@ -138,12 +138,11 @@ async def continue_conversation( Sends a proactive message to a conversation. Call this method to proactively send a message to a conversation. Most _channels require a user to initiate a conversation with a bot before the bot can send activities to the user. - :param bot_id: The application ID of the bot. This parameter is ignored in - single tenant the Adpters (Console, Test, etc) but is critical to the BotFrameworkAdapter - which is multi-tenant aware. - :param reference: A reference to the conversation to continue. - :param callback: The method to call for the resulting bot turn. - :param claims_identity: + :param bot_id: Unused for this override. + :param reference: A reference to the conversation to continue. + :param callback: The method to call for the resulting bot turn. + :param claims_identity: A ClaimsIdentity for the conversation. + :param audience: Unused for this override. """ if not reference: @@ -151,11 +150,19 @@ async def continue_conversation( if not callback: raise Exception("callback is required") - request = TurnContext.apply_conversation_reference( - conversation_reference_extension.get_continuation_activity(reference), - reference, - ) - context = TurnContext(self, request) + if claims_identity: + request = conversation_reference_extension.get_continuation_activity( + reference + ) + context = TurnContext(self, request) + context.turn_state[BotAdapter.BOT_IDENTITY_KEY] = claims_identity + context.turn_state[BotAdapter.BOT_CALLBACK_HANDLER_KEY] = callback + else: + request = TurnContext.apply_conversation_reference( + conversation_reference_extension.get_continuation_activity(reference), + reference, + ) + context = TurnContext(self, request) return await self.run_pipeline(context, callback)