Gupshup - 多个消息延迟功能无法正常工作

时间:2017-10-18 14:10:14

标签: gupshup

我试图在我的机器人上实现延迟功能,一个接一个地显示多个消息。延迟功能显示在我的Flow Bot Builder图表中,但是当我在对话测试器和Messenger上的代理机器人中进行测试时,延迟实际上并未发生 - 所有消息都会立即显示。

我已将IDE中的延迟代码添加到default.scr文件中:

[main]
   label_dych:Hi! I'm delay-bot and I'm here to help you with any questions you have.:continue
     ((delay 2000))
       label_gthk:I'll never need to take any personal or financial information from you, so as we chat please don't tell me any!:continue
         ((delay 1000))
           label_ylbn:{"name":"quickreply","type":"quick_reply","alias":"What can I help you with?","msgid":"117af569-5188-ff7e-9b48-8c553c2f36cb","content":{"type":"text","text":"What can I help you with?"},"options":[{"type":"text","title":"My Page","iconurl":"","id":"ac49ad32-c9bc-469f-2152-c7c842bad8ea","isDuplicate":false,"name":"user"},{"type":"text","title":"Team Spaces","iconurl":"","id":"8a2017ac-2fc3-0901-be8d-1fad5a2dba12","isDuplicate":false,"name":"user"},{"type":"text","title":"Offline Support","iconurl":"","id":"70861407-e706-17a3-207b-c43958fde83e","isDuplicate":false,"name":"user"},{"type":"text","title":"Something else","iconurl":"","id":"d3f7b6b4-e70a-098d-dde9-1da3e8cc08dc","isDuplicate":false,"name":"user"}]}

我还按照指示在index.js文件中添加了options.apikey代码行:https://www.gupshup.io/developer/docs/bot-platform/guide/sending-multiple-messages-botscript

function ScriptHandler(context, event){
    var options = Object.assign({}, scr_config);
    options.current_dir = __dirname;
    //options.default_message = "Sorry Some Error Occurred.";
    // You can add any start point by just mentioning the 
<script_file_name>.<section_name>
    // options.start_section = "default.main";
    options.success = function(opm){
        context.sendResponse(JSON.stringify(opm));
    };
    options.error = function(err) {
        console.log(err.stack);
        context.sendResponse(options.default_message);
    };
    botScriptExecutor.execute(options, event, context);
    options.apikey = "1mbccef47ab24dacad3f99557cb35643";
}

是否有任何明显的原因导致延迟效应在消息之间不起作用?当我点击右上角的徽标时,我已经使用了为我的gupshup帐户显示的apikey。

1 个答案:

答案 0 :(得分:1)

在调用脚本工具执行函数之后,您已经放置了API密钥。将API密钥放在botScriptExecutor.execute之前的任何位置,延迟应该有效。

此外,延迟的时间以毫秒为单位。

样品:

function ScriptHandler(context, event){
var options = Object.assign({}, scr_config);
options.current_dir = __dirname;
//options.default_message = "Sorry Some Error Occurred.";
options.apikey = "1mbccef47ab24dacad3f99557cb35643";
// You can add any start point by just mentioning the 
<script_file_name>.<section_name>
// options.start_section = "default.main";
options.success = function(opm){
    context.sendResponse(JSON.stringify(opm));
};
options.error = function(err) {
    console.log(err.stack);
    context.sendResponse(options.default_message);
};
botScriptExecutor.execute(options, event, context);

}