parent
a066fd0662
commit
91c080ed82
4 changed files with 303 additions and 1 deletions
|
@ -4,6 +4,11 @@ const getCurrentCover = require("../../util/lastfm/getCurrentCover");
|
|||
const getTopTracks = require("../../util/lastfm/getTopTracks");
|
||||
const help = require("../info/help");
|
||||
const parseMention = require("../../util/parseMention");
|
||||
const roast = require("../../util/lastfm/roast");
|
||||
const getTopArtists = require("../../util/lastfm/getTopArtists");
|
||||
const getTopAlbums = require("../../util/lastfm/getTopAlbums");
|
||||
const {EmbedBuilder} = require('discord.js');
|
||||
const getNickname = require('../../util/getNickname');
|
||||
module.exports = {
|
||||
name: 'fm',
|
||||
description: 'Last fm commands. See `<prefix>help fm` for more info.',
|
||||
|
@ -13,6 +18,7 @@ module.exports = {
|
|||
"Get current scrobble: `<prefix>fm`",
|
||||
"Get top tracks: `<prefix>fmtt`",
|
||||
"Get album cover for current scrobble: `<prefix>fmcover`",
|
||||
"Get a roast from an LLM using your top artists and albums: `<prefix>fmroast`"
|
||||
],
|
||||
async execute({ message, args, prefix, client }) {
|
||||
let sendText = {text: "Something went wrong.", embed: null};
|
||||
|
@ -31,6 +37,26 @@ module.exports = {
|
|||
case "cover":
|
||||
sendText = await getCurrentCover(message.author.id, message.guild);
|
||||
break;
|
||||
case "roast":
|
||||
let topArtists = await getTopArtists(message.author.id, ["yearly"], message.guild, true);
|
||||
let topAlbums = await getTopAlbums(message.author.id, ["yearly"], message.guild, true);
|
||||
let result = await roast(topArtists, topAlbums);
|
||||
|
||||
let parse = parseMention(message.author.id, message.guild)
|
||||
let user = message.guild.members.cache.get(parse);
|
||||
let nickname = getNickname(user, message.guild)
|
||||
if (nickname == null) {
|
||||
nickname = user.user.username;
|
||||
}
|
||||
const possesive = nickname.at(nickname.length - 1) === "s" ? "'" : "'s"
|
||||
const embed = new EmbedBuilder()
|
||||
.setAuthor({name: `${nickname}${possesive} AI roast`, iconURL: user.user.avatarURL({ dynamic: true, size: 4096 })})
|
||||
.setColor(15780145)
|
||||
embed.addFields(
|
||||
{ name: ' ', value: result },
|
||||
);
|
||||
sendText.embed = embed;
|
||||
break;
|
||||
default:
|
||||
sendText.text = `${args[0]} is not a valid subcommand.\nSee \`${prefix}help fm\` for more info.`;
|
||||
break;
|
||||
|
@ -51,4 +77,4 @@ module.exports = {
|
|||
message.channel.send(sendText.text.replaceAll("<prefix>", prefix));
|
||||
}
|
||||
}
|
||||
};
|
||||
};
|
Loading…
Add table
Add a link
Reference in a new issue