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 进程”的主要内容,如果未能解决你的问题,请参考以下文章
Discord bot UnhandledPromiseRejectionWarning 在生产中(HEROKU)[重复]
Heroku Discord Bot 构建但在部署时无法工作