javascript - 如何将值从 Microsoft Bot 发送到 Javascript?

标签 javascript c# botframework

我需要将字符串从 Microsoft Framework Bot 中的 MessagesController 发送到用 JS 编写的脚本。该字符串包含我们托管的处于非事件状态(未使用)的机器人的 secret 值。有没有办法从 Azure 托管机器人发送字符串?

编辑:我试图创建一个返回字符串但无法通过 URL 检索它的方法 (sitename.azurewebsites.net/api/messages/methodname),我不能使用 Jsonresult 或 Actionresult,因为机器人不是 MVC .

更多信息:我们设置了 5 个机器人,它们将自己设置为活跃(在聊天 session 中)或不活跃(不在聊天 session 中)。我们通过数据库中设置的值知道机器人是否处于事件状态。数据库中有一个存储过程,它为不活动的机器人返回直接线路 secret 。我想要做的是将这个 secret (字符串)从数据库发送到 JavaScript,这样我们就可以动态生成一个机器人。问题是,我们不想从前端的 JS 连接到数据库,而是想从机器人(任何机器人)那里获取 secret 。因此,我想从 MessagesController 获取一个字符串值,并将其从 azure 上的托管机器人发送到 JavaScript。

谢谢

编辑2:

 public IHttpActionResult GetString()
        {
            return Ok("it worked");
        }

returns BotAuthenticator failed to authenticate incoming request!

最佳答案

您可以实现以下目标:

I need to send a string from the MessagesController in a Microsoft Framework Bot to a script written in JS.

通过使用网络聊天 channel 的反向 channel 功能。根据您的查询,我假设您正在此处使用此 channel 。

要获得有关反向 channel 的更多信息,请查看 here . 这个想法是从您的机器人代码发送一个事件,该事件将由客户端的 JS 接收:

客户端 JavaScript 还会监听来自机器人的特定事件。在他们的示例中,他们展示了根据机器人发送的事件在客户端更改颜色的能力:

botConnection.activity$
    .filter(activity => activity.type === "event" && activity.name === "changeBackground")
    .subscribe(activity => changeBackgroundColor(activity.value))

您可以使用以下方式发送您需要的密码并激活正确的机器人。

关于javascript - 如何将值从 Microsoft Bot 发送到 Javascript?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49532572/

相关文章:

javascript - 跟踪成功的 ajax 请求/返回

javascript - Nodejs&Formidable, 上传图片

javascript - 如何访问 nodejs 插件中的包装对象属性

javascript - require jquery 如何在 Rails 3 应用程序中工作?

c# - 串联列表中的项目以在 WPF 组合框 Itemssource 中使用

javascript - 将 json 拆分为轮播卡

c# - 在 Razor 应用程序中将 View 显示为灯箱

c# - 调用 Console.WriteLine(ex.Message) 以防止出现警告消息

azure - 在页面重新加载/导航到另一个页面后,有没有办法在 MS Bot Framework Web Chat 中保留聊天历史记录?

azure - Slack 消息不会到达 Azure