Teams机器人发送频道消息时提及标签能否通过Bot Framework实现
Bot Framework实现Teams消息标签提及方案
完全可以通过Bot Framework实现该需求,只需调整发送的Activity payload即可,逻辑和你当前使用的Graph API payload高度兼容。
具体实现步骤
- 首先确认你已经通过Graph API获取到目标团队内对应标签的有效ID、显示名称,这部分的获取逻辑不需要改动。
- 构造发送到Teams的Activity对象时,按如下规则配置:
- 将
textFormat属性设置为html,保证带标签的内容可以正常解析 - 在
text属性中填入带<at id="对应提及ID">标签显示名</at>的HTML内容,和你之前Graph payload里的content字段内容一致 - 在
entities数组中添加类型为mention的实体,结构和你之前Graph的mentions数组项完全对齐即可
- 将
参考Activity payload示例
{ "type": "message", "text": "<div>New incident ##### assigned to <at id=\"0\">App operations</at></div>", "textFormat": "html", "entities": [ { "type": "mention", "id": 0, "mentionText": "App operations", "mentioned": { "tag": { "id": "你提前获取到的标签ID", "displayName": "App operations" } } } ] }
注意事项
- 提及的标签必须属于当前消息所在的团队,跨团队的标签ID无法生效
- 机器人需要拥有对应团队的读取权限,确保可以正常识别标签信息
mentionText和标签内的文本要和标签实际显示名保持一致,避免提及不生效的问题
内容的提问来源于stack exchange,提问作者hsulriksen
相关产品推荐
相关产品推荐

