gpt4 book ai didi

javascript - 我收到 WARN : IntentDialog - no intent handler found for null when I fill out a form Node. js Bot 框架

转载 作者:行者123 更新时间:2023-11-30 20:54:48 26 4
gpt4 key购买 nike

我对 node.js 和机器人框架还很陌生。我在 json 中创建了一个在我的机器人中运行的表单。但是填写表格后出现错误

/- 警告:IntentDialog - 未找到 null 的意图处理程序

我不确定为什么会这样。我正在使用 .addAttachment 来使用卡片和 session.send(msg) 将表单呈现给用户。但是,在表单完成并提交后,我收到了上述错误消息。下面是正在使用的表单和 node.js 中的代码

var card = {
'contentType': 'application/vnd.microsoft.card.adaptive',
'content': {
'$schema': 'http://adaptivecards.io/schemas/adaptive-card.json',
'type': 'AdaptiveCard',
'version': '1.0',
'body': [
{
'type': 'Container',
'items': [
{

}
]
}
],
'actions': [
// Contact Information Form
{
'type': 'Action.ShowCard',
'title': 'Contact Form',
'card': {
'type': 'AdaptiveCard',
'body': [
{
'type': 'TextBlock',
'text': 'Please enter your name:'
},
{
'type': 'Input.Text',
'id': 'name',
'speak': '<s>Please enter your name</s>',
'placeholder': 'Enter Name',
'style': 'text'
},
{
'type': 'TextBlock',
'text': 'What is your phone number?'
},
{
'type': 'Input.Number',
'id': 'phone',
//'style': 'text'
},
{
'type': 'TextBlock',
'text': 'What is your email address?'
},
{
'type': 'Input.Text',
'id': 'email',
'placeholder': 'Enter Email',
'style': 'text'
}
],
'actions': [
{
'type': 'Action.Submit',
'title': 'Submit',
'data': {
'type': 'submit'
}
}
]
}
},

]
}
};

node.js 中的代码

bot.dialog('Ask for contact info', [
function (session, args) {
if (session.conversationData.amending) {
session.dialogData.nextStep = 'Show summary';
} else {
session.dialogData.nextStep = 'Ask for severity';
}
builder.Prompts.text(session, "Could you please add details of who you’d like us to contact to discuss your bug further?");
var msg = new builder.Message(session)
.addAttachment(card);
session.send(msg);

},
function (session, results) {
session.conversationData.contactInfo = results.response;
session.beginDialog(session.dialogData.nextStep);
}
]);

最佳答案

要接收来自自适应卡片表单的提交,您可以尝试使用以下 waterfall 步骤:

bot.dialog('form', [
(session, args, next) => {

var card = {
...
};

if (session.message && session.message.value) {
// A Card's Submit Action obj was received

next(session.message.value)
} else {
var msg = new builder.Message(session)
.addAttachment(card);
session.send(msg);
}

},
(session, results) => {
session.send(JSON.stringify(results));
}
])

但是,我无法重现问题 WARN: IntentDialog - no intent handler found for null,你能提供你的 repo 让我看一下你的整个结构,这有利于进一步分析.

关于javascript - 我收到 WARN : IntentDialog - no intent handler found for null when I fill out a form Node. js Bot 框架,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47776923/

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