mirror of
https://github.com/JonnyBro/JaBa.git
synced 2024-11-25 06:34:58 +05:00
54 lines
No EOL
1.3 KiB
JavaScript
54 lines
No EOL
1.3 KiB
JavaScript
const Command = require("../../base/Command"),
|
|
DisTube = require("distube"),
|
|
{ Permissions } = require("discord.js");
|
|
|
|
class PlayPlaylists extends Command {
|
|
constructor(client) {
|
|
super(client, {
|
|
name: "playplaylist",
|
|
dirname: __dirname,
|
|
enabled: true,
|
|
guildOnly: true,
|
|
aliases: ["ppl"],
|
|
memberPermissions: [],
|
|
botPermissions: ["SEND_MESSAGES", "EMBED_LINKS"],
|
|
nsfw: false,
|
|
ownerOnly: false,
|
|
cooldown: 3000
|
|
});
|
|
}
|
|
|
|
async run(message, args, data) {
|
|
const voice = message.member.voice.channel;
|
|
const name = args.join(" ");
|
|
let playlist;
|
|
for (const pl of data.userData.playlists) {
|
|
if (!pl.name === name) return message.error("music/removeplaylist:NOT_FOUND", {
|
|
name
|
|
});
|
|
|
|
playlist = new DisTube.Playlist(pl);
|
|
}
|
|
|
|
if (!voice) return message.error("music/play:NO_VOICE_CHANNEL");
|
|
|
|
// Check my permissions
|
|
const perms = voice.permissionsFor(this.client.user);
|
|
if (!perms.has(Permissions.FLAGS.CONNECT) || !perms.has(Permissions.FLAGS.SPEAK)) return message.error("music/play:VOICE_CHANNEL_CONNECT");
|
|
|
|
try {
|
|
this.client.player.play(message.member.voice.channel, playlist, {
|
|
member: message.member,
|
|
textChannel: message.channel,
|
|
message
|
|
});
|
|
} catch (e) {
|
|
message.error("music/play:ERR_OCCURRED", {
|
|
error: e
|
|
});
|
|
console.error(e);
|
|
}
|
|
}
|
|
}
|
|
|
|
module.exports = PlayPlaylists; |