MS团队 - 不要在活动源中显示特定消息的通知

时间:2018-04-23 14:02:54

标签: botframework microsoft-teams

问题

对于使用Bot 3.15.0.0定向.NET框架4.7.1的C#开发的MS团队,我有一个简单的Bot Builder SDK

当提到时,它会在邮件中检索Jira票证ID,并返回带有一系列卡片的单个回复,每个卡片都显示一个Jira问题的摘要。

我想知道在发送带有附件的回复时是否可以不填充活动源,因为我的用例不需要它。

实施例

这就是我通常构建对用户消息的回复的方式

var reply = activity.CreateReply();

reply.AttachmentLayout = AttachmentLayoutTypes.List;
reply.Attachments = thumbnailCards;

await context.PostAsync(reply);

这是我在https://docs.microsoft.com/en-us/microsoftteams/platform/concepts/activity-feed#rest-api-sample

阅读文档后尝试的内容
var reply = activity.CreateReply();

reply.AttachmentLayout = AttachmentLayoutTypes.List;
reply.Attachments = thumbnailCards;
reply.ChannelData = JsonConvert.SerializeObject(new
{
    notification = new
    {
        alert = false
    }
});
await context.PostAsync(reply);

我希望将ChannelData设置为notification.alert = false只会禁用通知,但它实际上不会显示任何消息。

2 个答案:

答案 0 :(得分:1)

您是否尝试过使用Teams nuget包:https://www.nuget.org/packages/Microsoft.Bot.Connector.Teams

var reply = activity.CreateReply();
reply.ChannelData = JObject.FromObject(new TeamsChannelData()
                               {
                                    Notification = new NotificationInfo(false)
                               });

此软件包的来源可在此处找到:https://github.com/OfficeDev/BotBuilder-MicrosoftTeams/

答案 1 :(得分:0)

您在活动Feed中收到的提醒只是“有人回复您的消息”提醒,并且来自机器人并不特别。目前无法禁用活动Feed中的此通知。其他团队成员不会在活动源中收到此提醒,除非他们遵循相同的渠道。

Sending notification using Rest API旨在用于1:1聊天。