forked from embee/woomy
		
	queue
This commit is contained in:
		
							parent
							
								
									89dc88d786
								
							
						
					
					
						commit
						d85a10c7d0
					
				
					 1 changed files with 39 additions and 17 deletions
				
			
		| 
						 | 
				
			
			@ -88,18 +88,23 @@ module.exports = client => {
 | 
			
		|||
    };
 | 
			
		||||
  };
 | 
			
		||||
 | 
			
		||||
  client.music.play = async function(message, query) {
 | 
			
		||||
  client.music.play = async function(message, query, ignoreQueue) {
 | 
			
		||||
    let guild = client.music.getGuild(message.guild.id);
 | 
			
		||||
 | 
			
		||||
    if(!message.member.voice.channel && !guild.voiceChannel) {
 | 
			
		||||
      return message.member.reply('you are not in a voice channel!');
 | 
			
		||||
      return message.reply('you are not in a voice channel!');
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    let vc = message.member.voice.channel;
 | 
			
		||||
 | 
			
		||||
    let video = await client.music.getVideoByQuery(query);
 | 
			
		||||
    let video;
 | 
			
		||||
    
 | 
			
		||||
    if(video) {
 | 
			
		||||
    if(!ignoreQueue) {
 | 
			
		||||
      video = await client.music.getVideoByQuery(query);
 | 
			
		||||
    };
 | 
			
		||||
 | 
			
		||||
    if(video || ignoreQueue) {
 | 
			
		||||
      if(!ignoreQueue) {
 | 
			
		||||
        // Fix the bot if somehow broken
 | 
			
		||||
        // music "playing", nothing in queue
 | 
			
		||||
        if((guild.playing || guild.dispatcher) && guild.queue.length == 0) {
 | 
			
		||||
| 
						 | 
				
			
			@ -112,6 +117,7 @@ module.exports = client => {
 | 
			
		|||
 | 
			
		||||
        // Add video to queue
 | 
			
		||||
        guild.queue.push({video: video, requestedBy: message.member.id});
 | 
			
		||||
      };
 | 
			
		||||
 | 
			
		||||
      // Figure out if the bot should add it to queue or play it right now
 | 
			
		||||
      if(guild.playing) {
 | 
			
		||||
| 
						 | 
				
			
			@ -119,6 +125,8 @@ module.exports = client => {
 | 
			
		|||
      } else {
 | 
			
		||||
        guild.playing = true;
 | 
			
		||||
 | 
			
		||||
        guild.voiceChannel = vc;
 | 
			
		||||
 | 
			
		||||
        let connection = await vc.join();
 | 
			
		||||
        
 | 
			
		||||
        let v = guild.queue[0];
 | 
			
		||||
| 
						 | 
				
			
			@ -126,10 +134,24 @@ module.exports = client => {
 | 
			
		|||
        guild.dispatcher = connection.play(await ytdl(client.music.getLinkFromID(v.video.id.videoId), {highWaterMark: 1024 * 1024 * 32}), {type: 'opus'});
 | 
			
		||||
        guild.dispatcher.setVolume(0.25);
 | 
			
		||||
 | 
			
		||||
        message.reply('playing **' + v.video.snippet.title + '**');
 | 
			
		||||
        message.channel.send('Playing **' + v.video.snippet.title + '**');
 | 
			
		||||
 | 
			
		||||
        // play next in queue on end
 | 
			
		||||
        guild.dispatcher.once('finish', () => {
 | 
			
		||||
          guild.queue.shift();
 | 
			
		||||
          guild.playing = false;
 | 
			
		||||
 | 
			
		||||
          if(guild.queue.length > 0) {
 | 
			
		||||
            client.music.play(message, null, true);
 | 
			
		||||
          } else {
 | 
			
		||||
            guild.dispatcher = null;
 | 
			
		||||
 | 
			
		||||
            connection.leave();
 | 
			
		||||
          };
 | 
			
		||||
        });
 | 
			
		||||
      };
 | 
			
		||||
    } else {
 | 
			
		||||
      return message.member.reply('failed to find the video!');
 | 
			
		||||
      return message.reply('failed to find the video!');
 | 
			
		||||
    };
 | 
			
		||||
  };
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue