| Feature | Progress |
|---|---|
Now Playing .fm — 6 embed modes, buttons, artwork |
█████████░ 95% |
| Artwork Engine — Spotify → Deezer → Apple → Last.fm | ██████████ 100% |
Who Knows .wk .wkt .wka — guild leaderboards |
████████░░ 85% |
Friends Who Knows .fwk .fwkt .fwka |
████████░░ 85% |
| Guild Crowns — steal logic, thresholds, seeding | ██████████ 100% |
Grid Charts .chart — 3×3 to 10×10, Puppeteer |
██████████ 100% |
| Top Artists / Albums / Tracks — pagination, time periods | █████████░ 90% |
| Daily Overview — day-by-day scrobble breakdown | ████████░░ 85% |
| Artist Top Tracks | ██████████ 100% |
| Taste & Compatibility | ████████░░ 85% |
| Track Details — BPM, key, audio preview voice message | ██████████ 100% |
| Friend System — add, remove, manage | █████████░ 90% |
| Delta Sync — background scrobble updates | ██████████ 100% |
Playcounts (artistplays, albumplays, trackplays) |
██████████ 100% |
Long-tail (plays, pace, milestone, discoverydate, lastlistened) |
██████████ 100% |
| Server billboard (serverartists / topalbums) | ░░░░░░░░░░ 0% |
| Genre & Country commands | ░░░░░░░░░░ 0% |
| Guild admin & configuration | █░░░░░░░░░ 10% |
| Overall core parity | ██████░░░░ ~60% |
Extras not in fmbot at all: Lavalink music playback, football live scores, Essentia audio analysis.
TypeScript · discord.js v14 · PostgreSQL + Prisma · Redis · Puppeteer · Moonlink.js v5 (Lavalink) · tsyringe · Vitest
git clone https://github.com/tvbot69/tvbot.git && cd tvbot
npm install
cp .env.example .env # fill in DISCORD_TOKEN, DATABASE_URL, LASTFM_API_KEY/SECRET
npm run db:generate && npm run db:deploy
npm run dev