我正在构建类似音乐机器人的东西,我决定在heroku上主持它。不幸的是,它不能正常工作。一切正常,机器人连接到一个语音频道,但我听不到机器人播放的任何音频。昨天我收到一个错误(来自heroku的日志):
2020-08-06T15:13:45.003027+00:00 app[worker.1]: Ignoring exception in on_ready
2020-08-06T15:13:45.004547+00:00 app[worker.1]: Traceback (most recent call last):
2020-08-06T15:13:45.004619+00:00 app[worker.1]: File "/app/.heroku/python/lib/python3.8/site-packages/discord/client.py", line 312, in _run_event
2020-08-06T15:13:45.004620+00:00 app[worker.1]: await coro(*args, **kwargs)
2020-08-06T15:13:45.004623+00:00 app[worker.1]: File "papaj.py", line 58, in on_ready
2020-08-06T15:13:45.004624+00:00 app[worker.1]: voice_client.play(discord.FFmpegPCMAudio(path), after=lambda x: endSong(guild, path))
2020-08-06T15:13:45.004641+00:00 app[worker.1]: File "/app/.heroku/python/lib/python3.8/site-packages/discord/voice_client.py", line 411, in play
2020-08-06T15:13:45.004642+00:00 app[worker.1]: self.encoder = opus.Encoder()
2020-08-06T15:13:45.004644+00:00 app[worker.1]: File "/app/.heroku/python/lib/python3.8/site-packages/discord/opus.py", line 231, in __init__
2020-08-06T15:13:45.004644+00:00 app[worker.1]: raise OpusNotLoaded()
2020-08-06T15:13:45.004672+00:00 app[worker.1]: discord.opus.OpusNotLoaded
但今天我以某种方式修复了它,并且没有收到任何错误消息,但是音频仍然无法从bot播放。它看起来像这样:
2020-08-06T15:27:50.232782+00:00 app[worker.1]: [youtube] 1dOt_VcbgyA: Downloading webpage
2020-08-06T15:27:50.736856+00:00 app[worker.1]: [download] Destination: Wykop - Barka (Electro Version)-1dOt_VcbgyA.webm
2020-08-06T15:27:50.875706+00:00 app[worker.1]: [ffmpeg] Destination: Wykop - Barka (Electro Version)-1dOt_VcbgyA.mp3
2020-08-06T15:27:57.656852+00:00 app[worker.1]: Deleting original file Wykop - Barka (Electro Version)-1dOt_VcbgyA.webm (pass -k to keep)
然后它就停止了(当我在电脑上运行时,一切正常。)
我就是这样解决的 (当我试图在我的计算机上运行它时,我得到了一个错误,但在Heroku上它工作得很好)
我将此添加到脚本中:
请记住将其放在与音频链接的任何内容之前(最好的选择是将其粘贴在开头)。
Source
https://stackoverflow.com/a/55920177/14058810
“根据discord.py文档,您不应该在windows环境中使用它,这可能就是为什么它在本地计算机上工作,而不是在heroku(基于unix)上工作的原因。”
相关问题 更多 >
编程相关推荐