【问题标题】:Sending a message 5 minutes after a command在命令后 5 分钟发送消息
【发布时间】:2019-02-27 06:47:45
【问题描述】:
所以我试图让我的不和谐机器人在有人发送命令 5 分钟后发送一条消息,但是当有人使用该命令时,它开始每分钟发送一次消息,这就是代码
client.on('message', function(message) {
if (message.content === "!command") {
var interval = setInterval (function () {
client.channels.get("493228844896092162")
.send("123")
.catch(console.error);
}, 1 * 5000);
}
});
【问题讨论】:
标签:
javascript
discord.js
【解决方案1】:
您的间隔似乎不正确。 setInterval 期望间隔以毫秒为单位。
1 * 5000 -> 5sec
您需要将其更新为
5 * 60 * 1000 -> 5 mins
【解决方案2】:
setInterval 接受函数的参数和触发的设定毫秒数。
正确的间隔应该是
setInterval(function(){}, 5 * 60000)
这是 5x60 秒
【解决方案3】:
我会这样编码:
client.on('message', function(message) {
if (message.content === "!command") {
var interval = setInterval (function () {
try {
var meme = client.channels.get("493228844896092162")
meme.send("123")
} catch (error) {
console.log(error.stack);
}, 5 * 60000);
}
});