A last.fm bot for slack which lets you link your last.fm account to the bot to view things such as your last scrobbled songs your all-time top albums/tracks/songs, view song/album/artist info, view whoknows leaderboards, get a random list of people who are currently listening to something, and get AI generated roasts or compliments based off your recent music taste.
No followers yet
Once you ship this you can't edit the description of the project, but you'll be able to add more devlogs and re-ship it as you add new features!
Mostly small changes and bug fixes.
Fixed a bug in /profile where if the specified user had no profile picture set in last.fm, it would error. This now just replaces the image with the default last.fm placeholder image. Also left a console.log in there which I forgot to remove, which I did later.
I decided to rename /song to /getsong due to there being a slash command name conflict with another app/bot, and also added 404 detection to it since itunes for some reason doesn't always find the song.
The final thing I did was add the workspace name and id to the startup message just for more clarity when debugging/working on the code.
I decided to add a basic app home tab because why not. Right now it just displays the banner, link status, your roast/compliment usage stats, a basic commands table along with a link to the full list, and that's it. I may add more insights such as daily/weekly stats later on, but I decided to keep it basic for now. Also a minor change, updated /link and /unlink mentions to be /linklastfm and /unlinklastfm instead, since I forgot to change some mentions of those commands.
Small changes, updated the slackmanifest long description to be cleaner by removing the markdown parts and making a few formatting changes. Replaced the constant 40ms delay between concurrent requests with a env variable instead, which defaults to 25ms if not found.
Finished adding the spotify links to /artist, /album and /song commands, and decided to add the apple music links as well, which was relatively easy compared to the spotify links, and doesn't require a API key as well. Tested, and works perfectly. Also decided to polish the readme a bit since I'm pretty sure I put no effort into it at all when first creating it, so I decided to polish it by replacing the basic square logo with the banner instead, adding a few badges but not too much to keep it simple, added a contributors subsection with profile images to the contributing section, and made minor changes to introduction and features sections.
I decided to get rid of the /spotify command and integrate it into /song instead, since I have no idea what I was thinking when I made that command initially. Going to do the same thing for /album and /artist and include the spotify links there as well. Might as well look into including Apple Music links as well but I'll think about that for now.
I forgot I could submit this to SOM, so I'm doing it now. Since the 2 hours, I worked on thing such as fixing the ai.hackclub.com <think> tags appearing in the roast/compliment commands, updated whoslistening to be concurrent (wasn't before for some reason), added staggering to prevent ratelimits (40ms, might lower it later to 20ms, or even make it a env variable), added nest.yml for auto updates on nest on commits, and finally added crowns for /whoknows (artists only), with crown counts/leaderboard viewable via /crownboard, though I did have to remove /ping in favor of that command but /uptime exists anyways, and I might as well just remove /uptime in favor of placing it in the home panel of the bot dms anyways, along with some other stuff. Also made a very cool banner (this took me like 3 minutes, i somehow found the font i used for the logo in 30 seconds, Lexend with bold).