从Web客户端调用Microsoft Bot Framework机器人而无需在Azure上托管

时间:2018-10-25 09:51:05

标签: c# azure asp.net-web-api botframework direct-line-botframework

我需要建立一个简单的Microsoft Bot Framework机器人和一个Web客户端(HTML,CSS和JavaScript,jQuery)的通讯方式

我看到有使用WebChat,DirectLine API进行此操作的方法,但是我不想使用任何Azure服务(例如Bot Registrations Service或App Service)来获取渠道,但我想使用纯JavaScript来调用机器人,因为它只是一个Web API应用程序,所以必须有一种方法。

我尝试了一个简单的jQuery ajax调用,它调用了服务器,但之后不久失败了

$(document).ready(function() {
  $.post('http://localhost:3979/api/messages', {
    "type": "message",
    "from": {
      "id": "user1"
    },
    "text": "hello"
  }).fail(function(error) {
    debugger;
  }).done(function(response) {
    debugger;
  });
});

似乎我需要完全https://docs.microsoft.com/en-us/azure/bot-service/rest-api/bot-framework-rest-connector-api-reference?view=azure-bot-service-4.0#activity-object来形成活动对象,但是如何获得所有属性值

谁能告诉我这是否可能以及如何实现

1 个答案:

答案 0 :(得分:0)

您的机器人必须至少执行directline的实现(模拟器中包含其中一个,这就是它能够为您处理对话和活动的原因),并通过天蓝色的免费机器人注册频道也会为您处理此问题。

{@ 3}}是一个不需要Azure的非正式非正式实施示例,但是如果您创建一个处理对话ID以及其他必需活动参数的实现,那么它也将起作用。