我有一个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>
该机器人应具有我需要的所有应用程序权限,包括以下权限(不是完整列表):
我还设置了以下范围:
"scopes": [
"personal",
"team",
"groupchat"
],
我认为问题出在我从会议创建中获取的对话ID格式,需要将其作为ChatInfo中的ThreadId传递到呼叫连接的主体中。大概也应该是消息传递会话ID。
所以,我的问题是,是否有可能在会议上发布机器人主动消息,如果是,我应该如何获取会议聊天线程的对话ID?