Microsoft Teams聊天机器人Bot Framework SDK无法添加重要标记
如何通过Bot Framework SDK为Teams消息添加重要标记
你当前的Bot Framework SDK代码中,设置消息重要性的方式存在问题,导致Teams无法识别重要标记。以下是修正后的实现方案:
问题原因
你直接给messageActivity.Importance赋值字符串("high"/"normal"),但该属性的正确类型是ActivityImportance枚举,而非字符串。字符串赋值无法被Teams正确解析,因此重要标记不生效。另外,在Attachment的Properties中设置Importance是无效的,因为重要性是针对整个消息活动的,而非单个附件。
修正后的代码
public static async Task SendTemplateToUser(SendTeamsMessage message, string summary, ITurnContext turnContext, CancellationToken cancellationToken) { var cardAttachment = new Attachment() { ContentType = "application/vnd.microsoft.card.adaptive", Content = JsonConvert.DeserializeObject(message.MessageBody) // 移除无效的Properties中的Importance设置 }; var messageActivity = MessageFactory.Attachment(cardAttachment); messageActivity.Summary = summary; // 使用ActivityImportance枚举设置重要性 messageActivity.Importance = message.IsUrgent ? ActivityImportance.High : ActivityImportance.Normal; await turnContext.SendActivityAsync(messageActivity, cancellationToken); }
额外说明
确保你的代码引用了Microsoft.Bot.Schema命名空间,ActivityImportance枚举定义在此命名空间下。设置完成后,Teams会根据Importance的值显示对应的重要标记(高重要性消息会带有红色感叹号标识)。
内容的提问来源于stack exchange,提问作者Mohamad Mousheimish
相关产品推荐
相关产品推荐

