gpt4 book ai didi

javascript - 单击链接将文本提交到 BotFramework WebChat

转载 作者:行者123 更新时间:2023-12-01 01:40:42 29 4
gpt4 key购买 nike

我使用 Microsoft Bot Framework 开发了一个聊天机器人,并通过 DirectLine 将其包含在我的网站中:

<div id="chatbot_body"></div>
<script src="https://unpkg.com/botframework-webchat/botchat.js"></script>
<script>
BotChat.App({
directLine: { secret: 'here-is-my-key' },
user: { id: 'Sie' },
bot: { id: 'botid' },
resize: 'detect'
}, document.getElementById("chatbot_body"));
</script>

默认情况下,聊天机器人窗口是隐藏的,仅当用户单击“与聊天机器人聊天”链接时才会显示。

但我还希望通过单击此链接聊天机器人立即开始对话。我正在尝试使用 Jquery 来完成此操作,方法是填写聊天输入并在单击链接时将其发送到聊天机器人。

$("#chatbot_link").on("click", function(){
$("#chatbot_body").show(); // show chatbot window
$("input.wc-shellinput").val("start"); // fill input field with 'start'
$(".wc-console").addClass("has-text"); // add has-text class (necessary?)
$(".wc-send").click(); // submit form by clicking wc-send
}

但这不起作用。 输入不会发送到聊天机器人,因此聊天机器人不会说什么。

知道我在这里做错了什么吗?

非常感谢:)

最佳答案

听起来您正在寻找“欢迎消息” - 这是当用户第一次加入聊天时机器人发送给用户的消息。示例:“欢迎使用购物机器人!我将帮助您跟踪购物 list ”或描述机器人一般功能的内容。您可以通过将以下代码添加到您的机器人中,在 Node.js 中执行此操作:

// Welcome message for Node.js bot
bot.on('conversationUpdate', function (message) {
if (message.membersAdded) {
message.membersAdded.forEach(function (identity) {
if (identity.id == message.address.bot.id) {
// Bot is joining conversation
// - For WebChat channel you'll get this on page load.
var reply = new builder.Message()
.address(message.address)
.text("Welcome to my page");
bot.send(reply);
} else {
// User is joining conversation
// - For WebChat channel this will be sent when user sends first message.
// - When a user joins a conversation the address.user field is often for
// essentially a system account so to ensure we're targeting the right
// user we can tweek the address object to reference the joining user.
// - If we wanted to send a private message to teh joining user we could
// delete the address.conversation field from the cloned address.
var address = Object.create(message.address);
address.user = identity;
var reply = new builder.Message()
.address(address)
.text("Hello %s", identity.name);
bot.send(reply);
}
});
}
});

来源:https://gist.github.com/nwhitmont/d9910fcf7ab4048ee37bd5c789cfc375

关于javascript - 单击链接将文本提交到 BotFramework WebChat,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45880697/

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