2017-02-03 1 views
0

Im Grunde ist dies ein Chat-Bot für Twitch.tv. Momentan antwortet es jemandem im Chat, wenn sie "Hallo" sagen. Ich möchte einen Sleep für 2 Sekunden hinzufügen, nachdem der Bot mit Hallo antwortet, damit der Chat nicht überflutet wird. Ich habe versucht, SetTimeout/SetInterval, aber diese setzen die Verzögerung von 2 Sekunden, BEVOR es auf die Person antwortet. Prost.Wie fügt man in Node.js nach dem Ausführen des Befehls Schlaf ein?

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

Bitte zeigen Sie uns * wie * Sie versucht haben, 'setTimeout' zu verwenden – Bergi

Antwort

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); 
}}); 

Sie können versuchen, diese (nicht getestet). Die Variable canSendMessage blockiert den Bot vor dem Schreiben, wenn er nach 2000ms (2s) nicht zurückgesetzt wird.

Verwandte Themen