Heroku Discord Bot“没有运行 Web 进程”

Posted

技术标签:

【中文标题】Heroku Discord Bot“没有运行 Web 进程”【英文标题】:Heroku Discord Bot "No web processes running" 【发布时间】:2021-07-17 05:57:23 【问题描述】:

所以我为 Discord 机器人编写了很多代码 (Java),当我在 Eclipse 中运行它时,它会按预期工作,当我在 Discord 中发送消息时,机器人会做出响应。我使用 Maven 和 JDA Builder 来制作机器人。

但是,当我将它推送到 Heroku 来托管它时,它会成功构建,但随后我收到以下消息:

at=error code=H14 desc="No web processes running" method=GET path="/"

我的 Procfile 是

Writer: java Bot.java

我应该怎么做才能修复它?我对编码很陌生,我无法在网上找到可以帮助我的答案。

【问题讨论】:

【参考方案1】:

Procfile 不正确,应该是worker 而不是writer,例如

worker: java -jar app.jar 

【讨论】:

感谢您的回复!我将我的 Procfile 更改为 worker: java Bot.java,但我仍然收到相同的错误消息。还有其他建议吗?如果没有,我会想办法的。谢谢 错误是当您尝试打开应用程序(访问主页)时,如果您需要服务器 HTTP 请求,您需要使用web 而不是worker。然而,Discord 机器人通常是工人,因为它们不需要接收 HTTP 请求 哦,天哪,我太笨了,这很有意义哈哈……如果你不介意,还有一个问题:所以我的 Procfile 是worker: java TMCBot/TMCBot/Bot.java,(我复制了确切的从其 Github 页面到主类的路径),当测功机打开日志时说Starting process with command 'java TMCBot/TMCBot/Bot.java',然后它崩溃并说Error: could not find or load main class TMCBot.TMCBot.Bot.java。我试图在 Procfile 中获取主类的方式有问题吗?感谢您的所有回复。 应该是java com.foo.app.App com.foo.app 是包,App 是Java .class 所以现在我将 Bot.java 放在一个名为“TMCBot”的包中。我的 Procfile 正是 worker: java TMCBot.Bot.java。我也试过worker: java TMCBot.Bot.class。我试错了一段时间的语法,我想我只是愚蠢的哈哈

以上是关于Heroku Discord Bot“没有运行 Web 进程”的主要内容,如果未能解决你的问题,请参考以下文章

Heroku discord bot 不断重启

Discord bot 不是从 heroku 开始的

Discord bot UnhandledPromiseRejectionWarning 在生产中(HEROKU)[重复]

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

Discord.js bot 没有上线由 Heroku 托管

Heroku Discord Bot“没有运行 Web 进程”