Discord漫游器未加入我所在的语音频道

问题描述

我正在尝试编写自己的音乐机器人,但它没有加入我所在的语音通道。 其他一切工作正常。我认为我应该使用npm安装特定的东西,但我不知道这是否正确,我不确定是否可以有人告诉我该怎么做才能解决此问题...

这是我的代码

    client.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 this command!");
                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.voice.channel.join().then(function(connection) {
                play(connection,message);
            })

        break;
    }

});

解决方法

我认为您使用的是discord.js 12+版本,在此版本中,voiceConnection属性已从GuildMember类中删除。

您应该尝试以下操作-

message.member.voice.channel.join()
,

我认为您定义args的行代码是拼写错误, 您尝试使用'substring'方法定义'args',但这是一个错误,尝试将其更改为'slice',这应该可以解决您的问题。 除非您尝试其他命令并且它们起作用。

尝试将其更改为该行代码:

让args = message.content.slice(prefix.length).split(“”);

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...