diff --git a/commands/nowplaying.js b/commands/nowplaying.js index ae9a1a6a..2f645e05 100644 --- a/commands/nowplaying.js +++ b/commands/nowplaying.js @@ -15,6 +15,7 @@ module.exports = { const embed = new Discord.RichEmbed() .setTitle("__Now playing__") .setDescription(`🎶**Now playing:** ${serverQueue.songs[0].title}\n${array.join('')} | \`${client.funcs.msToTime(completed)} / ${client.funcs.msToTime(songtime)}\``) + .setFooter(`Queued by \`${serverQueue.songs[0].author.tag}\``) .setURL(serverQueue.songs[0].url) .setColor("#b50002") return message.channel.send(embed); diff --git a/commands/remove.js b/commands/remove.js new file mode 100644 index 00000000..08c23b71 --- /dev/null +++ b/commands/remove.js @@ -0,0 +1,24 @@ +module.exports = { + name: 'remove', + description: 'Remove command.', + cooldown: 5, + execute(message, args, client, Discord, prefix) { + const { voiceChannel } = message.member; + const serverQueue = client.queue.get(message.guild.id); + const permissions = message.channel.permissionsFor(message.author); + if (!serverQueue) return message.channel.send(':x: There is nothing playing'); + if (isNaN(args[1])) return message.channel.send(':x: You need to enter a number!'); + if (args[1] === "0") return message.channel.send(':x: You can not remove the currently playing song!'); + if (args[1] > serverQueue.songs.size) return message.channel.send(`:x: There is only ${serverQueue.songs.size} amount of songs in the queue!`); + if (message.author.id !== '360363051792203779') { + if (voiceChannel !== serverQueue.voiceChannel) return message.channel.send(':x: I\'m sorry but you need to be in the same voice channel as Musix to remove songs!'); + if (client.global.db.guilds[message.guild.id].dj) { + if (serverQueue.songs[args[1]].author !== message.author) { + if (!message.member.roles.has(client.global.db.guilds[message.guild.id].djrole)) return message.channel.send(':x: You need the `DJ` role to remove songs queue by others!'); + } + } else if (!permissions.has('MANAGE_MESSAGES') && serverQueue.songs[args[1]].author !== message.author) return message.channel.send(':x: You need the `MANAGE_MESSAGES` permission to remove songs queued by others!'); + } + message.channel.send(`🗑️ removed \`${serverQueue.songs[args[1]].title}\` from the queue!`); + return serverQueue.songs.splice(args[1], 1); + } +}; diff --git a/funcs/handleVideo.js b/funcs/handleVideo.js index e3a5a1f8..b9b05dfe 100644 --- a/funcs/handleVideo.js +++ b/funcs/handleVideo.js @@ -3,7 +3,8 @@ module.exports = async function (video, message, voiceChannel, client, playlist let song = { id: video.id, title: Discord.Util.escapeMarkdown(video.title), - url: `https://www.youtube.com/watch?v=${video.id}` + url: `https://www.youtube.com/watch?v=${video.id}`, + author: message.author } const serverQueue = client.queue.get(message.guild.id); if (client.global.db.guilds[message.guild.id].defaultVolume === undefined) {