dellosmusic
Version:
Dellos Music Bot - Discord Music Bot
105 lines (95 loc) • 3.31 kB
JavaScript
const { MessageEmbed } = require("discord.js");
const prettyMilliseconds = require("pretty-ms");
module.exports = {
name: "nowplaying",
description: "See what song is currently playing",
usage: "",
permissions: {
channel: ["VIEW_CHANNEL", "SEND_MESSAGES", "EMBED_LINKS"],
member: [],
},
aliases: ["np", "nowplaying", "now playing"],
/**
*
* @param {import("../structures/DiscordMusicBot")} client
* @param {import("discord.js").Message} message
* @param {string[]} args
* @param {*} param3
*/
run: async (client, message, args, { GuildDB }) => {
let player = await client.Manager.get(message.guild.id);
if (!player)
return client.sendTime(
message.channel,
"❌ | **Nothing is playing right now...**"
);
let song = player.queue.current;
let QueueEmbed = new MessageEmbed()
.setAuthor("Currently playing", client.botconfig.IconURL)
.setColor(client.botconfig.EmbedColor)
.setDescription(`[${song.title}](${song.uri})`)
.addField("Requested by", `${song.requester}`, true)
.setThumbnail(player.queue.current.displayThumbnail());
// Check if song duration matches livestream duration
if (player.queue.current.duration == 9223372036854776000) {
QueueEmbed.addField("Duration", "`Live`");
} else {
QueueEmbed.addField(
"Duration",
`${
client.ProgressBar(player.position, player.queue.current.duration, 15)
.Bar
} \`${prettyMilliseconds(player.position, {
colonNotation: true,
})} / ${prettyMilliseconds(player.queue.current.duration, {
colonNotation: true,
})}\``
);
}
return message.channel.send(QueueEmbed);
},
SlashCommand: {
/**
*
* @param {import("../structures/DiscordMusicBot")} client
* @param {import("discord.js").Message} message
* @param {string[]} args
* @param {*} param3
*/
run: async (client, interaction, args, { GuildDB }) => {
let player = await client.Manager.get(interaction.guild_id);
if (!player.queue.current)
return client.sendTime(
interaction,
"❌ | **Nothing is playing right now...**"
);
let song = player.queue.current;
let QueueEmbed = new MessageEmbed()
.setAuthor("Currently playing", client.botconfig.IconURL)
.setColor(client.botconfig.EmbedColor)
.setDescription(`[${song.title}](${song.uri})`)
.addField("Requested by", `${song.requester}`, true)
.setThumbnail(player.queue.current.displayThumbnail());
// Check if song duration matches livestream duration
if (player.queue.current.duration == 9223372036854776000) {
QueueEmbed.addField("Duration", "`Live`");
} else {
QueueEmbed.addField(
"Duration",
`${
client.ProgressBar(
player.position,
player.queue.current.duration,
15
).Bar
} \`${prettyMilliseconds(player.position, {
colonNotation: true,
})} / ${prettyMilliseconds(player.queue.current.duration, {
colonNotation: true,
})}\``
);
}
return interaction.send(QueueEmbed);
},
},
};