|
|
@ -31,13 +31,19 @@ class musicCommand extends Command {
|
|
|
|
async exec(message,args) {
|
|
|
|
async exec(message,args) {
|
|
|
|
let link;
|
|
|
|
let link;
|
|
|
|
let Attachment = (message.attachments).array();
|
|
|
|
let Attachment = (message.attachments).array();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if (!args.music && Attachment[0]) {
|
|
|
|
if (!args.music && Attachment[0]) {
|
|
|
|
|
|
|
|
if (!Attachment[0].url.endsWith('mp3' || 'wav' || 'mp4' || 'webm'))
|
|
|
|
|
|
|
|
return message.channel.send('Only mp3,wav,mp4 and webm are supported');
|
|
|
|
link = Attachment[0].url;
|
|
|
|
link = Attachment[0].url;
|
|
|
|
} else {
|
|
|
|
} else {
|
|
|
|
link = args.music;
|
|
|
|
link = args.music;
|
|
|
|
|
|
|
|
if (!link.endsWith('mp3' || 'wav' || 'mp4' || 'webm'))
|
|
|
|
|
|
|
|
return message.channel.send('Only mp3,wav,mp4 and webm are supported');
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
let video = youtubedl(link, ['-x', '--audio-format', 'mp3']);
|
|
|
|
let video = youtubedl(link, ['-x', '--audio-format', 'mp3']);
|
|
|
|
video.pipe(fs.createWriteStream('./music.mp3'));
|
|
|
|
video.pipe(fs.createWriteStream('./music.mp3'));
|
|
|
|
video.on('error', function error(err) {
|
|
|
|
video.on('error', function error(err) {
|
|
|
@ -53,12 +59,17 @@ class musicCommand extends Command {
|
|
|
|
if (!response.results[0])
|
|
|
|
if (!response.results[0])
|
|
|
|
return message.channel.send('Could not identify the music');
|
|
|
|
return message.channel.send('Could not identify the music');
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
let time = response.results[0].recordings[0].duration;
|
|
|
|
|
|
|
|
let minutes = Math.floor(time / 60);
|
|
|
|
|
|
|
|
let seconds = time - minutes * 60;
|
|
|
|
|
|
|
|
|
|
|
|
const musicEmbed = new MessageEmbed()
|
|
|
|
const musicEmbed = new MessageEmbed()
|
|
|
|
.setColor('#ff9900')
|
|
|
|
.setColor('#ff9900')
|
|
|
|
.setTitle('Music found!')
|
|
|
|
.setTitle('Music found!')
|
|
|
|
.addField('Title', response.results[0].recordings[0].title, true)
|
|
|
|
.addField('Title', response.results[0].recordings[0].title, true)
|
|
|
|
.addField('Artist', response.results[0].recordings[0].artists[0].name, true)
|
|
|
|
.addField('Artist', response.results[0].recordings[0].artists[0].name, true)
|
|
|
|
.addField('Album', response.results[0].recordings[0].releasegroups[0].title, true);
|
|
|
|
.addField('Album', response.results[0].recordings[0].releasegroups[0].title, true)
|
|
|
|
|
|
|
|
.addField('Duration', `${minutes}:${seconds}`);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
message.channel.send(musicEmbed);
|
|
|
|
message.channel.send(musicEmbed);
|
|
|
|