UNPKG

dellosmusic

Version:

Dellos Music Bot - Discord Music Bot

105 lines (95 loc) 3.31 kB
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); }, }, };