【发布时间】:2020-10-23 10:19:01
【问题描述】:
我和我的团队目前正在使用 Python 开发 Discord 机器人。我们暂时使用 Heroku 来托管机器人,将来可能会改变,但现在是 Heroku。
Heroku 不会直接读取我们的 requirements.txt 文件。它的格式是否错误,或类似的东西?它曾经可以工作,但我的一位团队成员添加了一个新要求,但它不再工作了。以下是文件包含的内容:
discord.py==1.3.3
PyNaCl==1.3.0
pandas
dnspython==1.16.0
async-timeout==3.0.1
youtube_dl==2020.5.29
aiohttp==3.6.2
ffmpeg==1.4
praw==7.0.0
pycorona==0.5.9
pafy==0.5.5
这是 Procfile 包含的内容,以防万一它有用:
worker: python MASTERBOT.py
有谁知道我们的文件出了什么问题以及我们可以做些什么来修复它?如果需要,我会提供更多信息。
编辑:我想指出,当机器人在我们的计算机上本地运行时,它是 100% 正常运行的。
【问题讨论】:
-
工人?它应该是
web,因为它需要连接(工作人员用于后台任务) -
是吗?因为那没有帮助
-
@BeppeC 我们试过了,但它一直在崩溃。这部分日志让我很感兴趣:
2020-07-02T19:34:13.340633+00:00 heroku[web.1]: Error R10 (Boot timeout) -> Web process failed to bind to $PORT within 60 seconds of launch -
如果您是 web dyno,您需要将端口设置为 $PORT(不是硬编码,而是使用 Heroku 环境变量)。现在要明确一点,我没有使用 Discord 的经验(它可能工作方式不同),但理论上,当 BOT 必须接收 Web 请求时,您需要使用 Web dyno
-
@BeppeC 正如我所设想的那样,这行不通。我认为 discord.py 的工作方式不同,因为到目前为止,使用 worker 就可以了。无论如何感谢您的帮助!
标签: python python-3.x heroku discord discord.py