0

When I run the command I get: ReferenceError: servers is not defined. but I don't find any error.

Am I missing a package or anything?

const commando = require('discord.js-commando');
const YTDL = require("ytdl-core");

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
        }
    });
}

class PlayMusicCommand extends commando.Command
{
    constructor(client)
    {
        super(client,{
            name: 'play',
            group: 'music',
            memberName: 'play',
            description: 'Plays music'
        });
    }

    async run(message, args)
    {
        if(message.member.voiceChannel)
        {
            if(!message.guild.VoiceConnection)
            {
                if(!servers[message.guild.id])
                {
                    servers[message.guild.id] = {queue: []}
                }
                message.member.voiceChannel.join()
                    .then(connection =>{
                        var server = servers[message.guild.id];
                        message.reply("Succesfully Joined");
                        server.queue.push(args);
                        Play(connection, message);
                    })
            }
        }
        else
        {
            message.reply("You must be in a voice channel to invite me Baka!");
        }
    }
}

module.exports = PlayMusicCommand;
Federico Grandi
  • 6,785
  • 5
  • 30
  • 50
ShidouK
  • 7
  • 2
  • 3
    What is `servers[message.guild.id];`? servers here is not defined, meaning there is no variable with the name `servers`. – Vadi Jan 15 '19 at 08:51
  • ah turns out i was missing a module that was required thank you for your help! – ShidouK Jan 15 '19 at 10:13

1 Answers1

0

You try to access servers array variable by servers[message.guild.id]. But there is no variable defined as servers in the code, so the interpreter tells you exactly that. You probably forgot to import it.

Mikhail Litvinov
  • 452
  • 2
  • 10