forked from embee/woomy
		
	music stuff
This commit is contained in:
		
							parent
							
								
									3a8e2a8840
								
							
						
					
					
						commit
						5d2e02221b
					
				
					 6 changed files with 111 additions and 5 deletions
				
			
		| 
						 | 
					@ -5,7 +5,7 @@ exports.conf = {
 | 
				
			||||||
  guildOnly: true,
 | 
					  guildOnly: true,
 | 
				
			||||||
  aliases: ['np'],
 | 
					  aliases: ['np'],
 | 
				
			||||||
  permLevel: 'User',
 | 
					  permLevel: 'User',
 | 
				
			||||||
  requiredPerms: [],
 | 
					  requiredPerms: ['EMBED_LINKS'],
 | 
				
			||||||
  cooldown: 2000
 | 
					  cooldown: 2000
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -5,8 +5,8 @@ exports.conf = {
 | 
				
			||||||
  guildOnly: true,
 | 
					  guildOnly: true,
 | 
				
			||||||
  aliases: [],
 | 
					  aliases: [],
 | 
				
			||||||
  permLevel: 'User',
 | 
					  permLevel: 'User',
 | 
				
			||||||
  requiredPerms: [],
 | 
					  requiredPerms: ['CONNECT', 'SPEAK'],
 | 
				
			||||||
  cooldown: 2000
 | 
					  cooldown: 5000
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
exports.help = {
 | 
					exports.help = {
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
							
								
								
									
										51
									
								
								commands/removesong.js
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										51
									
								
								commands/removesong.js
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
					@ -0,0 +1,51 @@
 | 
				
			||||||
 | 
					// Copyright 2020 Emily J. / mudkipscience and contributors. Subject to the AGPLv3 license.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					exports.conf = {
 | 
				
			||||||
 | 
					  enabled: true,
 | 
				
			||||||
 | 
					  guildOnly: true,
 | 
				
			||||||
 | 
					  aliases: [],
 | 
				
			||||||
 | 
					  permLevel: 'User',
 | 
				
			||||||
 | 
					  requiredPerms: [],
 | 
				
			||||||
 | 
					  cooldown: 2000
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					exports.help = {
 | 
				
			||||||
 | 
					  name: 'removesong',
 | 
				
			||||||
 | 
					  category: 'Music',
 | 
				
			||||||
 | 
					  description: 'Removes a song from the queue.',
 | 
				
			||||||
 | 
					  usage: 'removesong [position]',
 | 
				
			||||||
 | 
					  parameters: '[position] - The position of the song you want to remove'
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					const { getGuild } = require('../utils/music')
 | 
				
			||||||
 | 
					module.exports.run = (client, message, args, level) => {
 | 
				
			||||||
 | 
					  var queue = getGuild(message.guild.id).queue
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  if (queue.length < 2) {
 | 
				
			||||||
 | 
					    return message.channel.send('<:error:466995152976871434> Not enough songs are in the queue for this command to work!')
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  if (!args[0]) {
 | 
				
			||||||
 | 
					    return message.channel.send(`<:error:466995152976871434> You didn't tell me what song to remove! Usage: \`${client.commands.get('removesong').help.usage}\``)
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  var input = +args[0]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  if (isNaN(input) === true) {
 | 
				
			||||||
 | 
					    return message.channel.send('That isn\'t a number! You need to tell me the songs position in the queue (1, 2, etc.)')
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  if (input >= queue.length) {
 | 
				
			||||||
 | 
					    return message.channel.send('Invalid (too large)')
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  if (input < 1) {
 | 
				
			||||||
 | 
					    return message.channel.send('Invalid (too small)')
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  var songName = queue[input].video.title
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  queue.splice(input, 1)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  message.channel.send(`Removed from queue: **${songName}**`)
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
							
								
								
									
										20
									
								
								commands/shuffle.js
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										20
									
								
								commands/shuffle.js
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
					@ -0,0 +1,20 @@
 | 
				
			||||||
 | 
					// Copyright 2020 Emily J. / mudkipscience and contributors. Subject to the AGPLv3 license.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					exports.conf = {
 | 
				
			||||||
 | 
					  enabled: true,
 | 
				
			||||||
 | 
					  guildOnly: true,
 | 
				
			||||||
 | 
					  aliases: [],
 | 
				
			||||||
 | 
					  permLevel: 'User',
 | 
				
			||||||
 | 
					  requiredPerms: [],
 | 
				
			||||||
 | 
					  cooldown: 2000
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					exports.help = {
 | 
				
			||||||
 | 
					  name: 'removesong',
 | 
				
			||||||
 | 
					  category: 'Music',
 | 
				
			||||||
 | 
					  description: 'Removes a song from the queue.',
 | 
				
			||||||
 | 
					  usage: 'removesong [position]',
 | 
				
			||||||
 | 
					  parameters: '[position] - The position of the song you want to remove'
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					const { getGuild } = require('../utils/music')
 | 
				
			||||||
							
								
								
									
										34
									
								
								commands/stop.js
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										34
									
								
								commands/stop.js
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
					@ -0,0 +1,34 @@
 | 
				
			||||||
 | 
					// Copyright 2020 Emily J. / mudkipscience and contributors. Subject to the AGPLv3 license.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					exports.conf = {
 | 
				
			||||||
 | 
					  enabled: true,
 | 
				
			||||||
 | 
					  guildOnly: true,
 | 
				
			||||||
 | 
					  aliases: [],
 | 
				
			||||||
 | 
					  permLevel: 'User',
 | 
				
			||||||
 | 
					  requiredPerms: [],
 | 
				
			||||||
 | 
					  cooldown: 2000
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					exports.help = {
 | 
				
			||||||
 | 
					  name: 'stop',
 | 
				
			||||||
 | 
					  category: 'Music',
 | 
				
			||||||
 | 
					  description: 'Stops music, clears the queue and disconnects from the voice channel.',
 | 
				
			||||||
 | 
					  usage: 'stop',
 | 
				
			||||||
 | 
					  params: ''
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					const { getGuild } = require('../utils/music')
 | 
				
			||||||
 | 
					exports.run = async (client, message) => {
 | 
				
			||||||
 | 
					  const guild = getGuild(message.guild.id)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  if (guild.queue.length < 1 || !guild.playing || !guild.dispatcher) return message.channel.send('Nothing is playing.')
 | 
				
			||||||
 | 
					  if (!message.member.voice.channel) return message.channel.send('You need to be in voice channel to use this command!')
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  guild.playing = false
 | 
				
			||||||
 | 
					  guild.paused = false
 | 
				
			||||||
 | 
					  guild.queue = []
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  guild.dispatcher.end('silent')
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  message.channel.send('Playback stopped!')
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
| 
						 | 
					@ -67,7 +67,7 @@ exports.getVideoByQuery = async function (client, query) {
 | 
				
			||||||
exports.play = async function (client, message, query, ignoreQueue) {
 | 
					exports.play = async function (client, message, query, ignoreQueue) {
 | 
				
			||||||
  const guild = exports.getGuild(message.guild.id)
 | 
					  const guild = exports.getGuild(message.guild.id)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  if (!message.member.voice.channel && !guild.voice.channel) {
 | 
					  if (!message.member.voice.channel && !guild.voiceChannel) {
 | 
				
			||||||
    return message.reply('You have to be connected to a voice channel to use this command!')
 | 
					    return message.reply('You have to be connected to a voice channel to use this command!')
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -168,7 +168,8 @@ exports.play = async function (client, message, query, ignoreQueue) {
 | 
				
			||||||
    } else {
 | 
					    } else {
 | 
				
			||||||
      guild.playing = true
 | 
					      guild.playing = true
 | 
				
			||||||
 | 
					
 | 
				
			||||||
      guild.voice.channel = vc
 | 
					      guild.voiceChannel = vc
 | 
				
			||||||
 | 
					      console.log(vc)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
      const connection = await vc.join()
 | 
					      const connection = await vc.join()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue