如何让它在特定时间向特定用户发送消息? 该消息将通过DM发送,而不是通道,而不是标记。 基本上,我希望机器人在某个系统时间(例如下午2点)向用户(例如用户ID:163640941431881728)发送消息(例如:hi)。
到目前为止代码:
const Discord = require('discord.js');
const bot = new Discord.Client();
var currentHour = new Date().getHours();
var currentMin = new Date().getMinutes();
bot.on('message', (message) => {
if(message.content == '~~test') {
message.channel.send(currentHour + ':' + currentMin);
}
});
答案 0 :(得分:0)
假设您的机器人将持续运行,您可能会使用标准的setTimeout
电话执行此操作。只需计算当前时间与您希望发送消息的时间之间的毫秒差异 - new Date().getTime() - scheduledTime
如果您希望以后能够取消该消息,则应存储setTimeout
返回的值,即该计时器的ID。然后,您可以将其传递给clearTimeout
以停止它。 Example on W3Schools
如果您的机器人由于某种原因需要重新启动,您需要找到一种方法将计划的消息列表保存到磁盘并在启动时加载它们。