Cor*_*nus 5 c# botframework microsoft-teams
我正在安装 Teams 机器人并将其添加到团队中。当我将它添加到团队时,在初始调用时,我在 OnTurnAsync 中正确地获得了“conversationUpdate”事件。我遇到的问题是,任何获取团队本身的调用都失败了,因为那里没有任何东西,我可以看到,用于获取调用以获取团队数据的 Id。
我希望能够将其添加到团队中,获取该事件,然后获取与添加到的团队相关的数据。
这是我正在尝试的。
private const string ActOnType = "conversationUpdate";
public override async Task OnTurnAsync(ITurnContext turnContext, CancellationToken cancellationToken = default)
{
if (IsConversationUpdate(turnContext))
{
// This fails because TeamsGetInfo is returning null
var teamDetails = await TeamsInfo.GetTeamDetailsAsync(turnContext, turnContext.Activity.TeamsGetTeamInfo().Id, cancellationToken);
}
}
private bool IsConversationUpdate(ITurnContext turnContext) => string.Equals(turnContext.Activity.Type,
ActOnType, StringComparison.InvariantCultureIgnoreCase);
Run Code Online (Sandbox Code Playgroud)
其他注释...
turnContext.Activity.TeamsGetChannelId()为空,ChannelData 也是如此。任何进一步的调用都有通道数据,但我将机器人添加到团队的初始调用没有。
从调用中添加我的 JSON
{
"membersAdded": [
{
"id": "29:1HqtPeQvYpNL682R_NeBMndg6kYbZbBHsZliZdAT2xWsJWzS0_b50S1ijo2hmPu5i0HTrvqPiOBxqpbtJjS7zyja",
"aadObjectId": "{valid guid}"
},
{
"id": "28:{valid guid}"
}
],
"type": "conversationUpdate",
"timestamp": "2021-01-11T18:15:49.9118003Z",
"id": "f:{valid guid}",
"channelId": "msteams",
"serviceUrl": "https://smba.trafficmanager.net/amer/",
"from": {
"id": "29:1HqtPeQvYpNL682R_NeBMndg6kXaZbBHsZliZdAT2xWsJWzS0_gOS1ijo2hmPu5i0HTrvqPiOBxqpbtJjS6zyjA",
"aadObjectId": "{valid guid}"
},
"conversation": {
"conversationType": "personal",
"tenantId": "{valid guid}",
"id": "a:1UgWdBcfpF4JUtOCCjQZsvhjl-QK9YBBnALG7ACgA0QdKx_xGICsQ3d6l94t_pPed7fvtnwSnRlYcWe7kXT7dStP-YCtuvliI8GPZj9Sd5P2wHsBAAn1ibwdad4Lq-O3B"
},
"recipient": {
"id": "28:{valid guid}",
"name": "LocalBot"
},
"channelData": {
"tenant": {
"id": "{valid guid}"
}
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
406 次 |
| 最近记录: |