音乐机器人 discord.js 问题
Posted
技术标签:
【中文标题】音乐机器人 discord.js 问题【英文标题】:Music Bot discord.js issue 【发布时间】:2020-09-22 20:39:44 【问题描述】:我一直试图让这个代码让音乐机器人工作,我有所有的依赖项,但我认为这是因为我观看的视频来自大约 8 个月前,并且很多代码已经失效。
目前我收到一个错误 TypeError: Cannot read property 'join' of undefined。 如果有人可以帮助我解决问题并使其正常工作,那就太棒了。
bot.on('message', message =>
if (!message.content.startsWith(PREFIX)) return;
let args = message.content.slice(PREFIX.length).split(" ");
switch(args[0])
case 'play':
function play(connection, message)
var server = servers[message.guild.id];
server.dispatcher = connection.play(ytdl(server.queue[0], filter: "audioonly"));
server.queue.shift();
server.dispatcher.on("end", function()
if(server.queue[0])
play(connection, message);
else
connection.disconnect();
)
if(!args[1])
message.channel.send("you need to provide a link!");
return;
if(!message.member.voice.channel.join)
message.channel.send("You must be in a voice channel to play music!");
return;
if(!servers[message.guild.id]) servers[message.guild.id] =
queue: []
var server = servers[message.guild.id];
server.queue.push(args[1]);
if(!message.guild.voiceConnection)message.member.voiceChannel.join().then(function(connection)
play(connection, message);
)
break;
)
【问题讨论】:
【参考方案1】:从 Discord v12 开始,message.member.voiceChannel.join()
可能需要更改为 message.member.voice.channel.join()
【讨论】:
@ExodusBackup 很高兴听到这个消息:)【参考方案2】:看起来问题来自这里:
if(!message.member.voice.channel.join) message.channel.send("You must be in a voice channel to play music!"); return;
您需要删除 .join 部分,因为 Discord.js 中不存在这样的东西
【讨论】:
不要粗鲁,但我很确定 ti 确实如此,因为当键入 join 时,它会作为 vscode 中的语音方法出现。此外,它不是导致问题的连接,它位于代码底部 @ExodusBackup 对不起,我的错。我已经提交了另一个答案,这次应该是正确的以上是关于音乐机器人 discord.js 问题的主要内容,如果未能解决你的问题,请参考以下文章
Discord.js 音乐机器人:TypeError:this.inputMedia.pipe 不是函数
从 twitch bot 调用 Discord.js 音乐问题找到语音频道
Discord JS 音乐机器人 - .message.member.voiceChannel.join() 不工作
不断收到 DiscordAPIError:在 Discord.js 中的音乐机器人上使用 reconlx 的分页执行队列命令时出现未知交互