This repository has been archived on 2022-09-24. You can view files and clone it, but cannot push or open issues or pull requests.
Codsworth/commands/move.js

32 lines
1.0 KiB
JavaScript

const move = require("array-move");
const { canModifyQueue, LOCALE } = require("../util/Util");
const i18n = require("i18n");
i18n.setLocale(LOCALE);
module.exports = {
name: "move",
aliases: ["mv"],
description: i18n.__("move.description"),
execute(message, args) {
const queue = message.client.queue.get(message.guild.id);
if (!queue) return message.channel.send(i18n.__("move.errorNotQueue")).catch(console.error);
if (!canModifyQueue(message.member)) return;
if (!args.length) return message.reply(i18n.__mf("move.usagesReply", { prefix: message.client.prefix }));
if (isNaN(args[0]) || args[0] <= 1)
return message.reply(i18n.__mf("move.usagesReply", { prefix: message.client.prefix }));
let song = queue.songs[args[0] - 1];
queue.songs = move(queue.songs, args[0] - 1, args[1] == 1 ? 1 : args[1] - 1);
queue.textChannel.send(
i18n.__mf("move.result", {
author: message.author,
title: song.title,
index: args[1] == 1 ? 1 : args[1]
})
);
}
};