我想在每次发送消息时生成不同的字符串。 这有效,但字符串不会改变。
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);
}
});
答案 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);
}
});