botframework - 不提及 MS Teams 机器人就无法接收频道消息
问题描述
我按照文档在 manifest.json 中添加了 webApplicationInfo 以包含 RSC 权限。但是,当消息中未提及机器人时,我仍然没有收到任何消息活动。
"webApplicationInfo": {
"id": "<i have updated app id here>",
"resource": "https://AnyString",
"applicationPermissions": [
"ChannelMessage.Read.Group"
]
}
以下是我回显消息的代码:
protected override async Task OnMessageActivityAsync(ITurnContext<IMessageActivity> turnContext, CancellationToken cancellationToken)
{
await turnContext.SendActivityAsync(MessageFactory.Text($"Echo: {turnContext.Activity.Text}"), cancellationToken);
}
我检查了permissionGrant restful API(https://graph.microsoft.com/v1.0/groups/ {groupid}/permissionGrants ),它包括“ChannelMessage.Read.Group”
{
"@odata.context": "https://graph.microsoft.com/v1.0/$metadata#permissionGrants",
"value": [
{
"id": "<id ....>",
"deletedDateTime": null,
"clientId": "<client id ...>",
"clientAppId": "<client app id ...>",
"resourceAppId": "<resource app id ...>",
"permissionType": "Application",
"permission": "ChannelMessage.Read.Group"
}
]
}
这是当前情况截图的链接(bot 仍然只在 bot 被@提及时收到消息。)
提前致谢!
解决方案
在团队频道中向机器人发送消息,您需要@提及机器人名称。这是设计使然。
推荐阅读
- javascript - 访问 Javascript 对象中的数组
- node.js - “请求的来源上不存在'Access-Control-Allow-Origin'标头”CORS不起作用(使用npm包CORS)
- php - Laravel - 插入相关模型
- laravel - 在 laravel 的 cron 作业调度程序中运行 phpunit 的测试
- gerrit - 我可以在 Gerrit 中查看分支的最终状态吗?
- c - cmake灯丝渲染项目时出错
- wpf - 从样式中将项目添加到集合
- google-cloud-platform - 需要 iam.serviceAccounts.getIamPolicy 才能对服务帐户执行此操作
- angular - 如何从以下服务获取数据?
- php - Tinker 在 Laravel 5.8 中给出异常