【发布时间】:2018-01-02 14:21:24
【问题描述】:
有没有办法给响应增加一点延迟?所以机器人感觉更真实,就像它在打字一样?只是一点点。 目前,测试人员的反应是太快了。 这很好,但是……感觉太“冷”了。稍有一点时间,看起来机器人正在打字,它会感觉更温暖和模糊::)
我需要在两行之间添加延迟
session.send("Account created successfully");
session.send("Please login");
下面是完整代码
var restify = require('restify');
var builder = require('botbuilder');
var botbuilder_azure = require("botbuilder-azure");
// Setup Restify Server
var server = restify.createServer();
server.listen(process.env.port || process.env.PORT || 3978, function () {
console.log('%s listening to %s', server.name, server.url);
});
// Create chat connector for communicating with the Bot Framework Service
var connector = new builder.ChatConnector({
appId: process.env.MicrosoftAppId,
appPassword: process.env.MicrosoftAppPassword,
openIdMetadata: process.env.BotOpenIdMetadata
});
// Listen for messages from users
server.post('/api/messages', connector.listen());
var bot = new builder.UniversalBot(connector);
bot.on('conversationUpdate', (message) => {
if (message.membersAdded) {
message.membersAdded.forEach(function (identity) {
if (identity.id === message.address.bot.id) {
bot.beginDialog(message.address, 'accountCheck');
}
});
}
});
bot.dialog('accountCheck', [
function (session, results, next) {
session.send("Account created successfully");
session.send("Please login");
}
]).endConversationAction("stop",
"",
{
matches: /^cancel$|^goodbye$|^exit|^stop|^close/i
// confirmPrompt: "This will cancel your order. Are you sure?"
}
);
【问题讨论】:
-
使用
session.sendTyping()。根据我的经验,人为的延迟也会导致用户认为存在性能问题。 -
我需要 2 秒延迟。所以,这不是问题。 session.sendTyping() 对我不起作用
标签: node.js botframework azure-bot-service