Discord.JS heroku 上的机器人

Discord.JS bot on heroku

昨天我使用 Discord.JS 创建了一个 Discord 机器人,当我在本地使用我的机器人时它工作正常,但在 Heroku 上托管它后它不再工作并且机器人处于离线状态。 在 Heroku 日志中我可以看到:

2021-09-15T13:39:08.604792+00:00 heroku[worker.1]: State changed from crashed to starting
2021-09-15T13:39:10.850210+00:00 heroku[worker.1]: Starting process with command `node index.js`
2021-09-15T13:39:11.455306+00:00 heroku[worker.1]: State changed from starting to up
2021-09-15T13:39:12.189682+00:00 heroku[worker.1]: Process exited with status 0
2021-09-15T13:39:12.264472+00:00 heroku[worker.1]: State changed from up to crashed
2021-09-15T13:39:12.039073+00:00 app[worker.1]: (node:4) UnhandledPromiseRejectionWarning: ReferenceError: AbortController is not defined
2021-09-15T13:39:12.039088+00:00 app[worker.1]:     at RequestHandler.execute (/app/node_modules/discord.js/src/rest/RequestHandler.js:172:15)
2021-09-15T13:39:12.039088+00:00 app[worker.1]:     at RequestHandler.execute (/app/node_modules/discord.js/src/rest/RequestHandler.js:176:19)
2021-09-15T13:39:12.039088+00:00 app[worker.1]:     at RequestHandler.push (/app/node_modules/discord.js/src/rest/RequestHandler.js:50:25)
2021-09-15T13:39:12.039089+00:00 app[worker.1]:     at async WebSocketManager.connect (/app/node_modules/discord.js/src/client/websocket/WebSocketManager.js:128:9)
2021-09-15T13:39:12.039089+00:00 app[worker.1]:     at async Client.login (/app/node_modules/discord.js/src/client/Client.js:245:7)
2021-09-15T13:39:12.039090+00:00 app[worker.1]: (Use `node --trace-warnings ...` to show where the warning was created)
2021-09-15T13:39:12.039423+00:00 app[worker.1]: (node:4) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). To terminate the node process on unhandled promise rejection, use the CLI flag `--unhandled-rejections=strict` (see https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode). (rejection id: 2)
2021-09-15T13:39:12.039451+00:00 app[worker.1]: (node:4) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.

我完全不知道那个错误的原因是什么。 如果有人能帮助我,我会很高兴

您的问题已在另一个问题中得到解答。 。基本上,你必须改变你的节点版本。