繁体   English   中英

如何将Microsoft Bot中的值发送到Javascript?

[英]How do I send a value from a Microsoft Bot to Javascript?

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

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

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

谢谢

EDIT2:

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

returns BotAuthenticator failed to authenticate incoming request!

您可以实现以下目标:

我需要从Microsoft Framework Bot中的MessagesController发送一个字符串到用JS编写的脚本。

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

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

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

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

您可以使用以下命令发送所需的秘密并激活正确的机器人。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM