Changelog

What changed, basically.

v7.5.0June 18, 2026
  • Auto-moderation engine — spam detection, mass mention protection, excessive caps enforcement, link blocking, and configurable banned words filter with automatic moderation actions
  • New commands: /about, /userinfo, /serverinfo (Utility category) — bot info, user profile inspection, and full server details
  • New configuration subcommands: /configure automod, automod_spam, automod_mentions, automod_caps, automod_links, automod_words, automod_banned_words — full toggle control for each auto-mod feature
  • Owner-only /data-deletion command for GDPR-compliant user data wipes across all database tables
  • In-memory caching system for guild stats, reducing database queries across commands and the API server
  • Website updated to reflect all 70+ commands, new auto-mod features, and expanded configuration options
v7.4.0June 17, 2026
  • Fixed TypeScript compilation errors across 30+ source files — type mismatches, unused imports, incorrect enum patterns resolved
  • Fixed Docker build failing on multiline ENV and trailing backslash syntax in Dockerfile
  • Fixed postinstall script failure in Docker (bash not found in alpine-slim image — switched to node:20-slim)
  • Fixed Drizzle ORM schema: $default replaced with default(), $exists replaced with raw SQL subquery
  • Fixed gambling payout calculation — was overpaying 3x the intended amount on wins
  • Fixed random range off-by-one errors in /search, /fish, /mine, /gamble, /slots, /blackjack
  • Fixed level-role string comparison causing incorrect role assignments on level-up
  • Fixed SQLite date parsing — new Date(dbDate) replaced with manual date string parsing for SQLite date format
  • Fixed SQL injection vulnerability in API stats endpoint — table names now validated against strict allowlist
  • Fixed Response/Request serialization of bigint, Date, Map, Set, and Buffer types in API responses
  • Fixed double .where() clause in ticket database query — merged into single chained filter
  • Node.js version bumped to 20 in Dockerfile for compatibility
  • Switched from bun to npm as package manager in Docker build for lockfile consistency
  • Added global JSON serializer patch for BigInt, Date, Map, Set, and Buffer in API server
  • Website revamp — refreshed landing page hero, feature cards, and command previews
v7.3.0June 13, 2026
  • Discord.js sharding via ShardingManager with auto-scaling — bot spawns shards based on guild count
  • Shard count displayed on the status page and in /stats command
  • Each shard reports stats (guilds, users, commands, latency) via IPC every 15 seconds
  • Removed dashboard page and all OAuth routes (no longer needed)
  • Removed guild config API endpoints and OAuth helper
  • Dashboard link removed from all navigation bars across the site
  • Added page fade-in animation and staggered card slide-up effects across the site
  • Mobile nav and desktop nav now have hover/active transform transitions
v7.2.0June 13, 2026
  • Status webhook now broadcasts live stats to Discord every 5 minutes
  • Fixed status webhook sending 0 values on startup — moved send to ClientReady event
  • Guild join/leave now triggers a status webhook update
  • Status page shows DB connection status (green/rose dot) and "last updated" timestamp
  • Added rate limiting (100 req/min per IP) to all API endpoints
  • Added security headers (X-Content-Type-Options, X-Frame-Options, X-XSS-Protection, Referrer-Policy)
  • Limited JSON body size to 32KB on all API endpoints
  • Whitelisted allowed config fields in dashboard save endpoint — only 10 fields accepted
  • Fixed OAuth CSRF — state parameter now validated on callback with 5-minute TTL
  • Sanitized guild name display in dashboard against XSS (HTML entity encoding)
  • Cached DB health check — rechecks every 30 seconds instead of every poll
  • Bot approved on discords.com — link added to all footers and home page hero
  • Discords.com vote webhook endpoint with API key and webhook secret configured
  • GitHub URL updated to watispro5212/PulseKeep
  • Discord invite updated to b9HBphyeuP
  • Social links and toast notifications added to all website pages
  • Support server blueprint (server.md) — complete channel-by-channel guide
  • 48 channel sections with descriptions, permission tables, and starter messages
  • Category permission defaults for all 11 categories (START HERE through ARCHIVE)
  • Detailed FAQ section with 18 collapsed Q&A entries
  • Embed color reference guide for all bot responses
  • Economy cooldown reference table with all command timers
  • Voting explanation — DBL integration workflow
  • Expanded ticket workflow with troubleshooting table and panel setup
  • Expanded moderation guide with command permissions table
  • Auto-mod testing scenarios with expected behavior
  • Fixed welcome messages not sending when channel wasn't cached
  • Fixed mod log delivery when guild/channel wasn't cached
  • Welcome events now logged to configured mod log channel
  • Error logging added to welcome and log delivery (no more silent failures)
  • /data-deletion command added (owner/co-owner only) for GDPR-compliant user data wipes
  • FAQ section in server.md shortened for easier pasting into Discord
v7.1.0June 12, 2026
  • /search now has a 15-minute cooldown (was an infinite money exploit)
  • /fish and /mine now show precise cooldown remaining time instead of "wait a moment"
  • All moderation commands now show the actual error message on failure instead of generic "Failed to..."
  • Ban/kick/mute/unmute/softban/warn now tell the moderator when the user couldn't be DMed
  • DM failure no longer silently swallowed — footer note added to moderation embeds
  • /role add now warns if user already has the role; /role remove warns if they don't
  • /configure ticket_category now validates the channel is a category type
  • Fixed duplicate /vote entry in help command economy category
  • /vote command now handles DBL API errors gracefully (tells user if check is unavailable)
  • DB error handling added to economy commands (daily, work, vote) — no more silent crashes
  • Balance shown after every economy transaction (daily, work, fish, mine, search, blackjack)
  • /clearwarns now has confirmation buttons to prevent accidental data loss
  • /inventory now shows active XP Boost and Lucky Clover status
  • Economy commands now use try/catch for graceful DB error handling
v7.0.0June 2026
  • Complete TypeScript rewrite — 50+ slash commands
  • New economy system: daily streaks, blackjack, slots, fishing, mining
  • Moderation suite with warnings, mute, ban, purge, lockdown
  • Button-based ticket system with private channels
  • PostgreSQL database with Drizzle ORM
  • Express API server with real-time stats
  • Redesigned website
v6.0.0May 2026
  • Original Go version with basic moderation and ticket features