【发布时间】:2019-07-11 03:54:33
【问题描述】:
我有一个问题我几乎解决了,但我现在卡住了。
我想让我的机器人在镜像时间(00h00、01h01、02h02...)在频道中发送一条消息,以与我的朋友们进行一场恶作剧,目前我做了这个:
在我的代码顶部我有var currentdate = new Date();
然后,稍后在我的源代码中:
if(currentdate.getMinutes() == currentdate.getHours())
{
bot.channels.get('SPECIFICCHANNELID').send('Touchez votre nez :nose:');
}
这是一种工作,因为消息是由机器人在正确的通道中发送的,但是只有当机器人检测到消息时才会发送消息,所以如果在任何镜像时间内没有人发送消息,那么机器人会不发送任何东西。
如果在这个时间间隔内有多条消息,机器人也会多次发送消息,当然我希望它只发送1次消息,例如11:11:00。
感谢您的帮助,如果我的英语不好,请见谅!
【问题讨论】:
-
您可以查看node-cron 包以在特定时间设置任务。否则你也可以使用setInterval
-
您能提供更多代码吗?你在哪里运行这个 sn-p?如果您在
on('message')侦听器中运行它,这可能会回答为什么如果未发送消息则不会调用您的代码。 -
@WillHoskings 是的,它实际上在
on('message')里面,但是当我把它放在外面时,机器人什么也不做。
标签: javascript discord discord.js