我们需要帮助来了解Microsoft喜欢和不喜欢的团队如何使用BotFramework。当用户单击后台提供的喜欢选项时,我们会得到反应ID,但是我们如何知道用户给出了哪个特定的消息。我们在团队上有这种可行性吗?
replyToId
中找到它。文档中的示例:
当用户添加或删除其对最初由机器人发送的消息的反应时,将发送
messageReaction
事件。replyToId
包含特定消息的 ID。
{
"reactionsAdded": [
{
"type": "like"
}
],
"type": "messageReaction",
"timestamp": "2017-10-16T18:45:41.943Z",
"id": "f:9f78d1f3",
"channelId": "msteams",
"serviceUrl": "https://smba.trafficmanager.net/amer-client-ss.msg/",
"from": {
"id": "29:1I9Is_Sx0O-Iy2rQ7Xz1lcaPKlO9eqmBRTBuW6XzkFtcjqxTjPaCMij8BVMdBcL9L_RwWNJyAHFQb0TRzXgyQvA",
"aadObjectId": "c33aafc4-646d-4543-9d4c-abd28e4d2110"
},
"conversation": {
"isGroup": true,
"id": "19:3629591d4b774aa08cb0887902eee7c1@thread.skype"
},
"recipient": {
"id": "28:f5d48856-5b42-41a0-8c3a-c5f944b679b0",
"name": "SongsuggesterLocal"
},
"channelData": {
"channel": {
"id": "19:3629591d4b774aa08cb0887902eee7c1@thread.skype"
},
"team": {
"id": "19:efa9296d959346209fea44151c742e73@thread.skype"
},
"tenant": {
"id": "72f988bf-86f1-41af-91ab-2d7cd011db47"
}
},
"replyToId": "1:19uJ8TZA1cZcms7-2HLOW3pWRF4nSWEoVnRqc0DPa_kY"
}
但是请注意,此replyToId
特定于 Teams,如果您自己设置,我认为它不会持续存在。拥有它后,您可以更新活动。
如果您尝试分析对哪些消息做出反应,则可能需要记录传出活动的Id
,并在TurnContext.OnSendActivities
中记录Text
。然后,当收到反应时,您可以使用新Activity Handler
来处理消息并将反应添加到日志中。我相信这会OnUnrecognizedActivityTypeAsync
.这与上一个链接类似,更新活动。