我们如何知道用户对MS团队做出了哪些反应(喜欢/不喜欢)?

时间:2019-04-30 07:16:59

标签: botframework microsoft-teams

我们需要帮助来了解Microsoft团队如何喜欢和不喜欢BotFramework。当用户单击后台提供的类似选项时,我们将获得reactID,但是我们如何知道用户已针对哪个特定消息提供了反馈。我们在团队中有这种可行性吗?

1 个答案:

答案 0 :(得分:1)

您可以在replyToId中找到它。 the docs中的示例:

  

当用户添加或删除他或她对最初由您的漫游器发送的消息的反应时,将发送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的,我认为如果您自行设置,它将不会持续存在。有了它之后,就可以update the activity了。

如果您要分析对哪些消息作出反应,则可能要在TurnContext.OnSendActivities中记录传出活动的IdText。然后,当出现反应时,您可以使用新的Activity Handler处理消息并将反应添加到日志中。我相信这会在OnUnrecognizedActivityTypeAsync中出现。这类似于上一个链接update the activity