首页 > 解决方案 > 在 Bot Framework 中接收来自 Skype 的传入消息时,除了消息文本之外没有 ChannelData

问题描述

当我收到来自 Telegram 的消息时,我会在 Activity.ChannelData 字段中获得有关帐户的详细信息(例如用户名、conversation_id 等)。

{
  "update_id": ,
  "callback_query": {
    "id": "",
    "from": {
      "id": ,
      "is_bot": false,
      "first_name": "",
      "last_name": "",
      "username": "",
      "language_code": ""
    },
    "message": {
      "message_id": ,
      "from": {
        "id": ,
        "is_bot": true,
        "first_name": "",
        "username": ""
      },
      "chat": {
        "id": ,
        "first_name": "",
        "last_name": "",
        "username": "",
        "type": "private"
      },
      "date": ,
      "text": "Example text"
    },
    "chat_instance": "",
    "data": ""
  }
}

但是当谈到 Skype 时,我看到的只是消息文本,没有别的。

{  "text": "Example text"}

怎么知道,是谁给我发的信息?

Upd:这不应该是用户名,任何其他数据,如用户唯一 ID 都适合。

标签: botframeworkbotsskype

解决方案


不幸的是,返回的内容是特定于频道的,由频道开发人员确定。决定这一点的不是 Azure 机器人服务或机器人框架的函数。

至于知道是谁发来的消息,这是不可能的。Skype 仅返回每个用户的唯一 ID,以便在隐私问题方面提供一层保密性。


推荐阅读