You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Discord-Player 5.4.0自动暂停问题求助

Discord机器人自动触发autopause并断开语音频道的解决求助

本周早些时候我的Discord机器人运行完全正常,但不知为何突然自动触发了autopausing功能,这并非我想要的结果。我在官方文档里找不到任何关于autopausing的设置说明,希望有人能告诉我怎么关闭这个功能。

Debug事件日志

Debug: Queue initialized:
--------------------------------------------------
Core Dependencies
- @discordjs/voice: 0.11.0
- prism-media: 1.3.5
Opus Libraries
- @discordjs/opus: 0.8.0
- opusscript: not found
Encryption Libraries
- sodium-native: not found
- sodium: not found
- libsodium-wrappers: 0.7.11
- tweetnacl: not found
FFmpeg
- version: 5.0.1-static https://johnvansickle.com/ffmpeg/
- libopus: yes
--------------------------------------------------
--------------------------------------------------
Loaded Extractors:
None
Debug: Received play request
Debug: state change:
from {"status":"idle","resource":false,"stepTimeout":false}
to {"status":"playing","missedFrames":0,"playbackDuration":0,"resource":true,"stepTimeout":false}
Debug: state change:
from {"status":"playing","missedFrames":0,"playbackDuration":56200,"resource":true,"stepTimeout":false}
to {"status":"autopaused","missedFrames":0,"playbackDuration":56200,"resource":true,"silencePacketsRemaining":5,"stepTimeout":false}
Debug: state change:
from {"status":"autopaused","missedFrames":0,"playbackDuration":56300,"resource":true,"silencePacketsRemaining":0,"stepTimeout":false}
to {"status":"idle","resource":false,"stepTimeout":false}

曲目正常播放约一分钟后,状态会变为'autopaused',几秒后机器人就会断开语音频道(VC),就算队列里有多首曲目也一样。

初始化Player的代码

// Initialise player
client.player = new Player(client, {
    ytdlOptions: {
        quality: 'highestaudio',
        highWaterMark: 1 << 25
    }
});

初始化Queue的代码

const queue = await client.player.createQueue(interaction.guild, {
                metadata: {channel: interaction.channel}, // for player_event messages
                spotifyBridge: true,
                leaveOnEnd: true
            });

解决方法

这个autopause是@discordjs/voice库内置的自动暂停机制,当检测到语音频道内没有活跃听众(全员静音/离开)时触发,默认开启。你可以在创建Queue时添加autoPause配置项并设为false来关闭:

修改Queue初始化代码:

const queue = await client.player.createQueue(interaction.guild, {
    metadata: {channel: interaction.channel},
    spotifyBridge: true,
    leaveOnEnd: true,
    autoPause: false // 添加此行关闭自动暂停
});

另外检查语音频道内是否有活跃成员——若全员静音或离开,即便关闭autoPause,部分机器人逻辑仍可能断开,但关闭后只要频道内有成员(哪怕静音),机器人应会继续播放队列曲目。

如果问题依旧,建议将@discordjs/voice更新至最新稳定版本,旧版本可能存在机制bug。


内容的提问来源于stack exchange,提问作者zoltan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.29 17:33:05