【问题标题】:Server Time Discord.js服务器时间 Discord.js
【发布时间】:2021-05-29 12:29:32
【问题描述】:

描述:每 5 秒重命名一次频道,创建服务器时间

此代码一开始有效,之后不再更新

module.exports = async (client) => {
    const guild = client.guilds.cache.get(Guild_ID);
    const channel = guild.channels.cache.get(Channel_ID);
    setInterval(() => {
        var date = new Date();
        var hours = date.getHours();
        var minutes = date.getMinutes();
        
        channel.setName(`Server Time:${hours}:${minutes}`)
        console.log(hours)
        console.log(minutes)
    }, 5000);
}

为什么过了很久不更新?

【问题讨论】:

  • 您是否每 5 秒发送一次服务器时间?如果您不包含对您尝试执行的操作的某种描述,则很难找到您的错误。
  • 对不起,是的,我们的目标是每 5 秒发送一次

标签: node.js discord.js


【解决方案1】:

您似乎缺少函数的循环功能。

setInterval(() => {
 message.channel.send(`hy`).then(() => count++);
}, 10000);

count++ 表示函数将逐步重复。

请注意,setInterval() 非常不准确,一段时间后您的机器人可能会与实际时间流不同步。

请查看this有关计时器主题的有趣帖子。

【讨论】:

  • 我把 console.log 用来跟踪数据,似乎 getHours 和 getMinutes 是正确的。但是重命名频道的更新没有响应
  • hmm,尝试在循环中获取通道,然后运行错误捕获,如if (!channel) console.log("cannot locate channel") 或类似的东西
猜你喜欢
  • 2018-10-06
  • 2021-10-09
  • 2020-10-30
  • 2019-03-21
  • 1970-01-01
  • 2021-03-20
  • 2022-01-25
  • 2021-04-15
  • 1970-01-01
相关资源
最近更新 更多