【发布时间】:2020-02-12 19:47:21
【问题描述】:
我正在开发一个不和谐的小机器人。我试图让它做的一件事是加入一个语音频道并听那里说话的人,将音频写入文件。我认为我正在尝试的是前进的方向,但我一定做错了什么。 我有什么音频部分:
else if(listening === true){
const voiceChannel = client.channels.get("644587330673311788");
log.info('listening = true');
voiceChannel.join()
.then(conn => {
log.info('ready!');
// create our voice receiver
const receiver = conn.createReceiver();
conn.on('speaking', (user, speaking) => {
log.info("speaking conn up...");
if (speaking) {
log.info(`I'm listening to ${user}`);
//This is where the audiostream will be created/written to file
}
});
})
.catch(console.log);
}
这发生在client.on('message', message => { 内部,我可以看到机器人加入了正确的语音频道,然后它记录了“listening = true”,最后它记录了“准备好了!”之后什么都没有发生。
所以conn.on('speaking', (user, speaking) => { 部分肯定有问题。我尝试过的其中一件事是将speaking 换成guildMemberSpeaking,尽管这并没有什么区别。我很难找到解决方案,因为我找到的每个来源都使用这个conn.on('speaking'
任何帮助将不胜感激!
【问题讨论】:
-
您可以尝试监听连接的
debug、warn和error事件并记录每个事件的输出。可能会帮助您缩小问题范围。
标签: javascript node.js discord.js chatbot