gpt4 book ai didi

node.js - 如何在 NodeJS 中的 Microsoft Bot Builder 中保存响应并使用?

转载 作者:太空宇宙 更新时间:2023-11-03 23:21:32 25 4
gpt4 key购买 nike

我怎样才能实现这个目标?所以我这样做了:

.matches('Football position', (session, results) => {
session.send("So you are looking for a \%s\ position. ", session.message.text);


function (session, args, next) {
builder.Prompts.confirm(session, "Did that solve your problem buddy !");
},
function (session, args) {
if (args.response) {
session.send("good by");
else {
session.send("Please try again");
}


})

所以,首先:确认该人之前给出的答案。然后:一个对话框,用户可以在其中输入“否”或"is"。根据答案,我想采取不同的方式并显示不同的消息,但它根本不起作用。

有人可以帮忙吗?

最佳答案

首先,你的代码片段有一个错误,函数matches()的第二个参数应该是 tring|IDialogWaterfallStep[]|IDialogWaterfallStep。您需要将代码片段修改为:

matches('Football position',[(session,args)=>{},(session,args)=>{}...])

其次,send() 不会保留 waterfall 步骤中的状态,这意味着您的用户永远不会通过您的代码片段进入以下步骤。如果您尝试接收用户的输入,可以使用IPrompts .

Then: a dialog where the user can put in NO or YES

您可以利用选择来实现这一目标:

bot.dialog('/', [
(session) => {
var msg = new builder.Message(session)
.text("Did that solve your problem buddy !")
.suggestedActions(
builder.SuggestedActions.create(
session, [
builder.CardAction.imBack(session, "Yes", "Yes"),
builder.CardAction.imBack(session, "No", "No")
]
)
);
builder.Prompts.choice(session, msg, ["Yes", "No"]);
},
(session, args, next) => {
if (args.response.entity == "Yes") {
session.send("You selected Yes")
} else {
session.send("You selected No")
}
}
])

关于node.js - 如何在 NodeJS 中的 Microsoft Bot Builder 中保存响应并使用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49137550/

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