Microsoft Teams Bot如何向会议发送聊天消息?

时间:2020-11-03 16:08:44

标签: botframework microsoft-teams microsoft-graph-teams

我有一个Teams机器人,它可以代表用户创建会议,加入会议呼叫,将媒体播放到会议中以及使用调用堆栈将参与者添加到会议中。我还想监视会议中的聊天,和/或将消息发送到会议聊天中。首先,我尝试过这样的事情:

ConnectorClient c = new ConnectorClient(new Uri("https://smba.trafficmanager.net/amer/"), AppId, AppSecret);
var message = Microsoft.Bot.Schema.Activity.CreateMessageActivity();
message.Text = "Message from bot"; 
await c.Conversations.SendToConversationAsync("19:meeting_YzJjYjUzZmQtMjgzZi00ZjgyLTllMGMtZjQ2OWM4NmEzM2Y5@thread.v2", (Microsoft.Bot.Schema.Activity)message);

以未经授权的身份回来的人。我已经使用相同的方法通过如下所示的ID将主动机器人消息与1:1聊天:

a:1HS58qlUpMwrFUuXZ9mER5D1o8cmsrufPaG8cfaV8Zj3D6lhKCU4XYKU05UxTP1EQ0UOi0Cl3LzQFSCAOQKv_KTIXgjr5Y3nvh-ONPwC-mz71o3hF>

该机器人应具有我需要的所有应用程序权限,包括以下权限(不是完整列表):

  • Chat.ReadWrite.All
  • Calls.Initiate.All
  • OnlineMeetings.ReadWrite.All
  • Calls.JoinGroup.All
  • Calls.AccessMedia.All

我还设置了以下范围:

            "scopes": [
                "personal",
                "team",
                "groupchat"
            ],

我认为问题出在我从会议创建中获取的对话ID格式,需要将其作为ChatInfo中的ThreadId传递到呼叫连接的主体中。大概也应该是消息传递会话ID。

所以,我的问题是,是否有可能在会议上发布机器人主动消息,如果是,我应该如何获取会议聊天线程的对话ID?

0 个答案:

没有答案