forked from embee/woomy
56 lines
1.8 KiB
JavaScript
56 lines
1.8 KiB
JavaScript
|
const { getGuild } = require('../modules/music')
|
||
|
exports.run = async (client, message, args) => {
|
||
|
const queue = getGuild(message.guild.id).queue
|
||
|
|
||
|
if (queue.length < 3) {
|
||
|
return message.channel.send('<:error:466995152976871434> Not enough songs are in the queue for this command to work!')
|
||
|
}
|
||
|
|
||
|
if (!args[0]) {
|
||
|
return client.userError(message, exports, 'Missing argument, the `current position` argument is required!')
|
||
|
}
|
||
|
|
||
|
if (!args[1]) {
|
||
|
return client.userError(message, exports, 'Missing argument, the `new position` argument is required!')
|
||
|
}
|
||
|
|
||
|
const oldPosition = +args[0]
|
||
|
const newPosition = +args[1]
|
||
|
|
||
|
if (isNaN(oldPosition) === true) {
|
||
|
return message.channel.send('<:error:466995152976871434> That isn\'t a number! You need to tell me the songs position in the queue (1, 2, etc.)')
|
||
|
}
|
||
|
|
||
|
if (isNaN(newPosition) === true) {
|
||
|
return message.channel.send('<:error:466995152976871434> That isn\'t a number! You need to tell me the songs position in the queue (1, 2, etc.)')
|
||
|
}
|
||
|
|
||
|
if (oldPosition < 1 || oldPosition >= queue.length) {
|
||
|
return message.channel.send('<:error:466995152976871434> Old position is not a valid song ID.')
|
||
|
}
|
||
|
|
||
|
if (newPosition < 1 || newPosition >= queue.length) {
|
||
|
return message.channel.send('<:error:466995152976871434> New position is not a valid song ID.')
|
||
|
}
|
||
|
|
||
|
const songName = queue[oldPosition].video.title
|
||
|
|
||
|
queue.splice(newPosition, 0, queue.splice(oldPosition, 1)[0])
|
||
|
|
||
|
message.channel.send(`<:success:466995111885144095> Moved **${songName}** from position \`${oldPosition}\` to \`${newPosition}\``)
|
||
|
}
|
||
|
|
||
|
exports.conf = {
|
||
|
enabled: true,
|
||
|
guildOnly: true,
|
||
|
aliases: [],
|
||
|
permLevel: "Moderator",
|
||
|
requiredPerms: []
|
||
|
}
|
||
|
|
||
|
exports.help = {
|
||
|
name: 'movesong',
|
||
|
category: 'Music',
|
||
|
description: 'Moves a song to a new position in the queue.',
|
||
|
usage: 'movesong [current position] [new position]'
|
||
|
}
|