繁体   English   中英

如何将数据从网站传递到Botframework网络聊天机器人?

[英]How to pass data from a website to a botframework web chat bot?

我们正在构建一个MS botframework机器人,该机器人将托管在我们控制的网站上。

有没有一种方法可以将会话ID从主机网站传递到网络聊天机器人小部件,以便在从机器人内部处理消息时可以访问它。

如果不是,是否可以按照此处http://docs.botframework.com/connector/embed-chat-c​​ontrol/所述访问“ t”令牌参数

谢谢

当前无法通过聊天控件执行此操作。

如果您想要更紧密的集成,则应考虑使用DirectLIne API并以此构建自己的UX体验。

可以检索对话ID,该ID在您的漫游器的Message中可用。 为此,您应该向标头为Authorization且值为“ BOTCONNECTOR {您的安全代码}”的标题的https://webchat.botframework.com/api/conversations发出POST请求

作为结果或请求,您应该收到新的令牌和对话ID。 该令牌用于iframe代码创建中,conversionId可用作您的会话令牌。

使用DirectLineBackchannel可能会对您有所帮助。 如果滚动到最后一部分,您将在此仓库的自述文件中找到相关信息。 它允许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.

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