const Command = require("../../base/Command"), Discord = require("discord.js"), lyricsParse = require("lyrics-finder"); class Lyrics extends Command { constructor(client) { super(client, { name: "lyrics", dirname: __dirname, enabled: true, guildOnly: false, aliases: ["ly"], memberPermissions: [], botPermissions: ["SEND_MESSAGES", "EMBED_LINKS"], nsfw: false, ownerOnly: false, cooldown: 3000 }); } async run(message, args, data) { const [songName, artistName] = args.join(" ").split("|"); if (!songName) return message.error("music/lyrics:MISSING_SONG_NAME"); const embed = new Discord.MessageEmbed() .setAuthor(message.translate("music/lyrics:LYRICS_OF", { songName })) .setColor(data.config.embed.color) .setFooter({ text: data.config.embed.footer }); try { const songNameFormated = songName .toLowerCase() .replace(/\(lyrics|lyric|official music video|audio|official|official video|official video hd|clip officiel|clip|extended|hq\)/g, "") .split(" ").join("%20"); let lyrics = await lyricsParse(songNameFormated, artistName) || "Не найдено!"; if (lyrics.length > 2040) { lyrics = lyrics.substr(0, 2000) + message.translate("music/lyrics:AND_MORE") + "\n[" + message.translate("music/lyrics:CLICK_HERE") + "]" + `(https://www.musixmatch.com/search/${songName.replace(" ", "+")})`; } else if (!lyrics.length) { return message.error("music/lyrics:NO_LYRICS_FOUND", { songName }); } embed.setDescription(lyrics); message.reply({ embeds: [embed] }); } catch (e) { console.log(e); message.error("music/lyrics:NO_LYRICS_FOUND", { songName }); } } } module.exports = Lyrics;