Music Discord.js机器人无法检测到语音通道

时间:2020-05-22 08:19:49

标签: bots discord discord.js

我目前正在制作音乐Discord Bot。我的问题出在命令的第一句:即使用户在语音通道中,voiceChannel也被标记为未定义,并且机器人返回“您必须在语音通道中才能使用此命令”

client.on("message", async message => {
  if(message.author.bot) return;
  const serverQueue = queue.get(message.guild.id);
  if(message.content.indexOf(PREFIX) !== 0) return;
  const args = message.content.slice(PREFIX.length).trim().split(/ +/g);
  const command = args.shift().toLowerCase();
     if (command === "play" || command === "p") {
        const args = message.content.split(" ");
        const searchString = args.slice(1).join(" ");
        const url = args[1] ? args[1].replace(/<(.+)>/g, "$1") : "";
        const serverQueue = queue.get(message.guild.id);
        const voiceChannel = message.member.voiceChannel;
        if (!voiceChannel) return message.channel.send("You have to be in a voice channel to use this command");
     }
});

1 个答案:

答案 0 :(得分:1)

看看here

message.member.voiceChannel;

在discord.js 12及更高版本中不存在

您需要使用

message.member.voice.channel.