gpt4 book ai didi

Azure Bot 中的 JavaScript 变量分配

转载 作者:行者123 更新时间:2023-12-01 02:26:51 25 4
gpt4 key购买 nike

我正在使用 Azure BotBuilder 和 JavaScript 创建机器人,但遇到以下问题。

我不知道如何捕获聊天窗口中按下的按钮的值。在下面的代码中,“startOrderCoffee”bot.dialog 向用户提供了三种咖啡选项(见图)。当通过单击按钮进行选择时,该选择将作为消息返回。从图中可以看出,如果用户点击“滴滤咖啡”,则聊天窗口中会显示“滴滤”。

我不知道如何捕获消息值并将该响应返回到下一个函数。在本例中,该按钮作为“welcomeCard”对象的一部分生成,并通过以下 session.send() 函数在聊天窗口中生成。

通常,第二个函数中的 results.response 选项将捕获先前的用户输入。但是,它在这里不起作用。我已经创建了变量,但我不知道如何进行赋值。有人可以帮助我了解如何执行此操作吗?

Coffee buttons and message/error output

// Dialog for ordering a coffee
bot.dialog('startOrderCoffee', [
function (session, args, next) {
if (!args.continueOrder) {
session.userData.cart = [];
session.send("At anytime you can say 'cancel order', 'view cart', or 'checkout'.")
}
welcomeCard = new builder.HeroCard(session)
.title('What kind of coffee would you like?')
.buttons([
builder.CardAction.imBack(session, "Drip", "Drip coffee"),
builder.CardAction.imBack(session, "Espresso", "Espresso coffee"),
builder.CardAction.imBack(session, "Mocha", "Mocha")
]);
session.send(new builder.Message(session).addAttachment(welcomeCard));
},
function (session, results) {
session.beginDialog('add' + results.response);

最佳答案

您正在尝试做一些已经打包并工作的事情,称为提示

特别是,您正在做的事情应该使用 prompt.choice 进行编码:请参阅文档 here

示例:

var salesData = {
"west": {
units: 200,
total: "$6,000"
},
"central": {
units: 100,
total: "$3,000"
},
"east": {
units: 300,
total: "$9,000"
}
};

bot.dialog('getSalesData', [
function (session) {
builder.Prompts.choice(session, "Which region would you like sales for?", salesData);
},
function (session, results) {
if (results.response) {
var region = salesData[results.response.entity];
session.send(`We sold ${region.units} units for a total of ${region.total}.`);
} else {
session.send("OK");
}
}
]);

关于Azure Bot 中的 JavaScript 变量分配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48716714/

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