如何自动重新连接Discord.js Bot

时间:2018-08-31 15:19:37

标签: bots discord.js

所以一段时间以来,我一直在为不和谐服务器托管一个机器人,最近我的WiFi一直在起作用。它会停止,然后在一两分钟后开始。 Discord用来检测您的机器人是否已连接的系统称为“ Heartbeats”,这些系统大约每35-40秒发送一次。它将等待另一端接收到心跳,如果在大约35-40秒后仍未收到,则它将关闭。有什么办法可以使它在出现故障后立即重新连接,因此没有问题?

4 个答案:

答案 0 :(得分:1)

您可能想尝试使用nodemon之类的东西,这是一个npm软件包,它将在某些条件下(通常是在目录中更新文件时)自动重新启动节点程序。您可以将nodemon配置文件设置为每隔x倍的时间重新启动(如果它以某种方式发生错误(与网络断开连接)),这将解决您的断开连接问题。您可以在nodemon文档的This part中找到该方法。

答案 1 :(得分:0)

不需要。您的不和谐机器人将自动重新连接。

答案 2 :(得分:0)

您可以使用PM2自动退出该机器人。 http://pm2.keymetrics.io/

答案 3 :(得分:0)

首先,建议您将机器人托管在某个云提供商上。因此,您的家庭Wi-Fi没问题。

但是,Discord.js客户端可能仍会不时断开连接,而无需尝试重​​新连接。

我正在使用的一种解决方法是每30分钟对bot(在我的情况下为HTTP GET请求)执行一次ping操作,销毁客户端并再次登录。缺点是停机时间只有几秒钟,但是对于我的用例来说完全没问题。