为了账号安全,请及时绑定邮箱和手机立即绑定

如何在discord.js 中创建定时布尔值

如何在discord.js 中创建定时布尔值

泛舟湖上清波郎朗 2023-06-29 22:37:01
例如,每当有人说“早上好”时,我希望我的机器人回复“早上好”。我已经弄清楚了所有这些,但现在我想在上面放一个计时器,它变得有点复杂。我希望计时器适用于服务器上的所有人。例如,如果有人说早上好,那么我们让机器人等待 3 秒钟。我尝试了几种不同的解决方案,但没有一个有效,所以我想看看是否可以在这里获得任何帮助。let goodmorning = true;client.on("message", (message) => {if (!message.author.bot) {     if (message.content == "good morning") {            if (goodmorning == true) {                message.channel.send("Good morning");                setInterval(() =>                goodmorning = false, 3000);            } else {                setTimeout(goodmorning = true, 3000);                }     }}});我还尝试了在网上找到的其他解决方案。我在第 3 行收到“语法错误:意外标识符”,尽管第 5 行非常相似:client.on("message", (message) => {if (!message.author.bot) {long lastTrueTime;boolean timedgm() {        long now = System.currentTimeMillis();     if (message.content == "good morning") {            lastTrueTime = now;            return true;        }        if (lastTrueTime+3000<now)            return false;        return true;}        message.channel.send("Good morning");  }});感谢您提前提供的所有帮助。
查看完整描述

1 回答

?
宝慕林4294392

TA贡献2021条经验 获得超8个赞

看来您想要此命令的全局冷却时间。


这可以通过立即将值设置为 false,然后 3000 毫秒后将值恢复为 true 来轻松完成


let goodmorning = true;

client.on("message", (message) => {

  if (!message.author.bot) {

    if (message.content == "good morning") {

      if (goodmorning == true) {

        message.channel.send("Good morning");

        goodmorning = false;

        setTimeout(() => goodmorning = true, 3000);

      }

    }

  }

});


查看完整回答
反对 回复 2023-06-29
  • 1 回答
  • 0 关注
  • 99 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信