我有一个托管在heroku上的不和谐机器人,在它的其他功能中,它还提供成员听音乐(很像著名的Rythm机器人)。然而,每当我播放一首歌曲时,机器人就会崩溃,并在播放歌曲7-10次后重新启动。这似乎只有在我播放音乐时才会发生。除此之外,机器人似乎运行得很顺利,没有任何问题或崩溃。我已经在下面包含了我得到的错误消息的开头(完整错误非常长)
node:events:371
throw er; // Unhandled 'error' event
^
AudioPlayerError: aborted
at connResetException (node:internal/errors:691:14)
at TLSSocket.socketCloseListener (node:_http_client:407:19)
at TLSSocket.emit (node:events:406:35)
at node:net:672:12
at TCP.done (node:_tls_wrap:580:7)
Emitted 'error' event on AudioPlayer instance at:
at OggDemuxer.onStreamError (/app/node_modules/@discordjs/voice/dist/audio/AudioPlayer.js:213:22)
at Object.onceWrapper (node:events:514:26)
at OggDemuxer.emit (node:events:406:35)
at emitErrorNT (node:internal/streams/destroy:157:8)
at emitErrorCloseNT (node:internal/streams/destroy:122:3)
at processTicksAndRejections (node:internal/process/task_queues:83:21) {
resource: <ref *4> AudioResource {
playbackDuration: 486900,
started: true,
silenceRemaining: -1,
edges: [
<ref *1> {
type: 'ffmpeg ogg',
to: Node {
edges: [ [Object], [Object], [Object] ],
type: 'ogg/opus'
},
cost: 2,
transformer: [Function: transformer],
from: Node { edges: [ [Object], [Circular *1] ], type: 'arbitrary' }
},
<ref *2> {
type: 'ogg/opus demuxer',
to: Node { edges: [ [Object] ], type: 'opus' },
cost: 1,
...
发布于 2021-09-15 14:10:06
在制作机器人(比如音乐机器人)时,我们经常会遇到一些奇怪的错误,这些错误很难调试,因为这可能是库/discord的问题。关于权限,我也遇到过类似的错误。
您是否在活动/承诺中使用.catch()
?根据错误消息,它表明您没有正确处理错误。
这也可能是因为尝试播放尚未下载的音频。在获取音频时,您应该始终使用promise,并在尝试播放之前等待它返回,最后使用.catch()
。
https://stackoverflow.com/questions/69192483
复制相似问题