提问者:小点点

使我的不和机器人在特定时间发送消息


我有一个问题,我几乎解决了,但我现在卡住了。

我想让我的机器人在镜像时间(00h00,01h01,02h02.。。)在通道中发送消息在我的代码的顶部,我有var currentdate=new Date();

然后,在我的源代码后面:

if(currentdate.getMinutes() == currentdate.getHours())
{
    bot.channels.get('SPECIFICCHANNELID').send('Touchez votre nez :nose:');
}

这是可以工作的,因为消息是由机器人在正确的通道中发送的,但是消息只在机器人检测到消息时发送,所以如果在任何镜像时间内,没有人发送消息,那么机器人将不会发送任何东西。

如果在这个时间间隔内有多个消息,机器人也会多次发送消息,当然我希望它只发送一次消息,例如在11:11:00。

谢谢你的帮助,如果我的英语不好,很抱歉!


共1个答案

匿名用户

您需要每隔一段时间检查是否发送消息。

类似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