nowplaying.js 2.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889
  1. const { MessageEmbed } = require("discord.js");
  2. const prettyMilliseconds = require("pretty-ms");
  3. module.exports = {
  4. name: "nowplaying",
  5. description: "See what song is currently playing",
  6. usage: "",
  7. permissions: {
  8. channel: ["VIEW_CHANNEL", "SEND_MESSAGES", "EMBED_LINKS"],
  9. member: [],
  10. },
  11. aliases: ["np", "nowplaying", "now playing"],
  12. /**
  13. *
  14. * @param {import("../structures/DiscordMusicBot")} client
  15. * @param {import("discord.js").Message} message
  16. * @param {string[]} args
  17. * @param {*} param3
  18. */
  19. run: async (client, message, args, { GuildDB }) => {
  20. let player = await client.Manager.get(message.guild.id);
  21. if (!player)
  22. return client.sendTime(
  23. message.channel,
  24. "❌ | **Nothing is playing right now...**"
  25. );
  26. let song = player.queue.current;
  27. let QueueEmbed = new MessageEmbed()
  28. .setAuthor("Currently playing", client.config.IconURL)
  29. .setColor("RANDOM")
  30. .setDescription(`[${song.title}](${song.uri})`)
  31. .addField("Requested by", `${song.requester}`, true)
  32. .addField(
  33. "Duration",
  34. `${
  35. client.ProgressBar(player.position, player.queue.current.duration, 15)
  36. .Bar
  37. } \`${prettyMilliseconds(player.position, {
  38. colonNotation: true,
  39. })} / ${prettyMilliseconds(player.queue.current.duration, {
  40. colonNotation: true,
  41. })}\``
  42. )
  43. .setThumbnail(player.queue.current.displayThumbnail());
  44. return message.channel.send(QueueEmbed);
  45. },
  46. SlashCommand: {
  47. /**
  48. *
  49. * @param {import("../structures/DiscordMusicBot")} client
  50. * @param {import("discord.js").Message} message
  51. * @param {string[]} args
  52. * @param {*} param3
  53. */
  54. run: async (client, interaction, args, { GuildDB }) => {
  55. let player = await client.Manager.get(interaction.guild_id);
  56. if (!player)
  57. return client.sendTime(
  58. interaction,
  59. "❌ | **Nothing is playing right now...**"
  60. );
  61. let song = player.queue.current;
  62. let QueueEmbed = new MessageEmbed()
  63. .setAuthor("Currently playing", client.config.IconURL)
  64. .setColor("RANDOM")
  65. .setDescription(`[${song.title}](${song.uri})`)
  66. .addField("Requested by", `${song.requester}`, true)
  67. .addField(
  68. "Duration",
  69. `${
  70. client.ProgressBar(
  71. player.position,
  72. player.queue.current.duration,
  73. 15
  74. ).Bar
  75. } \`${prettyMilliseconds(player.position, {
  76. colonNotation: true,
  77. })} / ${prettyMilliseconds(player.queue.current.duration, {
  78. colonNotation: true,
  79. })}\``
  80. )
  81. .setThumbnail(player.queue.current.displayThumbnail());
  82. return interaction.send(QueueEmbed);
  83. },
  84. },
  85. };