Javascript 如何阻止bot无理由、无控制台错误地自动脱机

Javascript 如何阻止bot无理由、无控制台错误地自动脱机,javascript,discord,discord.js,Javascript,Discord,Discord.js,好的,所以基本上我做了一个运行良好的机器人,但我犯了一个巨大的错误,在index.js中做了所有的事情。所以我决定启动另一个bot,将所有内容与index.js分开。以前我没有安装discord.js-command,但在这个机器人上我使用了它。从那时起,我的bot会正确执行每个命令并执行作业,但一段时间后,它会脱机而不报告任何内容,除了控制台中的(节点:9072)弃用警告:收集#过滤器阵列:使用收集#过滤器 我尝试添加自动恢复连接,但没有成功。还是一样的问题 同样在之前,我没有更改Bot状态,

好的,所以基本上我做了一个运行良好的机器人,但我犯了一个巨大的错误,在index.js中做了所有的事情。所以我决定启动另一个bot,将所有内容与index.js分开。以前我没有安装discord.js-command,但在这个机器人上我使用了它。从那时起,我的bot会正确执行每个命令并执行作业,但一段时间后,它会脱机而不报告任何内容,除了控制台中的
(节点:9072)弃用警告:收集#过滤器阵列:使用收集#过滤器

我尝试添加自动恢复连接,但没有成功。还是一样的问题

同样在之前,我没有更改Bot状态,我添加了以下代码:

bot.on("ready" , () => {
        bot.user.setStatus("dnd")
        console.log('Ready!');
        
        setInterval(() => {
            bot.user.setStatus('dnd')
              bot.user.setActivity(`with MEMBERS`, {type: 'PLAYING'}); 
          }, 1);
      });
      
      bot.on('ready', () => {
        bot.user.setStatus('dnd')
          setInterval(() => {
              bot.user.setActivity(`lawliet#0599`, {type: 'WATCHING'}); 
          }, 2);
      });
我认为这就是问题所在,但我不确定这个事实

我没有将bot连接到任何托管平台。它只在我的计算机上,我希望它能从我在控制台中执行
节点。
到我在终端中使用Ctrl+c或完全关闭它的那一刻起工作。 相反,它只是联机,我可以在它脱机之前使用一些命令。 之后,我必须手动重新连接它


如果有人知道如何解决这个问题,请慢慢来。谢谢。

您可能会被discord服务器断开连接,因为您发送了太多的请求


我没有深入研究API,但是您的
setInterval
语句都在每隔几毫秒(1和2)调用
bot.user.setActivity
。我不知道你想用它实现什么,但这可能不是你想要的行为。

是的,它被设置为1800和1600,但我认为将其更改为2和1会改变一些事情。我将研究如何解决这个问题,因为我不会使用很多请求,比如
$avatar
$mute
。然后机器人就完全离线了。如果我发现任何有用的东西,我会更新。无论如何,感谢您的帮助。不,我的意思是
bot.user.setStatus()
bot.user.setActivity()
都将请求发送到discord服务器。您可能只需要给它们打一次电话,因为每1到2毫秒打一次电话就会断开连接。