Heroku Discord Bot 构建但在部署时无法工作

Posted

技术标签:

【中文标题】Heroku Discord Bot 构建但在部署时无法工作【英文标题】:Heroku Discord Bot builds but doesn't work when deployed 【发布时间】:2020-11-24 11:42:41 【问题描述】:

我已经使用 heroku 部署了一个 Discord 机器人 (discord.py)。机器人在 Heroku 的仪表板中的状态为“在线”,但机器人在 Discord 中处于离线状态。我添加了 Procfile 并在资源中启用了测功机。 我还有什么需要做的吗??

编辑: 这是我的 procfile 的内容 - worker :python bot.py 要求.txt:

【问题讨论】:

你的Procfile的内容应该是worker: python bot.py。分享您的Pipfilerequirements.txtsetup.py 的内容 requirements.txt- discord.py == 1.3.4 praw == 7.1.0 youtube_dl == 2020.7.28 谢谢,我的 requirements.txt 有问题 【参考方案1】:

您可以在 PC 的命令提示符中使用以下命令查看 heroku 日志(您需要安装 Heroku CLI)

heroku logs -a yourappnamehere

bot 运行过程中出现的任何错误都会显示在那里,如果日志中没有显示错误,您可以检查以下内容:

1.您已正确放入机器人的令牌,

2.您已在代码末尾添加bot.run(token)

3.Procfile 或需求文件中的任何错误(确保您正确拼写需求)

    或者只是重新部署您的机器人,看看问题是否仍然存在

【讨论】:

日志说,机器人崩溃了:2020-08-04T11:41:58.347677+00:00 app[worker.1]: bash: :python: command not found 2020-08-04T11: 41:58.413742+00:00 heroku[worker.1]:进程退出,状态为 127 2020-08-04T11:41:58.444933+00:00 heroku[worker.1]:状态从开始变为崩溃【参考方案2】:

您可以尝试重新生成您的机器人令牌,然后重新部署它。或者你应该做 git commit -am "fix procfile"

【讨论】:

【参考方案3】:

尝试将worker :python bot.py 更改为worker: python bot.py 并确保您的Procfile 的拼写和大写与Procfile(大写P)完全相同

您能打开您的日志并告诉我们错误是什么吗?

【讨论】:

谢谢,我已经解决了这个问题!我知道怎么做。你能告诉我这是什么意思吗?日志说,机器人崩溃了:2020-08-04T11:41:58.347677+00:00 app[worker.1]: bash: :python: command not found 2020-08-04T11:41:58.413742+00:00 heroku [worker.1]:进程退出,状态为 127 2020-08-04T11:41:58.444933+00:00 heroku[worker.1]:状态从开始变为崩溃 ~~你有没有准确的requirements.txt文件?~~我的错,我看到你已经解决了这个问题。

以上是关于Heroku Discord Bot 构建但在部署时无法工作的主要内容,如果未能解决你的问题,请参考以下文章

在heroku上部署了discord bot,bot不会上线

Discord.JS Bot 通过 Heroku 托管抛出 500 错误

从 heroku 部署后,Discord bot 只能工作一分钟左右

部署时heroku Push错误上的Discord bot

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

discord.py bot 正确构建在 heroku 上,但显示脱机