Rest 使用DirectLineV3,如何向用户发送消息?
我正在实现一个DirectLine客户端,用于通过Twilio和BotFramework连接WhatsApp。我已经能够:Rest 使用DirectLineV3,如何向用户发送消息?,rest,botframework,direct-line-botframework,Rest,Botframework,Direct Line Botframework,我正在实现一个DirectLine客户端,用于通过Twilio和BotFramework连接WhatsApp。我已经能够: 创建对话 听对话的websocket 将活动发送到bot 就我的一生而言,我不知道如何将活动发送到DirectLine客户端,以便它将其转发给用户。换句话说,如何在DL客户端的websocket上弹出一些活动 在机器人方面,我正在做的是: 要求客户端在bot和用户之间的DirectLine中创建对话(我使用电话号码作为收件人/发件人ID) 使用新对话及其serviceUrl
serviceUrl
将活动从bot发布给用户POST https://directline.botframework.com/v3/directline/conversations/CONVERSATION_ID/activities
{
"type": "message",
"text": "message",
"from": { "id": "whatsapp:BOT_PHONE_NUMBER" },
"recipient": { "id": "whatsapp:USER_PHONE_NUMBER" }
}
这导致此活动在websocket中弹出:
{
"channelId": "directline",
"conversation": {"id": "CONVERSATION_ID"},
"from": {"id": "whatsapp:BOT_PHONE_NUMBER"},
"id": "CONVERSATION_ID|0000006",
"recipient": {
"id": "BOT_ID@something",
"name": "Bot"
},
"serviceUrl": "https://directline.botframework.com/",
"text": "pls",
"timestamp": "2019-08-26T23:14:13.3099739Z",
"type": "message"
}
这显然是无用的,因为用户的电话号码丢失了?!相反,“收件人”被改写为bot的
我的问题是:实现这一目标的标准方法是什么?
我可以完全绕过BF,给我的客户打电话,让它向用户发送消息。但是,这意味着此通道的实现与所有其他通道不同。如果是这样的话,那么WebSocket有什么意义呢