Heroku Discord Bot 可构建但无法正常工作
Posted
技术标签:
【中文标题】Heroku Discord Bot 可构建但无法正常工作【英文标题】:Heroku Discord Bot builds but doesn't work 【发布时间】:2020-08-24 19:20:21 【问题描述】:我正在尝试在 Heroku(Discord JDA、Maven)上托管一个不和谐机器人。我通过连接到 Github 然后部署来做到这一点。机器人“部署”(查看附件)但实际上并没有工作(查看附件)。
我可能做错了什么,或者有其他人遇到过类似的问题吗?
【问题讨论】:
你怎么知道它不起作用?错误在哪里? yoyu可以显示部署bot的日志吗? 【参考方案1】:可能的解决方案:
设置一个 Procfile。 Procfile 基本上告诉 Heroku 在部署您的应用程序时要运行什么命令。在 Procfile 中,写入 worker: node index.js
。另外,确保 Procfile 有一个大写的“P”。
设置 package.json。
npm 初始化
然后只需跳过设置,您的文件就会自动创建。 重要。在您的 package.json 文件中,添加您的节点和 npm 版本。
node -v
npm -v
然后在你的 package.json 中输入这个。
"engines":
node: "your-version-here"
npm: "your-version-here"
-
然后尝试再次将您的应用部署到 Heroku。此外,请确保为您的应用设置了“nodejs”构建包。运行它并测试 discord 机器人。
【讨论】:
【参考方案2】:快速而肮脏的部署方式:
您需要在此处设置一个 Procfile,详细信息:https://devcenter.heroku.com/articles/procfile
procfile 基本上是一个没有扩展名的文件,它告诉测功机如何执行您的程序。
一个简单的
worker: java $JAVA_OPTS -jar <PATH_TO_JAR>
如果您不需要更多配置,将可以正常工作,请参阅该链接了解更多信息。
然后您可以像这样部署它(最好将 procfile 和 jar 放在同一目录中):
$ heroku deploy:jar -a <YOUR_HEROKU_APP_NAME> --jdk <JDK_VERSION> --jar <PATH_TO_JAR> -i Procfile
然后启动它(假设你想要一个工人测功机,这是不和谐应该需要的)
$ heroku ps:scale -a <YOUR_HEROKU_APP_NAME> worker=1
然后停止它:
$ heroku ps:scale -a <YOUR_HEROKU_APP_NAME> worker=0
我发现这比使用 git 简单得多,尤其是在您进行测试或简单/快速的事情时。
【讨论】:
以上是关于Heroku Discord Bot 可构建但无法正常工作的主要内容,如果未能解决你的问题,请参考以下文章
discord.py bot 正确构建在 heroku 上,但显示脱机
Discord bot 无法使用 Python 在 Heroku 上运行