eximiabots-radiox/commands/nowplaying.js

43 lines
2.1 KiB
JavaScript
Raw Normal View History

2020-03-02 19:38:42 +00:00
module.exports = {
name: 'nowplaying',
alias: 'np',
usage: '',
description: 'See the currently playing song position and length.',
permission: 'none',
category: 'music',
async execute(msg, args, client, Discord, command) {
2020-03-12 22:53:23 +00:00
let message = {};
2020-03-02 19:38:42 +00:00
const radio = client.radio.get(msg.guild.id);
if (!radio) return msg.channel.send('There is nothing playing.');
const completed = (radio.connection.dispatcher.streamTime.toFixed(0));
2020-03-08 23:26:24 +00:00
2020-03-12 22:53:23 +00:00
message.nowplayingDescription = client.messages.nowplayingDescription.replace("%radio.station.name%", radio.station.name);
message.nowplayingDescription = message.nowplayingDescription.replace("%radio.station.owner%", radio.station.owner);
message.nowplayingDescription = message.nowplayingDescription.replace("%msToTime(completed, \"hh:mm:ss\")%", msToTime(completed, "hh:mm:ss"));
2020-03-02 19:38:42 +00:00
const embed = new Discord.MessageEmbed()
2020-03-12 22:53:23 +00:00
.setTitle(client.messages.nowplayingTitle)
.setThumbnail("https://cdn.discordapp.com/emojis/" + client.messageEmojis["play"].replace(/[^0-9]+/g, ''))
2020-03-02 19:38:42 +00:00
.setColor(client.config.embedColor)
2020-03-12 22:53:23 +00:00
.setDescription(message.nowplayingDescription)
.setFooter('EximiaBots by Warén Media', "https://cdn.discordapp.com/emojis/" + client.messageEmojis["eximiabots"].replace(/[^0-9]+/g, ''));
2020-03-02 19:38:42 +00:00
return msg.channel.send(embed);
}
2020-03-12 09:59:05 +00:00
};
function msToTime(duration, format) {
var seconds = Math.floor((duration / 1000) % 60),
minutes = Math.floor((duration / (1000 * 60)) % 60),
hours = Math.floor((duration / (1000 * 60 * 60)) % 24);
days = Math.floor((duration / (1000 * 60 * 60 * 24)) % 24);
days = (days < 10) ? "0" + days : days;
hours = (hours < 10) ? "0" + hours : hours;
minutes = (minutes < 10) ? "0" + minutes : minutes;
seconds = (seconds < 10) ? "0" + seconds : seconds;
if (format === "hh:mm:ss") {
return `${hours}:${minutes}:${seconds}`;
} else if (format === "dd:hh:mm:ss") {
return `${days}:${hours}:${minutes}:${seconds}`;
}
}