Discord.js 使用间隔和清除间隔
Discord.js using interval and clearinterval
为什么我的代码不起作用?当有人说:垃圾邮件时,我尝试了 bot 开始发送垃圾邮件(它会发送但不会停止)我该如何解决这个问题?
client.on("message", msg => {
let interval;
if (msg.content === 'yoyo') {
// ...
if (!interval) {
interval = setInterval(function() {
msg.channel.send('yo')
.catch(console.error);
}, 1 * 5000);
} else {
message.channel.send('yo already running');
}
}
if (msg.content === 'stop') {
clearInterval(interval);
interval = 1 * 1000000;
}
});
我的问题的答案是删除句柄外的 let interval
。它在每个事件中创建一个新的间隔。
为什么我的代码不起作用?当有人说:垃圾邮件时,我尝试了 bot 开始发送垃圾邮件(它会发送但不会停止)我该如何解决这个问题?
client.on("message", msg => {
let interval;
if (msg.content === 'yoyo') {
// ...
if (!interval) {
interval = setInterval(function() {
msg.channel.send('yo')
.catch(console.error);
}, 1 * 5000);
} else {
message.channel.send('yo already running');
}
}
if (msg.content === 'stop') {
clearInterval(interval);
interval = 1 * 1000000;
}
});
我的问题的答案是删除句柄外的 let interval
。它在每个事件中创建一个新的间隔。