【问题标题】:Heroku Discord Bot builds but doesn't workHeroku Discord Bot 可构建但无法正常工作
【发布时间】:2020-08-24 19:20:21
【问题描述】:

我正在尝试在 Heroku(Discord JDA、Maven)上托管一个不和谐机器人。我通过连接到 Github 然后部署来做到这一点。机器人“部署”(查看附件)但实际上并没有工作(查看附件)。

我可能做错了什么,或者有其他人遇到过类似的问题吗?

【问题讨论】:

  • 你怎么知道它不起作用?错误在哪里? yoyu可以显示部署bot的日志吗?

标签: heroku discord-jda


【解决方案1】:

可能的解决方案:

  1. 设置一个 Procfile。 Procfile 基本上告诉 Heroku 在部署您的应用程序时要运行什么命令。在 Procfile 中,写入 worker: node index.js。另外,确保 Procfile 有一个大写的“P”。

  2. 设置 package.json。

    npm 初始化

然后只需跳过设置,您的文件就会自动创建。 重要。在您的 package.json 文件中,添加您的节点和 npm 版本。

node -v
npm -v

然后在你的 package.json 中输入这个。

"engines": {
     node: "your-version-here"
     npm: "your-version-here"
}
  1. 然后尝试再次将您的应用部署到 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 简单得多,尤其是在您进行测试或简单/快速的事情时。

    【讨论】:

      猜你喜欢
      • 2020-11-24
      • 1970-01-01
      • 2020-10-11
      • 2019-06-06
      • 1970-01-01
      • 2021-02-06
      • 2019-02-04
      • 2020-02-01
      • 2021-10-24
      相关资源
      最近更新 更多