我一直试图在Heroku上主持一个不和谐机器人。 机器人链接: https://github.com/Just-Some-Bots/MusicBot
我已将其全部设置好并成功将其托管在我自己的计算机上。 问题是我想在像Heroku这样的在线服务上托管它。 成功部署,它说发现了一个python应用程序。 但是我没有看到不和谐的机器人上网......
这就是我认为问题所在, 当我在计算机上托管它时,我必须运行“runbot.bat”文件 看起来像这样:
@ECHO off
CHCP 65001 > NUL
CD /d "%~dp0"
SETLOCAL ENABLEEXTENSIONS
SET KEY_NAME="HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced"
SET VALUE_NAME=HideFileExt
FOR /F "usebackq tokens=1-3" %%A IN (`REG QUERY %KEY_NAME% /v %VALUE_NAME% 2^>nul`) DO (
SET ValueName=%%A
SET ValueType=%%B
SET ValueValue=%%C
)
IF x%ValueValue:0x0=%==x%ValueValue% (
ECHO Unhiding file extensions...
START CMD /c REG ADD HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced /v HideFileExt /t REG_DWORD /d 0 /f
)
ENDLOCAL
IF EXIST %SYSTEMROOT%\py.exe (
CMD /k py.exe -3.5 run.py
EXIT
)
python --version > NUL 2>&1
IF %ERRORLEVEL% NEQ 0 GOTO nopython
CMD /k python run.py
GOTO end
:nopython
ECHO ERROR: Python has either not been installed or not added to your PATH.
:end
PAUSE
我从这里学到了一个名为“procfile”的文件: https://www.reddit.com/r/discordapp/comments/5dkqpd/help_how_do_you_host_a_discord_bot_from_heroku/
我试过了
worker: runboot.bat
,
worker: python run.py
和
worker: python bot.py
但没有运气。我认为.bat文件的进程类型缺失或错误。 如何在Heroku上运行.bat文件? 或者,如果有人有一些托管这个机器人的经验,任何帮助将非常感激。谢谢!
答案 0 :(得分:0)
Heroku运行Linux。因此,运行批处理文件(以及来自该github存储库的ffmpeg.exe
)在技术上是不可行的。
A dyno is a lightweight Linux container that runs a single user-specified command.
说docs。
所以请尝试一些与Linux兼容的程序。
P.S。运行heroku logs
以获取有关您的应用无法正常运作的详细信息。