最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

重启后删除填写的详细信息

运维笔记admin14浏览0评论

重启后删除填写的详细信息

重启后删除填写的详细信息

我试图让一个人填写一些细节并返回详细信息的概述。有一个选项可以重新启动对话(查看代码),但是当对话重新开始并且该人员填写了一些新的详细信息时,它将显示第一个填写详细信息的旧详细信息。

我该如何解决这个问题?

bot.dialog('overview', function (session, options) {
if (session.message && session.message.value) {
    if(session.message.value.actions == "Accept"){

    }
    return;
}
var overview_msg = require('./cards/overview.json');
var date = new Date();
overview_msg.attachments[0].content.body[0].items[1].columns[1].items[0].text = overview_msg.attachments[0].content.body[0].items[1].columns[1].items[0].text.replace(/{{name}}/,nameGuest)
overview_msg.attachments[0].content.body[0].items[1].columns[1].items[1].text = overview_msg.attachments[0].content.body[0].items[1].columns[1].items[1].text.replace(/{{date}}/,date.toDateString() +' ' + date.toLocaleTimeString());
overview_msg.attachments[0].content.body[1].items[1].facts[0].value = overview_msg.attachments[0].content.body[1].items[1].facts[0].value.replace(/{{email}}/, mailGuest);
overview_msg.attachments[0].content.body[1].items[1].facts[1].value = overview_msg.attachments[0].content.body[1].items[1].facts[1].value.replace(/{{phone}}/, phoneGuest);
overview_msg.attachments[0].content.body[1].items[1].facts[2].value = overview_msg.attachments[0].content.body[1].items[1].facts[2].value.replace(/{{extra}}/, numberPeople);

overview_msg.attachments[0].content.body[1].items[1].facts[3].value = overview_msg.attachments[0].content.body[1].items[1].facts[3].value.replace(/{{lunch}}/, lunchGuest);
overview_msg.attachments[0].content.body[1].items[1].facts[3].value = overview_msg.attachments[0].content.body[1].items[1].facts[3].value.replace(/{{allergy}}/, lunchAllergyGuest);
overview_msg.attachments[0].content.body[1].items[1].facts[3].value = overview_msg.attachments[0].content.body[1].items[1].facts[3].value.replace(/{{vegan}}/, lunchVegan);
session.send(overview_msg);

bot.dialog('restart', function (session) {
    session.beginDialog('overview');
}).triggerAction({matches: /restart|quit/i});
回答如下:

我认为这可能与您如何定义代码片段中未显示的变量nameGuest, mailGuest, phoneGuest, etc有关。

要从Input.Textadaptive-card获取值,您可以尝试以下代码段:

bot.dialog('form', [
    (session, args, next) => {
        let card = require('./card.json');
        if (session.message && session.message.value) {
            next(session.message.value)
        } else {
            var msg = new builder.Message(session)
                .addAttachment(card);
            session.send(msg);
        }

    },
    (session, results) => {
        // Get the User input data here
        session.send(JSON.stringify(results));

    }
]).triggerAction({
    matches: ['form', 'Action.Submit']
})

与本文相关的文章

发布评论

评论列表(0)

  1. 暂无评论