【问题标题】:Can`t create a new conversation by skype bot无法通过 Skype 机器人创建新对话
【发布时间】:2019-06-13 09:44:53
【问题描述】:

我试图与一个人或一群人创建一个新的对话,所以我创建了一个承载令牌进行身份验证并将其作为承载令牌添加到标题中(在邮递员中)。

所以在下一步中,我创建了一个 json 脚本,理论上,它可以创建一个新的对话。我尝试与几个人或仅与一个人创建对话(为此,我向成员或一个人添加了几个人并将标志 isGroup 更改为 true 或 false)。

这是 1 人的 json 示例:

{
    "bot": {
        "id": "<app id>",
        "name": "<bot name>"
    },
    "isGroup": false,
    "members": [
       {
            "id": "<member id>",
            "name": "<member name>"
        }
    ],
    "topicName": "Hello there!"
}

我尝试在新对话中添加的所有成员的成员 ID 都是正确的。

我总是得到下一个回应:

{
    "id": "8:live:<skype account name>"
}

对于群组对话,我得到了我添加的第一个人的这个实时 Skype 名称。所有请求都发送到 https://skype.botframework.com/v3/conversations 或 https://smba.trafficmanager.net/apis/v3/conversations 并且响应始终相同。

谁能告诉我我做错了什么?

另外,如果我在正文中添加 Activity,例如:

"activity": 
    { 
        "type": "message", 
        "from": 
        { 
            "id": "<app-id>", 
            "name": "<bot name>" 

        },
        "recipient": 
        { 
            "id": "<member id>", 
            "name": "<member name>" 
        }, 
        "text": "HI" 
    }

我得到下一个回复:

{ 
    "error": 
    { 
        "code": "ServiceError", 
        "message": "Unknown" 
    } 
}

【问题讨论】:

  • 请不要在 cmets 中发布代码,即使它只是 JSON。编辑问题以包含格式化的 JSON。
  • 你为什么要从你的问题中删除信息?
  • 我提出了问题。
  • 查看编辑历史。您的最后修改是删除 470 个字符:stackoverflow.com/posts/56577717/revisions
  • 是的。我仍在努力。

标签: java botframework skype


【解决方案1】:

因为 Skype 只允许任意两个给定用户之间进行一次对话,看起来简单的用户 ID 实际上足以让 Bot Framework 识别对话。某些频道(包括 Skype)允许一种以上的 ID 格式。对于 Skype,可以通过两种方式识别每个对话:

  • :
  • :

例如,当我在 Skype 中创建对话时,我得到了 ID 8:kyle-delaney。我可以使用它向具有以下端点的对话发送消息:

https://smba.trafficmanager.net/apis/v3/conversations/8:kyle-delaney/activities

但是,当我的机器人收到来自用户的消息时,对话 ID 和“发件人”ID 都将是 29:1CpqzpVMMhfi_2nyS1g2mfHaCxnvGL0sF8LbnGadyR_Y。所以我也可以使用这个端点向同一个对话发送消息:

https://smba.trafficmanager.net/apis/v3/conversations/29:1CpqzpVMMhfi_2nyS1g2mfHaCxnvGL0sF8LbnGadyR_Y/activities

【讨论】:

  • 我知道如何向对话发送消息。我的问题是“如何使用 Skype 机器人在多个用户之间创建群组对话?”。
  • 如果使用Skype bot框架指令来创建对话,那么在我的json中我必须为isGroup字段设置true并添加我想在字段成员中添加的用户,那么我怎样才能获得他们的ID来创建群聊?
  • 我用下一个资源创建了一个自写的 json docs.microsoft.com/en-us/azure/bot-service/rest-api/…
  • 但是我尝试发送一个我写的 json(见上面的 json),我从 Skype 得到响应,它不包含组 ID,但包含成员列表中第一个用户的对话 ID .
  • 我想我的问题描述不清楚。对此感到抱歉。我的意思是我无法使用 Skype 机器人在两个用户之间创建 GROUP 对话。为此,我将标志 isGroup 对话设置为 true 并将所需的用户添加到成员列表中(我通过从每个用户发送请求并从活动中获取此 id 来获取该 ID,我认为我做错了)。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-09-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-07-23
相关资源
最近更新 更多