gpt4 book ai didi

html - 在Microsoft Bot Framework中,如何从聊天的url中提取参数?

转载 作者:太空宇宙 更新时间:2023-11-04 00:08:41 25 4
gpt4 key购买 nike

我编写了一个 html 页面,用户在其中登录(数据文件为 json),我可以保存他/她的名字和性别。我将它们作为参数传递到机器人所在的请求 URL 中。

   var xhr = new XMLHttpRequest();

function processRequest(e) {
var url;
if (xhr.readyState == 4 && xhr.status == 200) {
var response = JSON.parse(xhr.responseText);

url = "https://webchat.botframework.com/embed/nodejsbot98?firstname="+firstname+"&gender="+gender+"&t="+response;
document.getElementById("chat").src= url;
}
}

现在在 app.js 中,我希望机器人用名字来问候该用户,并根据性别确定机器人是男性还是女性。 url如何调用app.js来发送和接收消息?如何从 url 访问这些参数?

编辑:使用反向 channel ,该脚本正确吗?

    <!DOCTYPE html>
<html>
<head>
<link href="https://cdn.botframework.com/botframework-webchat/latest/botchat.css" rel="stylesheet" />
<script src="https://cdn.botframework.com/botframework-webchat/latest/botchat.js"></script>

</head>
<body>
<div id="bot"/>
<script>
var botConnection = new BotChat.DirectLine({
secret: 'TGDGNQY7JK0.cwA.XiQ.I1LDLE5qI3Jsx6q7dlnMMrJtEoLcbTdOE-QIZ4AA_1Y',
});

var user = {
id: 'userid',
name: 'username'
};

var bot = {
id: 'botid',
name: 'botname'
};

BotChat.App({
botConnection: botConnection,
user: user,
bot: bot,
}, document.getElementById("bot"));

botConnection
.postActivity({type: "event", value: "", from: {id: "me" }, name: "greeting", data:{firstname:'Alain', gender:'male'}})
.subscribe(id => console.log("success"));
</script>
</body>
</html>

最佳答案

根据您的要求,最好利用 The Backchannel botframework-webchat 库的功能,因为 Bot 服务的嵌入网络聊天很难从 url 传递值。

利用网络聊天 js 库,您可以设置如下值:

botConnection .postActivity({ type: "event", from: user, name: "customeEvt", data:{fitstname:'Gary',gender:'Male'} }) .subscribe(activity => console.log(activity));

在机器人应用程序中,您可以通过事件触发器检索变量:

bot.on('event',(event) => {
if (event.name === 'customeEvt') {
console.log(event)// use the data as **event.data** as you set the variable as 'data'
bot.beginDialog(event.address, '<any dialog>', event.data);//pass your value to dialog
}
})

关于html - 在Microsoft Bot Framework中,如何从聊天的url中提取参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50987616/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com