![](/img/trans.png)
[英]Send data from web form to web chat bot with Botframework V3
[英]How to pass data from a website to a botframework web chat bot?
我们正在构建一个MS botframework机器人,该机器人将托管在我们控制的网站上。
有没有一种方法可以将会话ID从主机网站传递到网络聊天机器人小部件,以便在从机器人内部处理消息时可以访问它。
如果不是,是否可以按照此处http://docs.botframework.com/connector/embed-chat-control/所述访问“ t”令牌参数
谢谢
当前无法通过聊天控件执行此操作。
如果您想要更紧密的集成,则应考虑使用DirectLIne API并以此构建自己的UX体验。
可以检索对话ID,该ID在您的漫游器的Message中可用。 为此,您应该向标头为Authorization且值为“ BOTCONNECTOR {您的安全代码}”的标题的https://webchat.botframework.com/api/conversations发出POST请求
作为结果或请求,您应该收到新的令牌和对话ID。 该令牌用于iframe代码创建中,conversionId可用作您的会话令牌。
使用DirectLine和Backchannel可能会对您有所帮助。 如果滚动到最后一部分,您将在此仓库的自述文件中找到相关信息。 它允许Webchat和主机可以彼此收发信息。
<body onload="postLoadMessage()">
<div id="BotChatGoesHere" class="wc-narrow"></div>
<script src="botchat.js"></script>
<script>
var params = BotChat.queryParams(location.search);
var user = { id: '***' };
var bot = { id: '***' };
window['botchatDebug'] = params['debug'] && params['debug'] === "true";
var botConnection = new BotChat.DirectLine({
secret: '****',
token: params['t'],
domain: params['domain'],
webSocket: params['webSocket'] && params['webSocket'] === "true" // defaults to true
});
BotChat.App({
botConnection: botConnection,
user: user,
bot: bot
}, document.getElementById("BotChatGoesHere"));
//var x= whatever value you want to send;
const postLoadMessage = () => {
botConnection
.postActivity({type: "event", value: x , from: {id: "me" }, name: "PageLoaded"})
.subscribe(id => console.log("success"));
}
</script>
</body>
上面给出的代码是我在加载带有bot的页面时如何使用它发送值x的方法。
我希望这有帮助 :)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.