const fmlogin = require("../../util/lastfm/fmlogin"); const getCurrentScrobble = require("../../util/lastfm/getCurrentScrobble"); const getCurrentCover = require("../../util/lastfm/getCurrentCover"); const getTopTracks = require("../../util/lastfm/getTopTracks"); const help = require("../info/help"); const parseMention = require("../../util/parseMention"); module.exports = { name: 'fm', description: 'Last fm commands. See `help fm` for more info.', moreHelp: ["Info: Having a space between fm and the subcommand makes no difference.", "They behave the same (for example: `fmtt` and `fm tt`)", "Set username: `fmset `", "Get current scrobble: `fm`", "Get top tracks: `fmtt`", "Get album cover for current scrobble: `fmcover`", ], async execute({ message, args, prefix, client }) { let sendText = {text: "Something went wrong.", embed: null}; switch (args[0]) { case "help": help.execute({ message: message, args: ["fm"], prefix: prefix, client: client }); return; case "set": sendText.text = await fmlogin(message.author.id, args[1]); break; case "toptracks": case "tt": args.shift(); sendText = await getTopTracks(message.author.id, args, message.guild); break; case "cover": sendText = await getCurrentCover(message.author.id, message.guild); break; default: sendText.text = `${args[0]} is not a valid subcommand.\nSee \`${prefix}help fm\` for more info.`; break; } if(args.length < 1){ sendText = await getCurrentScrobble(message.author.id, message.guild); } if(sendText.embed != null){ let parse = parseMention(message.author.id, message.guild) let user = message.guild.members.cache.get(parse); let roleColor = 15788778; if (user.roles.color) { roleColor = user.roles.color.color; } sendText.embed.setColor(roleColor); message.channel.send({embeds :[sendText.embed]}) }else{ message.channel.send(sendText.text.replaceAll("", prefix)); } } };