2017-02-03 26 views
0

基本上这是一个Twitch.tv的聊天机器人。目前,当他们说“你好”时,它会回复聊天中的某个人。我想在机器人回复hello后添加一个Sleep 2秒钟,所以它不会淹没聊天。我已经尝试过setTimeout/setInterval,但是那些在回复这个人之前放了2秒延迟。干杯。如何在执行命令后在Node.js中添加Sleep?

var tmi = require('tmi.js'); 

process.setMaxListeners(0); 

var options = { 
options: { 
    debug: true 
}, 
connection: { 
    cluster: "aws", 
    reconnect: true 
}, 
identity: { 
    username: "", 
    password: "" 
}, 
channels: [""] 
}; 

var client = new tmi.client(options); 
client.connect(); 

client.on('chat', function(channel, user, message, self) { 
if(message === "Hello") { 
    client.action("", "@" + user['display-name'] + ", Welcome!"); 
}}); 
+0

请向我们展示*如何*您尝试使用'setTimeout' – Bergi

回答

0
var canSendMessage = true; 
client.on('chat', function(channel, user, message, self) { 
if(message === "Hello" && canSendMessage) { 
canSendMessage = false; 
client.action("", "@" + user['display-name'] + ", Welcome!"); 
setTimeout(function(){ canSendMessage = true }, 2000); 
}}); 

你可以试试这个(未测试)。如果在2000ms(2s)之后没有复位,变量canSendMessage将阻止Bot写入。