【问题标题】:I can't get my music bot in a discord voice channel (JavaScript)我无法让我的音乐机器人进入不和谐的语音频道 (JavaScript)
【发布时间】:2025-12-31 22:20:05
【问题描述】:

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

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


    【解决方案1】:

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

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

    【讨论】:

    • 好的,机器人终于进入语音通道了。我需要改变一切吗?比如 !message.guild.voiceConnection 到 !message.guild.voice.connection 等等。因为现在音乐不播放,边框变绿,但不发出任何声音。
    • 是的,您也需要在那里进行更改。