如何防止每周/定期不和谐机器人离线状态托管在 Repl.it 上?

问题描述

所以我在 Repl.it 上托管我的 discord 机器人,并采用黑客计划,并且它处于 始终在线 模式,并且在大多数情况下,该机器人 24/7 全天候在线。但是,我开始注意到每周/上线几天后,discord 机器人会随机离线。 Repl 离线时没有记录任何错误或问题,即使在重新启动 Repl 后我也无法将其恢复。

我能得到的唯一解决方案是派生 Repl.it,然后重新运行整个系统。在我这样做之后,机器人重新上线。 Repl.it 是否有任何原因或问题可以解释这一点,或者为什么在我分叉 Repl 后它会重新上线?

解决方法

TL;DR:This post

您可以添加另一个名为 server.js 的文件:

const express = require('express');
const server = express();
server.all('/',(req,res)=>{
    res.send('Your bot is alive!')
})
function keepAlive(){
    server.listen(3000,()=>{console.log("Server is Ready!")});
}
module.exports = keepAlive;

请注意如何在您的副本中看到网站窗口。
现在,在您的 index.js(或您用于机器人工作的任何文件)中引用 keepAlive 函数:

const keepAlive = require('./server');

并在您登录令牌之前使用它:

keepAlive();
client.login("TOKEN GOES HERE")

然后,您在 uptimerobot 上注册一个帐户。它会在选定的时间间隔内 ping 您的机器人。
关注数字:
https://i.imgur.com/NPRQ0Gc.png(抱歉给您带来不便,我还没有 10 个声望)
大功告成!