15
15
16
16
class TeamsInfo :
17
17
@staticmethod
18
- def get_team_details (turn_context : TurnContext , team_id : str = "" ) -> TeamDetails :
18
+ async def get_team_details (
19
+ turn_context : TurnContext , team_id : str = ""
20
+ ) -> TeamDetails :
19
21
if not team_id :
20
22
team_id = TeamsInfo .get_team_id (turn_context )
21
23
@@ -24,12 +26,11 @@ def get_team_details(turn_context: TurnContext, team_id: str = "") -> TeamDetail
24
26
"TeamsInfo.get_team_details: method is only valid within the scope of MS Teams Team."
25
27
)
26
28
27
- return TeamsInfo .get_teams_connector_client (
28
- turn_context
29
- ).teams .get_team_details (team_id )
29
+ teams_connector = await TeamsInfo .get_teams_connector_client (turn_context )
30
+ return teams_connector .teams .get_team_details (team_id )
30
31
31
32
@staticmethod
32
- def get_team_channels (
33
+ async def get_team_channels (
33
34
turn_context : TurnContext , team_id : str = ""
34
35
) -> List [ChannelInfo ]:
35
36
if not team_id :
@@ -40,11 +41,8 @@ def get_team_channels(
40
41
"TeamsInfo.get_team_channels: method is only valid within the scope of MS Teams Team."
41
42
)
42
43
43
- return (
44
- TeamsInfo .get_teams_connector_client (turn_context )
45
- .teams .get_teams_channels (team_id )
46
- .conversations
47
- )
44
+ teams_connector = await TeamsInfo .get_teams_connector_client (turn_context )
45
+ return teams_connector .teams .get_teams_channels (team_id ).conversations
48
46
49
47
@staticmethod
50
48
async def get_team_members (turn_context : TurnContext , team_id : str = "" ):
@@ -56,25 +54,26 @@ async def get_team_members(turn_context: TurnContext, team_id: str = ""):
56
54
"TeamsInfo.get_team_members: method is only valid within the scope of MS Teams Team."
57
55
)
58
56
57
+ connector_client = await TeamsInfo ._get_connector_client (turn_context )
59
58
return await TeamsInfo ._get_members (
60
- TeamsInfo ._get_connector_client (turn_context ),
61
- turn_context .activity .conversation .id ,
59
+ connector_client , turn_context .activity .conversation .id ,
62
60
)
63
61
64
62
@staticmethod
65
63
async def get_members (turn_context : TurnContext ) -> List [TeamsChannelAccount ]:
66
64
team_id = TeamsInfo .get_team_id (turn_context )
67
65
if not team_id :
68
66
conversation_id = turn_context .activity .conversation .id
69
- return await TeamsInfo ._get_members (
70
- TeamsInfo ._get_connector_client (turn_context ), conversation_id
71
- )
67
+ connector_client = await TeamsInfo ._get_connector_client (turn_context )
68
+ return await TeamsInfo ._get_members (connector_client , conversation_id )
72
69
73
70
return await TeamsInfo .get_team_members (turn_context , team_id )
74
71
75
72
@staticmethod
76
- def get_teams_connector_client (turn_context : TurnContext ) -> TeamsConnectorClient :
77
- connector_client = TeamsInfo ._get_connector_client (turn_context )
73
+ async def get_teams_connector_client (
74
+ turn_context : TurnContext ,
75
+ ) -> TeamsConnectorClient :
76
+ connector_client = await TeamsInfo ._get_connector_client (turn_context )
78
77
return TeamsConnectorClient (
79
78
connector_client .config .credentials , turn_context .activity .service_url
80
79
)
@@ -86,13 +85,12 @@ def get_teams_connector_client(turn_context: TurnContext) -> TeamsConnectorClien
86
85
def get_team_id (turn_context : TurnContext ):
87
86
channel_data = TeamsChannelData (** turn_context .activity .channel_data )
88
87
if channel_data .team :
89
- # urllib.parse.quote_plus(
90
88
return channel_data .team ["id" ]
91
89
return ""
92
90
93
91
@staticmethod
94
- def _get_connector_client (turn_context : TurnContext ) -> ConnectorClient :
95
- return turn_context .adapter .create_connector_client (
92
+ async def _get_connector_client (turn_context : TurnContext ) -> ConnectorClient :
93
+ return await turn_context .adapter .create_connector_client (
96
94
turn_context .activity .service_url
97
95
)
98
96
0 commit comments