Kitty
A homemade Discord bot for a pop fan community: lyric blind tests, album roles and artist news.
- Context
- Personal project
- Platform
- Discord
- Code
- Private repository
The project
Kitty runs a Discord server for pop fans, built around Taylor Swift, Sabrina Carpenter, Gracie Abrams, Olivia Rodrigo and Conan Gray. It's my biggest personal project, and the one that mixes code and music the most.
It's written in TypeScript with discord.js. Lyrics come from the Genius API, and a script builds the catalog from the official album tracklists: 666 songs across 44 albums.
Tech stack
- TypeScript
- Node.js
- Discord.js
- API Genius
- Cheerio
Kitty's source code isn't public.
The features
Lyric blind test
/guess shows a few lines of a song: the first to find the title wins. Pick the artists, the albums and the number of lines.
Duel mode
Challenge another member: only the two players can answer. Win streaks get announced, all the way up to “LÉGENDAIRE”.
Hints and near misses
Artist, album, hangman or an extra line. An almost-right answer is detected using Levenshtein distance.
Fill in the lyrics
/fill hides words in a snippet, with three difficulty levels and letter or syllable hints.
Album roles
Buttons with the server's emojis to pick your favorite albums and get the matching role.
Server life
A welcome message in French or English, a bilingual question of the day, new Instagram post alerts, and a “Listening to” status that changes every 5 minutes.
On the server
Two messages as Kitty displays them on Discord, recreated in HTML.