首页 > 解决方案 > 音乐机器人问题 discord.js

问题描述

我试图制作一个简单的音乐机器人。当我尝试“!play {youtube url}”时,机器人加入了VC,但没有声音。这是代码:

     case 'play':
           function play(connection, message) {
                var servers = 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.reply("provide a link!");
                return;
            }
            if (!message.member.voice.channel.join()){
                message.reply("you must be in a voice channel to play the 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.member.voiceConnection) message.member.voice.channel.join().then(function(connection){
                play(connection, message);
                message.reply("your song is playing!");
            })


        break;

当我输入一个 youtube 网址时,在 VS 中会显示: (node:8092) UnhandledPromiseRejectionWarning: TypeError: Cannot read property '858216105305964566' of undefined

标签: javascriptnode.jsdiscorddiscord.jsbots

解决方案


推荐阅读