如何自动重新连接我的 Discord.js 机器人
How Do I Auto Reconnect my Discord.js Bot
所以我一直在为 discord 服务器托管一个机器人,最近我的 WiFi 一直在运行。它会停止,然后可能在一两分钟后开始。 Discord 检测您的机器人是否已连接的系统称为 "Heartbeats",这些系统大约每 35-40 秒发送一次。它将等待另一端接收到心跳,如果在大约 35-40 分钟后没有接收到,它将关闭。有什么办法可以让它在它掉线后立即重新连接,这样就没有问题了吗?
不需要。您的 Discord 机器人将自动重新连接。
您可能想尝试使用类似 nodemon
的东西,这是一个 npm 包,它会在特定条件下(通常是在目录中更新文件时)自动重启节点程序。您可以将 nodemon 配置文件设置为每 x 次重启一次,如果它以某种方式出错(与网络断开连接),这将解决您的断开连接问题。 This part 的 nodemon 文档是您可以找到如何做到这一点的地方。
您可以使用 PM2 在机器人退出时自动重启。
http://pm2.keymetrics.io/
首先,我建议您将机器人托管在某些云提供商上。所以,你家里的 wi-fi 没问题。
但是,Discord.js 客户端可能仍会不时地断开连接而不尝试重新连接。
我使用的解决方法是每 30 分钟 ping 一次机器人(在我的例子中是 HTTP GET 请求),销毁客户端并再次登录。缺点是几秒钟的停机时间,但这对我的用例来说完全没问题。
所以我一直在为 discord 服务器托管一个机器人,最近我的 WiFi 一直在运行。它会停止,然后可能在一两分钟后开始。 Discord 检测您的机器人是否已连接的系统称为 "Heartbeats",这些系统大约每 35-40 秒发送一次。它将等待另一端接收到心跳,如果在大约 35-40 分钟后没有接收到,它将关闭。有什么办法可以让它在它掉线后立即重新连接,这样就没有问题了吗?
不需要。您的 Discord 机器人将自动重新连接。
您可能想尝试使用类似 nodemon
的东西,这是一个 npm 包,它会在特定条件下(通常是在目录中更新文件时)自动重启节点程序。您可以将 nodemon 配置文件设置为每 x 次重启一次,如果它以某种方式出错(与网络断开连接),这将解决您的断开连接问题。 This part 的 nodemon 文档是您可以找到如何做到这一点的地方。
您可以使用 PM2 在机器人退出时自动重启。 http://pm2.keymetrics.io/
首先,我建议您将机器人托管在某些云提供商上。所以,你家里的 wi-fi 没问题。
但是,Discord.js 客户端可能仍会不时地断开连接而不尝试重新连接。
我使用的解决方法是每 30 分钟 ping 一次机器人(在我的例子中是 HTTP GET 请求),销毁客户端并再次登录。缺点是几秒钟的停机时间,但这对我的用例来说完全没问题。