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/skipto.js

40 lines
1.2 KiB
JavaScript

const { canModifyQueue, LOCALE } = require("../util/Util");
const i18n = require("i18n");
i18n.setLocale(LOCALE);
module.exports = {
name: "skipto",
aliases: ["st"],
description: i18n.__("skipto.description"),
execute(message, args) {
if (!args.length || isNaN(args[0]))
return message
.reply(i18n.__mf("skipto.usageReply", { prefix: message.client.prefix, name: module.exports.name }))
.catch(console.error);
const queue = message.client.queue.get(message.guild.id);
if (!queue) return message.channel.send(i18n.__("skipto.errorNotQueue")).catch(console.error);
if (!canModifyQueue(message.member)) return i18n.__("common.errorNotChannel");
if (args[0] > queue.songs.length)
return message
.reply(i18n.__mf("skipto.errorNotValid", { length: queue.songs.length }))
.catch(console.error);
queue.playing = true;
if (queue.loop) {
for (let i = 0; i < args[0] - 2; i++) {
queue.songs.push(queue.songs.shift());
}
} else {
queue.songs = queue.songs.slice(args[0] - 2);
}
queue.connection.dispatcher.end();
queue.textChannel
.send(i18n.__mf("skipto.result", { author: message.author, arg: args[0] - 1 }))
.catch(console.error);
}
};