如何阻止bot无缘无故地离线且没有控制台错误

时间:2019-09-11 16:12:51

标签: javascript discord discord.js

好的,所以基本上我做了一个可以正常工作的机器人,但是通过在index.js中制作所有东西,我犯了一个严重的错误。因此,我决定启动另一个机器人,并将所有内容与index.js分开。在我还没有安装discord.js-commando之前,但是我在这个机器人上使用了它。从那时起,我的机器人就正确地执行了每个命令并执行了该工作,但是一段时间后它就脱机了,没有报告控制台中(node:9072) DeprecationWarning: Collection#filterArray: use Collection#filter instead以外的任何内容。

我尝试添加autoRiconnect,但没有成功。还是同样的问题。

也是在我没有更改Bot Status并将其添加以下代码之前:

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连接到任何托管平台。它仅在我的计算机上,我希望它从在控制台中执行node .到在终端中使用Ctrl + c或完全关闭它的那一刻都能正常工作。 相反,它只是联机,在脱机之前我可以使用一些命令。 之后,我必须手动重新连接。

如果有人知道如何解决此问题,请花点时间。谢谢。

1 个答案:

答案 0 :(得分:2)

您发送的请求过多,可能导致不和谐服务器断开连接。

我对API的研究还不够多,但是您的两个setInterval语句每隔几毫秒(1和2)都调用bot.user.setActivity。我不知道您想要达到什么目的,但这可能不是您想要的行为。