首页 > 解决方案 > discord.js 不在特定时间发送消息

问题描述

所以我试图让机器人在特定时间(小时、分钟、秒)在特定频道发送消息。然而,它真的没有按照它的程序去做。

目前设置的时间是 15:25:00,但是,它没有在那个时间发送消息。

client.on("message", message => {
    var day = new Date();
    var hr = day.getHours();
    var min = day.getMinutes();
    var sec = day.getSeconds();

    if (hr == 15) {
    if (min == 25){
        if (sec == 0) {

            client.channels.get("704015571531857950").send("Test")

}
}
}
});

标签: discord.js

解决方案


始终查看父函数 :) 您的 if 条件在 中client.on("message", message => { ... }),这意味着您仅检查某人发送消息的时间,仅当有人恰好在 15:25:00 发送消息时才允许机器人发送消息。此外,要向特定频道发送消息,您的方法已经过时,这是新的解决方案:

client.channels.fetch("704015571531857950").then((channel) => {
    channel.send("Test");
});

推荐阅读