2017-02-03 70 views
0

這是用於Twitch.tv。如果有人在聊天中隨機鍵入,機器人將以1-100的隨機數回覆。但是它目前只是一遍又一遍地返回相同的數字(例如58)。任何幫助?乾杯。Node.js聊天漫遊器生成相同的隨機數?

var rand = Math.floor(Math.random() * 100); 

var canSendMessage = true; 
client.on('chat', function(channel, user, message, self) { 
if(message === "!random" && canSendMessage) { 
canSendMessage = false; 

client.say("shred", rand.toString()); 

setTimeout(function(){ canSendMessage = true }, 2000); 
}}); 
+0

那麼,你只會產生一次隨機數。 – bejado

+0

@bejado我將如何生成無限次? – Billy

+0

您需要在函數內部用'Math.random()'生成一個新的隨機數,該函數將回復!隨機消息。 – bejado

回答

1

我以前沒有使用過的抽搐API,但我想你需要做這樣的事情:

var canSendMessage = true; 
client.on('chat', function(channel, user, message, self) { 
    if (message === "!random" && canSendMessage) { 
     canSendMessage = false; 
     var rand = Math.floor(Math.random() * 100); 
     client.say("shred", rand.toString()); 
     setTimeout(function() { canSendMessage = true }, 2000); 
    } 
}); 

注意Math.random()是如何要求每個聊天消息接收,產生每次都有一個新的隨機數。

+0

完美地工作,歡呼。 – Billy