在Heroku上部署node.js应用程序(discord.jd bot)导致错误

在Heroku上部署node.js应用程序(discord.jd bot)导致错误,node.js,heroku,discord.js,Node.js,Heroku,Discord.js,我正试图在heroku上部署一个discord机器人。它工作约1-2分钟,然后出现错误: 2020-08-10T10:05:17.228802+00:00 heroku[web.1]: Error R10 (Boot timeout) -> Web process failed to bind to $PORT within 60 seconds of launch 2020-08-10T10:05:17.246146+00:00 heroku[web.1]: Stopping proce

我正试图在heroku上部署一个discord机器人。它工作约1-2分钟,然后出现错误

2020-08-10T10:05:17.228802+00:00 heroku[web.1]: Error R10 (Boot timeout) -> Web process failed to bind to $PORT within 60 seconds of launch
2020-08-10T10:05:17.246146+00:00 heroku[web.1]: Stopping process with SIGKILL
2020-08-10T10:05:17.307500+00:00 heroku[web.1]: Process exited with status 137
2020-08-10T10:05:17.347445+00:00 heroku[web.1]: State changed from starting to crashed
(完整日志):

package.json
中的
start
命令是:
node index.js

该文件是:

worker: node index.js
index.js
是:

const Discord = require("discord.js")
const client = new Discord.Client()
const welcomeMessage = require("./welcomeMessage")

client.on("ready", () => {
    console.log("Bot [index.js] is ready!")
})

client.login(process.env.TOKEN)
我还有另一个文件,
welcomeMessage

const Discord = require("discord.js")
const client = new Discord.Client()

client.on("ready", () => {
    console.log("Bot [welcomeMessage.js] is ready!")
})

client.on('guildMemberAdd', member => {

    let welcomeChannel = client.channels.cache.get('0000000000000')

    welcomeChannel.send("hello world")
})

client.login(process.env.TOKEN)

是什么导致了这个人?thx

结果表明,您需要禁用web dyno并启用worker dyno。

伙计,不知怎么的,我在这里做到了,第一次随机尝试对我有效,我太高兴了!听着,我希望这对你也有用。首先,查看您的“
package.json
”文件,其中必须包含:

"scripts": {
    
  },
您应该将“
start”:“node index.js
”放在那里(即使“脚本”中已经有其他内容,但不要删除其他内容,只需添加此内容),它将如下所示:

 "scripts": {
    "start": "node index.js",
  },
然后转到Procfile并将“
worker:node index.js
”更改为“
worker npm start
”(我尝试了它,因为我注意到只有web在工作,它的命令是“web npm start”)

它应该能解决问题

我很确定这是我解决的问题,现在它不停地运行,但如果不是解决的问题,我也在终端上使用了一些命令:“
heroku run worker
”,还有“
heroku ps:scale worker=1

我希望它能帮助你,我连续8个小时试图让它工作,因为我有其他错误,我知道这件事不工作有多烦人

注意:你还需要按照对方之前说的做:

“(…)您需要禁用web dyno并启用worker dyno”

注:我知道你已经开始了,我只是想如果有人在没有这些信息的情况下来到这里,也许会有所帮助

 "scripts": {
    "start": "node index.js",
  },