Skip to content

Commit 451189b

Browse files
committed
adding helper for starting thread in Teams
1 parent ea8208b commit 451189b

File tree

2 files changed

+6
-34
lines changed

2 files changed

+6
-34
lines changed

libraries/botbuilder-core/botbuilder/core/bot_framework_adapter.py

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -198,9 +198,7 @@ async def create_conversation(
198198
)
199199
)
200200
client = await self.create_connector_client(reference.service_url)
201-
resource_response = await client.conversations.create_conversation(
202-
parameters
203-
)
201+
204202
# Mix in the tenant ID if specified. This is required for MS Teams.
205203
if reference.conversation is not None and reference.conversation.tenant_id:
206204
# Putting tenant_id in channel_data is a temporary while we wait for the Teams API to be updated
@@ -211,6 +209,9 @@ async def create_conversation(
211209
# Permanent solution is to put tenant_id in parameters.tenant_id
212210
parameters.tenant_id = reference.conversation.tenant_id
213211

212+
resource_response = await client.conversations.create_conversation(
213+
parameters
214+
)
214215
request = TurnContext.apply_conversation_reference(
215216
Activity(type=ActivityTypes.event, name="CreateConversation"),
216217
reference,

libraries/botbuilder-core/botbuilder/core/teams/teams_info.py

Lines changed: 2 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,7 @@
22
# Licensed under the MIT License.
33

44
from typing import List
5-
from botbuilder.schema import ConversationParameters
6-
from botbuilder.core.turn_context import Activity, TurnContext
5+
from botbuilder.core.turn_context import TurnContext
76
from botbuilder.schema.teams import (
87
ChannelInfo,
98
TeamDetails,
@@ -13,36 +12,8 @@
1312
from botframework.connector.aio import ConnectorClient
1413
from botframework.connector.teams.teams_connector_client import TeamsConnectorClient
1514

16-
class TeamsInfo:
17-
@staticmethod
18-
async def send_message_to_teams_channel(
19-
turn_context: TurnContext, activity: Activity, teams_channel_id: str
20-
) -> tuple:
21-
if not turn_context:
22-
raise ValueError("The turn_context cannot be None")
23-
if not turn_context.activity:
24-
raise ValueError("The turn_context.activity cannot be None")
25-
if not teams_channel_id:
26-
raise ValueError("The teams_channel_id cannot be None or empty")
27-
28-
old_ref = TurnContext.get_conversation_reference(turn_context.activity)
29-
conversation_parameters = ConversationParameters(
30-
is_group=True,
31-
channel_data={"channel": {"id": teams_channel_id}},
32-
activity=activity,
33-
)
34-
35-
result = await turn_context.adapter.create_conversation(
36-
old_ref, TeamsInfo._create_conversation_callback, conversation_parameters
37-
)
38-
return (result[0], result[1])
39-
40-
@staticmethod
41-
async def _create_conversation_callback(new_turn_context) -> tuple:
42-
new_activity_id = new_turn_context.activity.id
43-
conversation_reference = TurnContext.get_conversation_reference(new_turn_context.activity)
44-
return (conversation_reference, new_activity_id)
4515

16+
class TeamsInfo:
4617
@staticmethod
4718
async def get_team_details(
4819
turn_context: TurnContext, team_id: str = ""

0 commit comments

Comments
 (0)