每次都生成一个随机字符串

时间:2017-09-15 15:49:48

标签: javascript node.js

我想在每次发送消息时生成不同的字符串。 这有效,但字符串不会改变。

var crypto = require('crypto');

function randomValueHex (len) {
return crypto.randomBytes(Math.ceil(len/2))
    .toString('hex')
    .slice(0,len).toUpperCase(); 
}

var string = randomValueHex(4)+"-"+randomValueHex(4)+"-"+randomValueHex(4);

bot.on('message', function(user, userID, channelID, message, event) {
if (message === "!test") {
  var interval = setInterval (function (){
    bot.sendMessage({
      to: channelID,
      message: string
    });
  }, 1000);
}
});

1 个答案:

答案 0 :(得分:3)

您应该将string变量移动到函数中。这样,每次函数运行时都会有所不同。

bot.on('message', function(user, userID, channelID, message, event) {
if (message === "!test") {
  const interval = setInterval (function (){
    const string = randomValueHex(4)+"-"+randomValueHex(4)+"-"+randomValueHex(4);
    bot.sendMessage({
      to: channelID,
      message: string
    });
  }, 1000);
}
});
相关问题