我有一个问题几乎已经解决,但现在陷入困境。
我想让我的机器人在镜像时间(00h00、01h01、02h02...)在 channel 中发送一条消息,与我的 friend 们一起进行搞笑,目前我做了这个:
在我的代码顶部,我有 var currentdate = new Date();
然后,在我的源代码中:
if(currentdate.getMinutes() == currentdate.getHours())
{
bot.channels.get('SPECIFICCHANNELID').send('Touchez votre nez :nose:');
}
这是有效的,因为消息是由机器人在正确的 channel 中发送的,但是只有当机器人检测到消息时才会发送消息,因此如果在任何镜像时间内没有人发送消息,那么机器人就会不发送任何东西。
如果在这段时间内有多条消息,机器人也会发送多次消息,当然我希望它只发送一次消息,例如在 11:11:00。
感谢您的帮助,如果我的英语不好,请抱歉!
最佳答案
您需要每隔一段时间检查是否发送消息。
像setInterval
这样的东西可以工作。
setInterval(function(){
if(currentdate.getMinutes() == currentdate.getHours())
{
bot.channels.get('SPECIFICCHANNELID').send('Touchez votre nez :nose:');
}
}, MIN_INTERVAL)
您希望 MIN_INTERVAL
为检查发送消息的最短时间(以毫秒为单位)。
如果你想每分钟检查一次
常量 MIN_INTERVAL = 1000 * 60
关于javascript - 让我的不和谐机器人在特定时间发送消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54735856/