如何用discord.js录制Discord音效板声音?该功能是否可行?
关于discord.js录制Discord音效板声音的可行性
- 结论:目前Discord API和discord.js不支持直接录制其他用户触发的音效板声音。
- 核心原因:音效板的音频属于Discord内置媒体资源,不会通过常规用户语音流传输,Discord也未将这部分音频数据开放给第三方Bot的API接口。
- 你提供的代码局限性:当前使用的
receiver.speaking事件仅能捕获用户麦克风输入的语音流,无法捕获音效板播放的音频内容。
仅针对Bot自身播放音效板的替代方案
如果是你的Bot自己播放音效板内容,可以在播放时同时录制Bot的输出流,示例代码如下:
const connection = getVoiceConnection('<guild ID>'); const dispatcher = connection.play('./soundboard-sound.mp3'); // 同时录制输出流到本地文件 const fs = require('fs'); const writeStream = fs.createWriteStream('./recorded-sound.mp3'); dispatcher.stream.pipe(writeStream);
注意:这种方式仅能录制Bot自身播放的音效,无法获取其他用户触发的音效板音频数据。
内容的提问来源于stack exchange,提问作者Rougher
相关产品推荐
相关产品推荐

