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
