我们如何知道 MS 团队中哪个响应用户做出了反应(喜欢/不喜欢)



我们需要帮助来了解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.这与上一个链接类似,更新活动。

最新更新