【问题标题】:Sending a message 5 minutes after a command在命令后 5 分钟发送消息
【发布时间】:2019-02-27 06:47:45
【问题描述】:

所以我试图让我的不和谐机器人在有人发送命令 5 分钟后发送一条消息,但是当有人使用该命令时,它开始每分钟发送一次消息,这就是代码

client.on('message', function(message) {
    if (message.content === "!command") { 
        var interval = setInterval (function () {
            client.channels.get("493228844896092162")
                .send("123")
                .catch(console.error);
        }, 1 * 5000); 
    }
});

【问题讨论】:

    标签: javascript discord.js


    【解决方案1】:

    您的间隔似乎不正确。 setInterval 期望间隔以毫秒为单位。

    1 * 5000 -> 5sec
    

    您需要将其更新为

    5 * 60 * 1000 -> 5 mins
    

    【讨论】:

      【解决方案2】:

      setInterval 接受函数的参数和触发的设定毫秒数。

      正确的间隔应该是

      setInterval(function(){}, 5 * 60000)

      这是 5x60 秒

      【讨论】:

        【解决方案3】:

        我会这样编码:

        client.on('message', function(message) {
            if (message.content === "!command") { 
                var interval = setInterval (function () {
        try {
                    var meme = client.channels.get("493228844896092162")
                        meme.send("123")
                        } catch (error) {
        console.log(error.stack);
                }, 5 * 60000); 
            }
        });
        

        【讨论】:

          猜你喜欢
          • 2019-10-17
          • 1970-01-01
          • 1970-01-01
          • 2023-02-15
          • 2019-10-25
          • 2020-10-15
          • 2021-04-29
          • 1970-01-01
          • 2017-10-17
          相关资源
          最近更新 更多