首页 > 解决方案 > 我无法让我的音乐机器人进入不和谐的语音频道 (JavaScript)

问题描述

我正在制作一个不和谐的机器人来在我的服务器上播放音乐,但我无法放置/调用该机器人以进入语音频道。我在聊天中,但每次机器人一直说“你必须在语音频道中才能使用机器人!” 我使用的代码是这样的,它不是我的:

bot.on('message', message => {
    
    let args = message.content.substring(PREFIX.length).split(" ");
    
    switch (args[0]) {
        case 'play':
            
         function play (connection, message){
            var server = servers[message.guild.id];

            server.dispatcher = connection.playStream(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.voiceChannel){
                message.channel.send("You must be in a voice channel to use the bot!");
                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;

https://i.stack.imgur.com/zdzEw.png

标签: javascript

解决方案


而不是message.member.voiceChannel你需要使用message.member.voice.channel.

请参阅有关Message.memberGuildMember.voiceVoiceState.channel的文档。


推荐阅读