Releases: marlovestocode/Synapse-Base
Release list
Synapse V1
Hey everyone! I'm excited to share my new Discord bot handler with you. This project took me just one day to create, so there might be some bugs lurking around. Please don't hesitate to let me know if you encounter any issues or have suggestions for additional features!
Features
Cooldowns: Easily set cooldowns for commands.
Example: Cooldown: ["5"] (or any number you prefer)
Permissions: Set required permissions for commands.
Example: perms: ["Administrator"] (or any other permission)
Guild Only: Restrict commands to guild use or allow them in DMs.
Example: guildOnly: true/false
Dev Only: Limit certain commands to developers.
Example: devOnly: true/false (uses IDs from your config.json)
Analytics: Tracks command usage, users, and guilds (set to dev-only by default)
Prefix Handler: Manages command prefixes
Synapse V5
Changelog — Synapse V5
Dashboard
- Complete Overhaul: Revamped and optimized for speed and features.
- New Theme: Dark, professional theme replacing the vibrant purple.
- Command Management: Improved API reliability and added prefix command support for customization.
- Subfolder Support: Better organization of commands.
Servers Page
- Redesigned Layout: Fresh look with enhanced usability.
- Quick Deployment: "Add to Server" button for easy bot integration.
- Guild Insights: Detailed statistics including:
- Total text, voice, category, and thread channels accessible by the bot.
- Breakdown of small, medium, and large servers.
- Detection of partnered and verified servers.
- Total premium tier 3 servers and combined server boost count.
- Improved Channel Display: Retains previous data for better continuity.
New: Complete Command Management
- Command Refresh: Refresh commands at will.
- Command Toggles: Enable/disable specific commands.
- Synapse Flags: Enable Synapse-specific command flags.
- Expanded Command View: Assign commands to categories for better organization.
New: Console
- Live Terminal: View logs in real-time with filtering and search functionality.
- Available Commands:
help— Show available commands.stats— Display bot statistics.guilds— List connected servers.uptime— Show bot uptime.ping— Check bot latency.memory— Display memory usage details.commands— List all available commands.clear— Clear console logs.version— Show bot version information.
- Log Management: Logs are capped at 200 entries for performance.
New: Complete Base Configuration
- Hot Reload: Toggle hot reload on/off.
- Dashboard & Logging: Enable/disable dashboard, command logging, and database system.
- Maintenance Mode: Restrict bot access to owners and developers.
- Rate Limits: Configure custom rate limits for user command usage.
- Global Cooldown: Set a global command cooldown affecting all servers and users.
- Auto-Recovery: Adjust auto-recovery attempts for crash detection and self-restart.
- Bot Appearance: Fully customizable settings including custom status, online status toggle, and DM responses.
- Remote Shutdown: Securely shut down the bot using a hashed security code.
- User Management: Manage owners, developers, whitelisted, and blacklisted users.
- Two-Factor Authentication: Added security for bot startup.
- Database Backup: Local backup system with import/export functionality.
New: Logs Section
- Centralized Logs: View all logs in one place.
- Filtering: Filter logs by type.
- Persistence: Logs persist for one hour before automatic deletion.
- Management Options:
- Delete individual logs.
- Clear logs in bulk.
- Export logs to a
.txtfile.
Sidebar Enhancements
- Real-Time Stats: Display uptime, memory usage, and bot ping.
Core Updates
- Dynamic Command Fix: Resolved issue with outdated commands persisting.
- Optimized Caching: Improved storage and memory leak prevention.
- Hidden Commands: Added
hidden: trueproperty to command interactions. - Backup Manager: New system for database handling.
- Status Manager: Customizable bot presence.
- DbConnector Optimization: Improved performance and efficiency.
- Config Cleanup: Removed unnecessary fields (
dashboardURL,clientSecret,ownerID,developerIDs). - Package Checker Rewrite: Faster and supports multiple package managers (
npm,yarn,pnpm). - Hot Reload Overhaul: Integrated with dynamic command loader.
- Data Storage Migration: Switched from JSON to SQLite (
dashboard.db). - Component Restriction: Added
interactionUserOnly: trueto restrict component usage to the interaction user. - Anti-Crash Fix: Resolved critical issue with the bot restart system.
Quality of Life Improvements
- Startup Sequence: Separated into distinct loading phases.
- Synapse ASCII Art: Displays version and credits on startup.
- Intent Checker: Improved with partial support.
- Multi-Bot Support: Added support for managing multiple bots.
This was a massive update, so expect some bugs. Please report them!
Synapse V5 is finally here — major improvements across the board. Enjoy the new features, optimizations, and enhanced control over your bot’s functionality.
Synapse V4
Changelog
Changes
- Removed HotReload for commands
Will be added back in V5, currently causing too many issues. Still available for everything else. - New utils paths for better readability.
- Removed Package Checker
Full system rewrite planned for V5. - Login improvement: No longer requires
ClientID. - Config validation system
If required fields are missing, you'll be prompted in the terminal. - Dynamic Command Registration
Implemented and tested, but may still contain bugs. Please report any issues. - Rewrote
index.js
Necessary for the auto restarter, looks a bit funky but functional. - Owner-only dashboard
Can be shared with friends using Live Share. Ensure it runs onlocalhost:3000when sharing.
Bug Fixes
- Auto Restarter
Fixed breaking bug where token was not provided. Restarts properly now. - IntentChecker update
Added support for prefixes. Will automatically addMessageContentandGuildMessagesif prefix commands are used.
That’s it for now! It’s tough to keep track of all the changes, so please report any issues you find.
Synapse V3
Synapse Base v3 - Advanced Systems Update
Major Enhancements
- Advanced Caching System – multiple cache strategies for different use cases
- Automatic Intent Detection – no need to manually configure most intents
- Command Aliasing Support – easier command access with custom aliases
- Template Generation System – quickly scaffold commands, events, and utilities
- Role Management Utilities – streamlined role hierarchy and permissions handling
- Hot Reload Improvements – safer reloads with memory leak prevention
- Enhanced Logging System – cleaner output with improved formatting and color scheme
Other Changes
- Fixed
utils/Cache/Cache.js, optimized memory usage - Fixed minor bug in
utils/ComponentHandler.jsnot updating component cache - Rewrote
utils/HotReload.jsto avoid memory leaks - Rewrote
utils/DBConnector.jsto handle MongoDB and SQLite more efficiently - Added
utils/timedCachefor efficient memory management - Added
utils/RoleUtilsfor role hierarchy management - Modified
utils/Logger.jswith improved formatting - Fixed bug in
utils/PackageChecker.jsinvolving npm installs - Logs now use new color scheme for better visibility
Caching System FAQ
Q: How do the different caches work?
There are three types:
- TimedCache – auto-expires after a set duration
- LRUCache – limited by size, automatically evicts oldest entries
- ExpiryMap – allows custom expiration dates
Q: Can I use multiple cache types?
Yes. Each serves different purposes:
- Use TimedCache for temporary data
- Use LRUCache for limited storage
- Use ExpiryMap for scheduled deletions
Synapse V2
Synapse Base v2 - The Overhaul Update
Major Features
- Hot Reload System – Live code updates without bot restarts
- Database Integration – MongoDB and SQLite support with automatic setup
- Package Management – Automatic dependency handling and cleanup
Systems & Architecture
Process Management
const MAX_RECONNECT_ATTEMPTS = 5;
const RECONNECT_INTERVAL = 5000;
const attemptReconnect = () => {
if (reconnectAttempts < MAX_RECONNECT_ATTEMPTS) {
reconnectAttempts++;
console.log(`Attempting to reconnect... (${reconnectAttempts}/${MAX_RECONNECT_ATTEMPTS})`);
}
}- Auto-reconnection with configurable attempts
- Graceful shutdown handling
- Enhanced error catching
Command System Overhaul
if (command.devGuild) {
guildCommands.push(command.data.toJSON());
} else {
globalCommands.push(command.data.toJSON());
}- Split between global/guild commands
- Dev guild support
- Improved validation
Component Architecture
client.componentsByType = new Map();
const usedCustomIds = new Set();
if (usedCustomIds.has(component.customId)) {
client.logs.error(`Duplicate customId "${component.customId}" found. Component IDs must be unique.`);
}- Type categorization
- CustomId conflict prevention
- Improved validation
Performance & Reliability
- Optimized command registration
- Enhanced error boundaries
- Memory leak prevention
- Improved file handling
Developer Experience
Enhanced Logging
const logLevels = new Map([
['database', { color: colors.fg.orange, label: "DATABASE" }],
['startup', { color: colors.fg.purple, label: "STARTUP" }],
['hotReload', { color: colors.fg.white, label: "HOTRELOAD" }]
]);- New log types and categories
- Color-coded outputs
- Better timestamp formatting
Debug Features
- Component tracking
- Database connection monitoring
Bug Fixes
- Fixed command cooldown memory leaks
- Resolved component registration conflicts
- Fixed event handler memory issues
- Improved error catching in interaction handling
Migration Notes
- Database configuration required in
config.json - New folder structure for components
- Updated event handling implementation