在Bot Framework中从Skype接收传入消息时,除了消息文本之外没有ChannelData

Lia*_*han 5 bots skype botframework

当我收到来自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": ""
  }
}
Run Code Online (Sandbox Code Playgroud)

但是当涉及到Skype时,我所看到的只是消息文本,而不是其他内容.

{  "text": "Example text"}
Run Code Online (Sandbox Code Playgroud)

怎么知道,谁给我发了消息呢?

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

Ste*_*erg 2

不幸的是,返回的内容是特定于渠道的,由渠道开发人员确定。决定这一点的不是 Azure Bot 服务或 Bot 框架的功能。

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