我有一个问题,我几乎解决了,但我现在卡住了。
我想让我的机器人在镜像时间(00h00,01h01,02h02.。。)在通道中发送消息在我的代码的顶部,我有var currentdate=new Date();
然后,在我的源代码后面:
if(currentdate.getMinutes() == currentdate.getHours())
{
bot.channels.get('SPECIFICCHANNELID').send('Touchez votre nez :nose:');
}
这是可以工作的,因为消息是由机器人在正确的通道中发送的,但是消息只在机器人检测到消息时发送,所以如果在任何镜像时间内,没有人发送消息,那么机器人将不会发送任何东西。
如果在这个时间间隔内有多个消息,机器人也会多次发送消息,当然我希望它只发送一次消息,例如在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