首页 > 解决方案 > 如果在一段时间内发送,则回复消息

问题描述

我正在为服务器设置一个不和谐的机器人,该服务器的规则是在 23-06 之间不聊天。我希望机器人回答在该时间段内发送的每条消息(当然除了它自己)。

我知道我必须使用

if (msg.author.bot) return
    else if (msg.createdAt ===/*what here?*/) 

但我完全不知道时间将如何格式化

    const embed = new Discord.RichEmbed()
    if (msg.author.bot) return
        else if (msg.createdAt === /*something*/) {
        embed
            .setColor(randomHexColor())
            .setThumbnail('')
            .addField('test')
            .setFooter('test')
        return msg.channel.send(embed)
    }
});```

标签: javascriptbotsdiscorddiscord.js

解决方案


createdAt不和谐消息是一个标准的 javascriptDate对象。因此,您可以相对轻松地使用其上的所有相关功能来做您想做的事。

就您而言,您对getHours(). 这将返回整数小时 (0-23)。所以,如果你不想在 23-6 之间聊天,你会这样做:

else if (msg.createdAt.getHours() >= 23 || msg.createdAt.getHours() < 6) {

请注意,可以很容易>=替换===


推荐阅读