Repository files navigation

Synapse V5

Overview

Synapse V5 is a modular, extensible, and highly customizable Discord bot and dashboard system designed for advanced users and developers who want full control over bot commands, event handling, dashboard management, and data persistence.


Table of Contents


Features

Advanced Command System

  • Hot-reloadable commands with automatic state tracking
  • Command aliases support
  • Granular permission controls
  • Cooldown management
  • Guild-only and owner-only restrictions
  • Command categories

Interactive Dashboard

  • Real-time command management
  • Live command enabling/disabling
  • Command settings modification
  • Search and filtering
  • Command statistics

Robust Event System

  • Custom event listeners
  • Interaction handling (Buttons, Menus, Modals)
  • Error tracking and reporting

Security & Database

  • SQLite with prepared statements
  • Permission validation
  • Settings management

Development Tools

  • Hot Module Reloading
  • Template generation for rapid development
  • Detailed logging system
  • Environment validation

Installation

Prerequisites

  • Node.js v18+
  • npm (comes with Node.js)
  • Discord Bot Token

Setup Steps

Important: Before anything, run npm init in the console and spam through the prompts.

  1. Start the setup process:

    node .
  2. Follow the prompts:

    • Enter prefix: Common prefix is !
    • Enter dashboardPort: Typical port is 3000
    • Enter bot token: Your Discord bot token
    • Enter package manager: Common is npm
  3. Access your dashboard: After setup, Ctrl+LeftClick the https://localhost:yourport link


Directory Structure

synapse-v5/
├── config.json
├── index.js
├── package.json
├── backups/
├── commands/ # Bot commands by category
├── components/ # UI components (buttons, menus, modals)
├── dashboard/ # Web dashboard server and assets
├── events/ # Discord event listeners
├── prefix/ # Command prefix configuration
└── utils/ # Core utilities and helpers

Creating Commands

Commands are automatically generated using the TemplateGen utility. Place command files in the commands/ directory organized by category.

Command Structure

module.exports={data: newSlashCommandBuilder().setName('command').setDescription('Command description'),category: 'Category',cooldown: 5,// secondsguildOnly: true,// server only commanddevOnly: false,// developer only commandpermission: 'MANAGE_MESSAGES',// required permission, supports both V13 and V14 syntaxalias: ['cmd','cm'],// command aliasesexecute: async(interaction)=>{// Command logic}};

Command Features

  • Hot Reloading: Modify and reload without restarting
  • State Tracking: Changes tracked using CRC32 hashing
  • Aliases: Multiple names for the same command
  • Restrictions: Guild-only, owner-only, permission-based access
  • Cooldowns: Per-command and global management
  • Categories: Organize by function/purpose

Creating Events

Events are automatically generated using the TemplateGen utility. The template generator will create the basic structure for you.

Event Structure

constdb=require('../../dashboard/server/database/DB');const{ ChannelType }=require('discord.js');module.exports={event: "eventName",once: false,asyncexecute(message,client){}};

Template Generated Events

The TemplateGen utility automatically generates event templates:

module.exports={name: '${name}',once: false,asyncexecute(client, ...args){client.logs.event(`${name} event fired`);}};

Event Properties

  • event/name: The Discord.js event name
  • once: Whether the event should only fire once
  • execute: The function that runs when the event is triggered

Creating Components

Components handle UI interactions like buttons, select menus, and modals. The TemplateGen utility automatically generates component templates.

Component Structure

module.exports={customId: 'componentid',asyncexecute(interaction,client){awaitinteraction.reply('Component activated!');}};

Component Types

  • Buttons: Interactive buttons in messages
  • Select Menus: Dropdown selection menus
  • Modals: Pop-up forms for user input

Template Generation

The TemplateGen utility creates these components automatically with proper structure and error handling.


Dashboard

The dashboard provides a comprehensive web interface for bot management.

Features

Command Management:

  • Real-time command toggling
  • Settings modification
  • Command reloading
  • Category filtering
  • Search functionality
  • Statistics tracking

Interface:

  • Modern, responsive design
  • Dark theme
  • Interactive modals
  • Toast notifications
  • Loading indicators

API Endpoints:

  • /api/commands/:name/settings - Update command settings
  • /api/commands/:path/reload - Reload specific commands
  • /api/commands/refresh - Refresh all commands
  • /api/shutdown - Graceful shutdown

Database

  • SQLite database at dashboard/server/database/dashboard.db
  • Schema in dashboard/server/database/dashboard.sql
  • Access via DB.js utility
  • Prepared statements for security and performance

Development Tools

Template Generation

The TemplateGen utility (utils/TemplateGen.js) automatically generates:

  • Command templates with proper structure
  • Event listeners with error handling
  • Component handlers with interaction logic
  • Database schemas and utilities

Hot Reloading

  • HotReloader for live updates without restarts
  • Command hash tracking for change detection
  • State persistence across reloads

Logging System

  • Detailed logging with multiple levels
  • Error tracking with unique IDs
  • Color-coded console output
  • File logging for persistence

Backup & Restore

Backups include:

  • Configuration files
  • Database
  • Custom commands and events
  • Dashboard settings

Troubleshooting

Common Issues

Bot not starting:

  • Verify bot token in config.json
  • Check Node.js version (v18+ required)

Dashboard not loading:

  • Ensure port is available
  • Check firewall settings
  • Verify dependencies installed

Database errors:

  • Check SQLite file permissions
  • Verify schema integrity
  • Ensure database directory exists

Debugging Tools

  • Console logs with detailed error information
  • Environment checks via EnvironmentCheck.js
  • Package validation via PackageChecker.js
  • Intent verification via IntentChecker.js

Credits

-- Developed by Ghost!

About

No description, website, or topics provided.

Resources

Stars

5 stars

Watchers

2 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Add copy buttons to all
 blocks\n(function() {\n function addCopyButtons() {\n document.querySelectorAll('pre code').forEach(function(codeBlock) {\n if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;\n codeBlock.parentElement.setAttribute('data-copy-added', 'true');\n \n var btn = document.createElement('button');\n btn.textContent = 'Copy';\n btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';\n btn.onmouseover = function() { this.style.opacity = '1'; };\n btn.onmouseout = function() { this.style.opacity = '0.7'; };\n btn.onclick = function() {\n navigator.clipboard.writeText(codeBlock.textContent).then(function() {\n btn.textContent = 'Copied!';\n setTimeout(function() { btn.textContent = 'Copy'; }, 1500);\n });\n };\n codeBlock.parentElement.style.position = 'relative';\n codeBlock.parentElement.appendChild(btn);\n });\n }\n \n addCopyButtons();\n \n // Re-run on dynamic content\n var observer = new MutationObserver(addCopyButtons);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Add Copy Buttons to Code Blocks");
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Skip to content

Repository files navigation

Synapse V5

Overview

Synapse V5 is a modular, extensible, and highly customizable Discord bot and dashboard system designed for advanced users and developers who want full control over bot commands, event handling, dashboard management, and data persistence.


Table of Contents


Features

Advanced Command System

  • Hot-reloadable commands with automatic state tracking
  • Command aliases support
  • Granular permission controls
  • Cooldown management
  • Guild-only and owner-only restrictions
  • Command categories

Interactive Dashboard

  • Real-time command management
  • Live command enabling/disabling
  • Command settings modification
  • Search and filtering
  • Command statistics

Robust Event System

  • Custom event listeners
  • Interaction handling (Buttons, Menus, Modals)
  • Error tracking and reporting

Security & Database

  • SQLite with prepared statements
  • Permission validation
  • Settings management

Development Tools

  • Hot Module Reloading
  • Template generation for rapid development
  • Detailed logging system
  • Environment validation

Installation

Prerequisites

  • Node.js v18+
  • npm (comes with Node.js)
  • Discord Bot Token

Setup Steps

Important: Before anything, run npm init in the console and spam through the prompts.

  1. Start the setup process:

    node .
  2. Follow the prompts:

    • Enter prefix: Common prefix is !
    • Enter dashboardPort: Typical port is 3000
    • Enter bot token: Your Discord bot token
    • Enter package manager: Common is npm
  3. Access your dashboard: After setup, Ctrl+LeftClick the https://localhost:yourport link


Directory Structure

synapse-v5/
├── config.json
├── index.js
├── package.json
├── backups/
├── commands/ # Bot commands by category
├── components/ # UI components (buttons, menus, modals)
├── dashboard/ # Web dashboard server and assets
├── events/ # Discord event listeners
├── prefix/ # Command prefix configuration
└── utils/ # Core utilities and helpers

Creating Commands

Commands are automatically generated using the TemplateGen utility. Place command files in the commands/ directory organized by category.

Command Structure

module.exports={data: newSlashCommandBuilder().setName('command').setDescription('Command description'),category: 'Category',cooldown: 5,// secondsguildOnly: true,// server only commanddevOnly: false,// developer only commandpermission: 'MANAGE_MESSAGES',// required permission, supports both V13 and V14 syntaxalias: ['cmd','cm'],// command aliasesexecute: async(interaction)=>{// Command logic}};

Command Features

  • Hot Reloading: Modify and reload without restarting
  • State Tracking: Changes tracked using CRC32 hashing
  • Aliases: Multiple names for the same command
  • Restrictions: Guild-only, owner-only, permission-based access
  • Cooldowns: Per-command and global management
  • Categories: Organize by function/purpose

Creating Events

Events are automatically generated using the TemplateGen utility. The template generator will create the basic structure for you.

Event Structure

constdb=require('../../dashboard/server/database/DB');const{ ChannelType }=require('discord.js');module.exports={event: "eventName",once: false,asyncexecute(message,client){}};

Template Generated Events

The TemplateGen utility automatically generates event templates:

module.exports={name: '${name}',once: false,asyncexecute(client, ...args){client.logs.event(`${name} event fired`);}};

Event Properties

  • event/name: The Discord.js event name
  • once: Whether the event should only fire once
  • execute: The function that runs when the event is triggered

Creating Components

Components handle UI interactions like buttons, select menus, and modals. The TemplateGen utility automatically generates component templates.

Component Structure

module.exports={customId: 'componentid',asyncexecute(interaction,client){awaitinteraction.reply('Component activated!');}};

Component Types

  • Buttons: Interactive buttons in messages
  • Select Menus: Dropdown selection menus
  • Modals: Pop-up forms for user input

Template Generation

The TemplateGen utility creates these components automatically with proper structure and error handling.


Dashboard

The dashboard provides a comprehensive web interface for bot management.

Features

Command Management:

  • Real-time command toggling
  • Settings modification
  • Command reloading
  • Category filtering
  • Search functionality
  • Statistics tracking

Interface:

  • Modern, responsive design
  • Dark theme
  • Interactive modals
  • Toast notifications
  • Loading indicators

API Endpoints:

  • /api/commands/:name/settings - Update command settings
  • /api/commands/:path/reload - Reload specific commands
  • /api/commands/refresh - Refresh all commands
  • /api/shutdown - Graceful shutdown

Database

  • SQLite database at dashboard/server/database/dashboard.db
  • Schema in dashboard/server/database/dashboard.sql
  • Access via DB.js utility
  • Prepared statements for security and performance

Development Tools

Template Generation

The TemplateGen utility (utils/TemplateGen.js) automatically generates:

  • Command templates with proper structure
  • Event listeners with error handling
  • Component handlers with interaction logic
  • Database schemas and utilities

Hot Reloading

  • HotReloader for live updates without restarts
  • Command hash tracking for change detection
  • State persistence across reloads

Logging System

  • Detailed logging with multiple levels
  • Error tracking with unique IDs
  • Color-coded console output
  • File logging for persistence

Backup & Restore

Backups include:

  • Configuration files
  • Database
  • Custom commands and events
  • Dashboard settings

Troubleshooting

Common Issues

Bot not starting:

  • Verify bot token in config.json
  • Check Node.js version (v18+ required)

Dashboard not loading:

  • Ensure port is available
  • Check firewall settings
  • Verify dependencies installed

Database errors:

  • Check SQLite file permissions
  • Verify schema integrity
  • Ensure database directory exists

Debugging Tools

  • Console logs with detailed error information
  • Environment checks via EnvironmentCheck.js
  • Package validation via PackageChecker.js
  • Intent verification via IntentChecker.js

Credits

-- Developed by Ghost!

About

No description, website, or topics provided.

Resources

Stars

5 stars

Watchers

2 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Force GitHub README to respect dark mode\n(function() {\n var style = document.createElement('style');\n style.textContent = '\n .markdown-body {\n color-scheme: dark light;\n }\n .markdown-body pre { background: #161b22 !important; }\n .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; }\n .markdown-body table th, .markdown-body table td { border-color: #30363d !important; }\n .markdown-body img { background: #0d1117; }\n .markdown-body blockquote { border-left-color: #8b949e; }\n .markdown-body hr { border-color: #30363d; }\n ';\n document.head.appendChild(style);\n})();", "GitHub Dark Mode README Fix"); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

Synapse V5

Overview

Synapse V5 is a modular, extensible, and highly customizable Discord bot and dashboard system designed for advanced users and developers who want full control over bot commands, event handling, dashboard management, and data persistence.


Table of Contents


Features

Advanced Command System

  • Hot-reloadable commands with automatic state tracking
  • Command aliases support
  • Granular permission controls
  • Cooldown management
  • Guild-only and owner-only restrictions
  • Command categories

Interactive Dashboard

  • Real-time command management
  • Live command enabling/disabling
  • Command settings modification
  • Search and filtering
  • Command statistics

Robust Event System

  • Custom event listeners
  • Interaction handling (Buttons, Menus, Modals)
  • Error tracking and reporting

Security & Database

  • SQLite with prepared statements
  • Permission validation
  • Settings management

Development Tools

  • Hot Module Reloading
  • Template generation for rapid development
  • Detailed logging system
  • Environment validation

Installation

Prerequisites

  • Node.js v18+
  • npm (comes with Node.js)
  • Discord Bot Token

Setup Steps

Important: Before anything, run npm init in the console and spam through the prompts.

  1. Start the setup process:

    node .
  2. Follow the prompts:

    • Enter prefix: Common prefix is !
    • Enter dashboardPort: Typical port is 3000
    • Enter bot token: Your Discord bot token
    • Enter package manager: Common is npm
  3. Access your dashboard: After setup, Ctrl+LeftClick the https://localhost:yourport link


Directory Structure

synapse-v5/
├── config.json
├── index.js
├── package.json
├── backups/
├── commands/ # Bot commands by category
├── components/ # UI components (buttons, menus, modals)
├── dashboard/ # Web dashboard server and assets
├── events/ # Discord event listeners
├── prefix/ # Command prefix configuration
└── utils/ # Core utilities and helpers

Creating Commands

Commands are automatically generated using the TemplateGen utility. Place command files in the commands/ directory organized by category.

Command Structure

module.exports={data: newSlashCommandBuilder().setName('command').setDescription('Command description'),category: 'Category',cooldown: 5,// secondsguildOnly: true,// server only commanddevOnly: false,// developer only commandpermission: 'MANAGE_MESSAGES',// required permission, supports both V13 and V14 syntaxalias: ['cmd','cm'],// command aliasesexecute: async(interaction)=>{// Command logic}};

Command Features

  • Hot Reloading: Modify and reload without restarting
  • State Tracking: Changes tracked using CRC32 hashing
  • Aliases: Multiple names for the same command
  • Restrictions: Guild-only, owner-only, permission-based access
  • Cooldowns: Per-command and global management
  • Categories: Organize by function/purpose

Creating Events

Events are automatically generated using the TemplateGen utility. The template generator will create the basic structure for you.

Event Structure

constdb=require('../../dashboard/server/database/DB');const{ ChannelType }=require('discord.js');module.exports={event: "eventName",once: false,asyncexecute(message,client){}};

Template Generated Events

The TemplateGen utility automatically generates event templates:

module.exports={name: '${name}',once: false,asyncexecute(client, ...args){client.logs.event(`${name} event fired`);}};

Event Properties

  • event/name: The Discord.js event name
  • once: Whether the event should only fire once
  • execute: The function that runs when the event is triggered

Creating Components

Components handle UI interactions like buttons, select menus, and modals. The TemplateGen utility automatically generates component templates.

Component Structure

module.exports={customId: 'componentid',asyncexecute(interaction,client){awaitinteraction.reply('Component activated!');}};

Component Types

  • Buttons: Interactive buttons in messages
  • Select Menus: Dropdown selection menus
  • Modals: Pop-up forms for user input

Template Generation

The TemplateGen utility creates these components automatically with proper structure and error handling.


Dashboard

The dashboard provides a comprehensive web interface for bot management.

Features

Command Management:

  • Real-time command toggling
  • Settings modification
  • Command reloading
  • Category filtering
  • Search functionality
  • Statistics tracking

Interface:

  • Modern, responsive design
  • Dark theme
  • Interactive modals
  • Toast notifications
  • Loading indicators

API Endpoints:

  • /api/commands/:name/settings - Update command settings
  • /api/commands/:path/reload - Reload specific commands
  • /api/commands/refresh - Refresh all commands
  • /api/shutdown - Graceful shutdown

Database

  • SQLite database at dashboard/server/database/dashboard.db
  • Schema in dashboard/server/database/dashboard.sql
  • Access via DB.js utility
  • Prepared statements for security and performance

Development Tools

Template Generation

The TemplateGen utility (utils/TemplateGen.js) automatically generates:

  • Command templates with proper structure
  • Event listeners with error handling
  • Component handlers with interaction logic
  • Database schemas and utilities

Hot Reloading

  • HotReloader for live updates without restarts
  • Command hash tracking for change detection
  • State persistence across reloads

Logging System

  • Detailed logging with multiple levels
  • Error tracking with unique IDs
  • Color-coded console output
  • File logging for persistence

Backup & Restore

Backups include:

  • Configuration files
  • Database
  • Custom commands and events
  • Dashboard settings

Troubleshooting

Common Issues

Bot not starting:

  • Verify bot token in config.json
  • Check Node.js version (v18+ required)

Dashboard not loading:

  • Ensure port is available
  • Check firewall settings
  • Verify dependencies installed

Database errors:

  • Check SQLite file permissions
  • Verify schema integrity
  • Ensure database directory exists

Debugging Tools

  • Console logs with detailed error information
  • Environment checks via EnvironmentCheck.js
  • Package validation via PackageChecker.js
  • Intent verification via IntentChecker.js

Credits

-- Developed by Ghost!

About

No description, website, or topics provided.

Resources

Stars

5 stars

Watchers

2 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Highlight search terms from Google/DuckDuckGo/Bing referrer\n(function() {\n var ref = document.referrer;\n var terms = [];\n \n if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) {\n var url = new URL(ref);\n var q = url.searchParams.get('q') || url.searchParams.get('p');\n if (q) {\n terms = q.split(/\\s+/).filter(function(t) { return t.length > 2; });\n }\n }\n \n if (terms.length === 0) return;\n \n var style = document.createElement('style');\n style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }';\n document.head.appendChild(style);\n \n function highlight(node) {\n if (node.nodeType === 3) { // text node\n var text = node.textContent;\n var found = false;\n terms.forEach(function(term) {\n var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\') + ')', 'gi');\n if (regex.test(text)) {\n found = true;\n var frag = document.createDocumentFragment();\n var parts = text.split(regex);\n parts.forEach(function(part, i) {\n if (i % 2 === 0) {\n frag.appendChild(document.createTextNode(part));\n } else {\n var span = document.createElement('span');\n span.className = 'userscript-highlight';\n span.textContent = part;\n frag.appendChild(span);\n }\n });\n node.parentNode.replaceChild(frag, node);\n }\n });\n } else if (node.nodeType === 1 && node.childNodes) { // element\n var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT'];\n if (!skipTags.includes(node.tagName)) {\n Array.from(node.childNodes).forEach(highlight);\n }\n }\n }\n \n highlight(document.body);\n \n // Re-highlight on dynamic content\n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1 || node.nodeType === 3) highlight(node);\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Highlight Search Terms"); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

Synapse V5

Overview

Synapse V5 is a modular, extensible, and highly customizable Discord bot and dashboard system designed for advanced users and developers who want full control over bot commands, event handling, dashboard management, and data persistence.


Table of Contents


Features

Advanced Command System

  • Hot-reloadable commands with automatic state tracking
  • Command aliases support
  • Granular permission controls
  • Cooldown management
  • Guild-only and owner-only restrictions
  • Command categories

Interactive Dashboard

  • Real-time command management
  • Live command enabling/disabling
  • Command settings modification
  • Search and filtering
  • Command statistics

Robust Event System

  • Custom event listeners
  • Interaction handling (Buttons, Menus, Modals)
  • Error tracking and reporting

Security & Database

  • SQLite with prepared statements
  • Permission validation
  • Settings management

Development Tools

  • Hot Module Reloading
  • Template generation for rapid development
  • Detailed logging system
  • Environment validation

Installation

Prerequisites

  • Node.js v18+
  • npm (comes with Node.js)
  • Discord Bot Token

Setup Steps

Important: Before anything, run npm init in the console and spam through the prompts.

  1. Start the setup process:

    node .
  2. Follow the prompts:

    • Enter prefix: Common prefix is !
    • Enter dashboardPort: Typical port is 3000
    • Enter bot token: Your Discord bot token
    • Enter package manager: Common is npm
  3. Access your dashboard: After setup, Ctrl+LeftClick the https://localhost:yourport link


Directory Structure

synapse-v5/
├── config.json
├── index.js
├── package.json
├── backups/
├── commands/ # Bot commands by category
├── components/ # UI components (buttons, menus, modals)
├── dashboard/ # Web dashboard server and assets
├── events/ # Discord event listeners
├── prefix/ # Command prefix configuration
└── utils/ # Core utilities and helpers

Creating Commands

Commands are automatically generated using the TemplateGen utility. Place command files in the commands/ directory organized by category.

Command Structure

module.exports={data: newSlashCommandBuilder().setName('command').setDescription('Command description'),category: 'Category',cooldown: 5,// secondsguildOnly: true,// server only commanddevOnly: false,// developer only commandpermission: 'MANAGE_MESSAGES',// required permission, supports both V13 and V14 syntaxalias: ['cmd','cm'],// command aliasesexecute: async(interaction)=>{// Command logic}};

Command Features

  • Hot Reloading: Modify and reload without restarting
  • State Tracking: Changes tracked using CRC32 hashing
  • Aliases: Multiple names for the same command
  • Restrictions: Guild-only, owner-only, permission-based access
  • Cooldowns: Per-command and global management
  • Categories: Organize by function/purpose

Creating Events

Events are automatically generated using the TemplateGen utility. The template generator will create the basic structure for you.

Event Structure

constdb=require('../../dashboard/server/database/DB');const{ ChannelType }=require('discord.js');module.exports={event: "eventName",once: false,asyncexecute(message,client){}};

Template Generated Events

The TemplateGen utility automatically generates event templates:

module.exports={name: '${name}',once: false,asyncexecute(client, ...args){client.logs.event(`${name} event fired`);}};

Event Properties

  • event/name: The Discord.js event name
  • once: Whether the event should only fire once
  • execute: The function that runs when the event is triggered

Creating Components

Components handle UI interactions like buttons, select menus, and modals. The TemplateGen utility automatically generates component templates.

Component Structure

module.exports={customId: 'componentid',asyncexecute(interaction,client){awaitinteraction.reply('Component activated!');}};

Component Types

  • Buttons: Interactive buttons in messages
  • Select Menus: Dropdown selection menus
  • Modals: Pop-up forms for user input

Template Generation

The TemplateGen utility creates these components automatically with proper structure and error handling.


Dashboard

The dashboard provides a comprehensive web interface for bot management.

Features

Command Management:

  • Real-time command toggling
  • Settings modification
  • Command reloading
  • Category filtering
  • Search functionality
  • Statistics tracking

Interface:

  • Modern, responsive design
  • Dark theme
  • Interactive modals
  • Toast notifications
  • Loading indicators

API Endpoints:

  • /api/commands/:name/settings - Update command settings
  • /api/commands/:path/reload - Reload specific commands
  • /api/commands/refresh - Refresh all commands
  • /api/shutdown - Graceful shutdown

Database

  • SQLite database at dashboard/server/database/dashboard.db
  • Schema in dashboard/server/database/dashboard.sql
  • Access via DB.js utility
  • Prepared statements for security and performance

Development Tools

Template Generation

The TemplateGen utility (utils/TemplateGen.js) automatically generates:

  • Command templates with proper structure
  • Event listeners with error handling
  • Component handlers with interaction logic
  • Database schemas and utilities

Hot Reloading

  • HotReloader for live updates without restarts
  • Command hash tracking for change detection
  • State persistence across reloads

Logging System

  • Detailed logging with multiple levels
  • Error tracking with unique IDs
  • Color-coded console output
  • File logging for persistence

Backup & Restore

Backups include:

  • Configuration files
  • Database
  • Custom commands and events
  • Dashboard settings

Troubleshooting

Common Issues

Bot not starting:

  • Verify bot token in config.json
  • Check Node.js version (v18+ required)

Dashboard not loading:

  • Ensure port is available
  • Check firewall settings
  • Verify dependencies installed

Database errors:

  • Check SQLite file permissions
  • Verify schema integrity
  • Ensure database directory exists

Debugging Tools

  • Console logs with detailed error information
  • Environment checks via EnvironmentCheck.js
  • Package validation via PackageChecker.js
  • Intent verification via IntentChecker.js

Credits

-- Developed by Ghost!

About

No description, website, or topics provided.

Resources

Stars

5 stars

Watchers

2 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Strip utm_, fbclid, gclid, etc. from all links on page\n(function() {\n var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content',\n 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid',\n 'ref', 'ref_src', 'source', 'medium', 'campaign'];\n \n function cleanUrl(url) {\n try {\n var u = new URL(url, window.location.origin);\n var changed = false;\n trackingParams.forEach(function(p) {\n if (u.searchParams.has(p)) {\n u.searchParams.delete(p);\n changed = true;\n }\n });\n return changed ? u.toString() : url;\n } catch (e) {\n return url;\n }\n }\n \n function cleanLinks() {\n document.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n \n cleanLinks();\n \n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1) {\n if (node.tagName === 'A') cleanLinks();\n node.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Remove Tracking Parameters from Links"); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
Skip to content

Repository files navigation

Synapse V5

Overview

Synapse V5 is a modular, extensible, and highly customizable Discord bot and dashboard system designed for advanced users and developers who want full control over bot commands, event handling, dashboard management, and data persistence.


Table of Contents


Features

Advanced Command System

  • Hot-reloadable commands with automatic state tracking
  • Command aliases support
  • Granular permission controls
  • Cooldown management
  • Guild-only and owner-only restrictions
  • Command categories

Interactive Dashboard

  • Real-time command management
  • Live command enabling/disabling
  • Command settings modification
  • Search and filtering
  • Command statistics

Robust Event System

  • Custom event listeners
  • Interaction handling (Buttons, Menus, Modals)
  • Error tracking and reporting

Security & Database

  • SQLite with prepared statements
  • Permission validation
  • Settings management

Development Tools

  • Hot Module Reloading
  • Template generation for rapid development
  • Detailed logging system
  • Environment validation

Installation

Prerequisites

  • Node.js v18+
  • npm (comes with Node.js)
  • Discord Bot Token

Setup Steps

Important: Before anything, run npm init in the console and spam through the prompts.

  1. Start the setup process:

    node .
  2. Follow the prompts:

    • Enter prefix: Common prefix is !
    • Enter dashboardPort: Typical port is 3000
    • Enter bot token: Your Discord bot token
    • Enter package manager: Common is npm
  3. Access your dashboard: After setup, Ctrl+LeftClick the https://localhost:yourport link


Directory Structure

synapse-v5/
├── config.json
├── index.js
├── package.json
├── backups/
├── commands/ # Bot commands by category
├── components/ # UI components (buttons, menus, modals)
├── dashboard/ # Web dashboard server and assets
├── events/ # Discord event listeners
├── prefix/ # Command prefix configuration
└── utils/ # Core utilities and helpers

Creating Commands

Commands are automatically generated using the TemplateGen utility. Place command files in the commands/ directory organized by category.

Command Structure

module.exports={data: newSlashCommandBuilder().setName('command').setDescription('Command description'),category: 'Category',cooldown: 5,// secondsguildOnly: true,// server only commanddevOnly: false,// developer only commandpermission: 'MANAGE_MESSAGES',// required permission, supports both V13 and V14 syntaxalias: ['cmd','cm'],// command aliasesexecute: async(interaction)=>{// Command logic}};

Command Features

  • Hot Reloading: Modify and reload without restarting
  • State Tracking: Changes tracked using CRC32 hashing
  • Aliases: Multiple names for the same command
  • Restrictions: Guild-only, owner-only, permission-based access
  • Cooldowns: Per-command and global management
  • Categories: Organize by function/purpose

Creating Events

Events are automatically generated using the TemplateGen utility. The template generator will create the basic structure for you.

Event Structure

constdb=require('../../dashboard/server/database/DB');const{ ChannelType }=require('discord.js');module.exports={event: "eventName",once: false,asyncexecute(message,client){}};

Template Generated Events

The TemplateGen utility automatically generates event templates:

module.exports={name: '${name}',once: false,asyncexecute(client, ...args){client.logs.event(`${name} event fired`);}};

Event Properties

  • event/name: The Discord.js event name
  • once: Whether the event should only fire once
  • execute: The function that runs when the event is triggered

Creating Components

Components handle UI interactions like buttons, select menus, and modals. The TemplateGen utility automatically generates component templates.

Component Structure

module.exports={customId: 'componentid',asyncexecute(interaction,client){awaitinteraction.reply('Component activated!');}};

Component Types

  • Buttons: Interactive buttons in messages
  • Select Menus: Dropdown selection menus
  • Modals: Pop-up forms for user input

Template Generation

The TemplateGen utility creates these components automatically with proper structure and error handling.


Dashboard

The dashboard provides a comprehensive web interface for bot management.

Features

Command Management:

  • Real-time command toggling
  • Settings modification
  • Command reloading
  • Category filtering
  • Search functionality
  • Statistics tracking

Interface:

  • Modern, responsive design
  • Dark theme
  • Interactive modals
  • Toast notifications
  • Loading indicators

API Endpoints:

  • /api/commands/:name/settings - Update command settings
  • /api/commands/:path/reload - Reload specific commands
  • /api/commands/refresh - Refresh all commands
  • /api/shutdown - Graceful shutdown

Database

  • SQLite database at dashboard/server/database/dashboard.db
  • Schema in dashboard/server/database/dashboard.sql
  • Access via DB.js utility
  • Prepared statements for security and performance

Development Tools

Template Generation

The TemplateGen utility (utils/TemplateGen.js) automatically generates:

  • Command templates with proper structure
  • Event listeners with error handling
  • Component handlers with interaction logic
  • Database schemas and utilities

Hot Reloading

  • HotReloader for live updates without restarts
  • Command hash tracking for change detection
  • State persistence across reloads

Logging System

  • Detailed logging with multiple levels
  • Error tracking with unique IDs
  • Color-coded console output
  • File logging for persistence

Backup & Restore

Backups include:

  • Configuration files
  • Database
  • Custom commands and events
  • Dashboard settings

Troubleshooting

Common Issues

Bot not starting:

  • Verify bot token in config.json
  • Check Node.js version (v18+ required)

Dashboard not loading:

  • Ensure port is available
  • Check firewall settings
  • Verify dependencies installed

Database errors:

  • Check SQLite file permissions
  • Verify schema integrity
  • Ensure database directory exists

Debugging Tools

  • Console logs with detailed error information
  • Environment checks via EnvironmentCheck.js
  • Package validation via PackageChecker.js
  • Intent verification via IntentChecker.js

Credits

-- Developed by Ghost!

About

No description, website, or topics provided.

Resources

Stars

5 stars

Watchers

2 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Auto-enable theater mode on YouTube\n(function() {\n function tryTheater() {\n var btn = document.querySelector('button[aria-label=\"Theater mode\"], ytd-player #player button[title=\"Theater mode\"]');\n if (btn && !btn.classList.contains('activated')) {\n btn.click();\n }\n }\n \n // Try immediately\n tryTheater();\n \n // Try after navigation (SPA)\n var lastUrl = location.href;\n setInterval(function() {\n if (location.href !== lastUrl) {\n lastUrl = location.href;\n setTimeout(tryTheater, 500);\n }\n }, 1000);\n \n // Also try on player load\n var observer = new MutationObserver(tryTheater);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "YouTube Theater Mode Default"); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

Synapse V5

Overview

Synapse V5 is a modular, extensible, and highly customizable Discord bot and dashboard system designed for advanced users and developers who want full control over bot commands, event handling, dashboard management, and data persistence.


Table of Contents


Features

Advanced Command System

  • Hot-reloadable commands with automatic state tracking
  • Command aliases support
  • Granular permission controls
  • Cooldown management
  • Guild-only and owner-only restrictions
  • Command categories

Interactive Dashboard

  • Real-time command management
  • Live command enabling/disabling
  • Command settings modification
  • Search and filtering
  • Command statistics

Robust Event System

  • Custom event listeners
  • Interaction handling (Buttons, Menus, Modals)
  • Error tracking and reporting

Security & Database

  • SQLite with prepared statements
  • Permission validation
  • Settings management

Development Tools

  • Hot Module Reloading
  • Template generation for rapid development
  • Detailed logging system
  • Environment validation

Installation

Prerequisites

  • Node.js v18+
  • npm (comes with Node.js)
  • Discord Bot Token

Setup Steps

Important: Before anything, run npm init in the console and spam through the prompts.

  1. Start the setup process:

    node .
  2. Follow the prompts:

    • Enter prefix: Common prefix is !
    • Enter dashboardPort: Typical port is 3000
    • Enter bot token: Your Discord bot token
    • Enter package manager: Common is npm
  3. Access your dashboard: After setup, Ctrl+LeftClick the https://localhost:yourport link


Directory Structure

synapse-v5/
├── config.json
├── index.js
├── package.json
├── backups/
├── commands/ # Bot commands by category
├── components/ # UI components (buttons, menus, modals)
├── dashboard/ # Web dashboard server and assets
├── events/ # Discord event listeners
├── prefix/ # Command prefix configuration
└── utils/ # Core utilities and helpers

Creating Commands

Commands are automatically generated using the TemplateGen utility. Place command files in the commands/ directory organized by category.

Command Structure

module.exports={data: newSlashCommandBuilder().setName('command').setDescription('Command description'),category: 'Category',cooldown: 5,// secondsguildOnly: true,// server only commanddevOnly: false,// developer only commandpermission: 'MANAGE_MESSAGES',// required permission, supports both V13 and V14 syntaxalias: ['cmd','cm'],// command aliasesexecute: async(interaction)=>{// Command logic}};

Command Features

  • Hot Reloading: Modify and reload without restarting
  • State Tracking: Changes tracked using CRC32 hashing
  • Aliases: Multiple names for the same command
  • Restrictions: Guild-only, owner-only, permission-based access
  • Cooldowns: Per-command and global management
  • Categories: Organize by function/purpose

Creating Events

Events are automatically generated using the TemplateGen utility. The template generator will create the basic structure for you.

Event Structure

constdb=require('../../dashboard/server/database/DB');const{ ChannelType }=require('discord.js');module.exports={event: "eventName",once: false,asyncexecute(message,client){}};

Template Generated Events

The TemplateGen utility automatically generates event templates:

module.exports={name: '${name}',once: false,asyncexecute(client, ...args){client.logs.event(`${name} event fired`);}};

Event Properties

  • event/name: The Discord.js event name
  • once: Whether the event should only fire once
  • execute: The function that runs when the event is triggered

Creating Components

Components handle UI interactions like buttons, select menus, and modals. The TemplateGen utility automatically generates component templates.

Component Structure

module.exports={customId: 'componentid',asyncexecute(interaction,client){awaitinteraction.reply('Component activated!');}};

Component Types

  • Buttons: Interactive buttons in messages
  • Select Menus: Dropdown selection menus
  • Modals: Pop-up forms for user input

Template Generation

The TemplateGen utility creates these components automatically with proper structure and error handling.


Dashboard

The dashboard provides a comprehensive web interface for bot management.

Features

Command Management:

  • Real-time command toggling
  • Settings modification
  • Command reloading
  • Category filtering
  • Search functionality
  • Statistics tracking

Interface:

  • Modern, responsive design
  • Dark theme
  • Interactive modals
  • Toast notifications
  • Loading indicators

API Endpoints:

  • /api/commands/:name/settings - Update command settings
  • /api/commands/:path/reload - Reload specific commands
  • /api/commands/refresh - Refresh all commands
  • /api/shutdown - Graceful shutdown

Database

  • SQLite database at dashboard/server/database/dashboard.db
  • Schema in dashboard/server/database/dashboard.sql
  • Access via DB.js utility
  • Prepared statements for security and performance

Development Tools

Template Generation

The TemplateGen utility (utils/TemplateGen.js) automatically generates:

  • Command templates with proper structure
  • Event listeners with error handling
  • Component handlers with interaction logic
  • Database schemas and utilities

Hot Reloading

  • HotReloader for live updates without restarts
  • Command hash tracking for change detection
  • State persistence across reloads

Logging System

  • Detailed logging with multiple levels
  • Error tracking with unique IDs
  • Color-coded console output
  • File logging for persistence

Backup & Restore

Backups include:

  • Configuration files
  • Database
  • Custom commands and events
  • Dashboard settings

Troubleshooting

Common Issues

Bot not starting:

  • Verify bot token in config.json
  • Check Node.js version (v18+ required)

Dashboard not loading:

  • Ensure port is available
  • Check firewall settings
  • Verify dependencies installed

Database errors:

  • Check SQLite file permissions
  • Verify schema integrity
  • Ensure database directory exists

Debugging Tools

  • Console logs with detailed error information
  • Environment checks via EnvironmentCheck.js
  • Package validation via PackageChecker.js
  • Intent verification via IntentChecker.js

Credits

-- Developed by Ghost!

About

No description, website, or topics provided.

Resources

Stars

5 stars

Watchers

2 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Remove or un-stick sticky/fixed headers that block content\n(function() {\n function unstick() {\n document.querySelectorAll('header, nav, [role=\"banner\"], .header, .navbar, .sticky, .fixed-top, [style*=\"position: fixed\"], [style*=\"position:sticky\"]').forEach(function(el) {\n if (el.style.position === 'fixed' || el.style.position === 'sticky' || \n getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') {\n el.style.position = 'static';\n el.style.top = 'auto';\n el.style.zIndex = 'auto';\n }\n });\n }\n \n unstick();\n \n var observer = new MutationObserver(unstick);\n observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] });\n})();", "Kill Sticky Headers"); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

Synapse V5

Overview

Synapse V5 is a modular, extensible, and highly customizable Discord bot and dashboard system designed for advanced users and developers who want full control over bot commands, event handling, dashboard management, and data persistence.


Table of Contents


Features

Advanced Command System

  • Hot-reloadable commands with automatic state tracking
  • Command aliases support
  • Granular permission controls
  • Cooldown management
  • Guild-only and owner-only restrictions
  • Command categories

Interactive Dashboard

  • Real-time command management
  • Live command enabling/disabling
  • Command settings modification
  • Search and filtering
  • Command statistics

Robust Event System

  • Custom event listeners
  • Interaction handling (Buttons, Menus, Modals)
  • Error tracking and reporting

Security & Database

  • SQLite with prepared statements
  • Permission validation
  • Settings management

Development Tools

  • Hot Module Reloading
  • Template generation for rapid development
  • Detailed logging system
  • Environment validation

Installation

Prerequisites

  • Node.js v18+
  • npm (comes with Node.js)
  • Discord Bot Token

Setup Steps

Important: Before anything, run npm init in the console and spam through the prompts.

  1. Start the setup process:

    node .
  2. Follow the prompts:

    • Enter prefix: Common prefix is !
    • Enter dashboardPort: Typical port is 3000
    • Enter bot token: Your Discord bot token
    • Enter package manager: Common is npm
  3. Access your dashboard: After setup, Ctrl+LeftClick the https://localhost:yourport link


Directory Structure

synapse-v5/
├── config.json
├── index.js
├── package.json
├── backups/
├── commands/ # Bot commands by category
├── components/ # UI components (buttons, menus, modals)
├── dashboard/ # Web dashboard server and assets
├── events/ # Discord event listeners
├── prefix/ # Command prefix configuration
└── utils/ # Core utilities and helpers

Creating Commands

Commands are automatically generated using the TemplateGen utility. Place command files in the commands/ directory organized by category.

Command Structure

module.exports={data: newSlashCommandBuilder().setName('command').setDescription('Command description'),category: 'Category',cooldown: 5,// secondsguildOnly: true,// server only commanddevOnly: false,// developer only commandpermission: 'MANAGE_MESSAGES',// required permission, supports both V13 and V14 syntaxalias: ['cmd','cm'],// command aliasesexecute: async(interaction)=>{// Command logic}};

Command Features

  • Hot Reloading: Modify and reload without restarting
  • State Tracking: Changes tracked using CRC32 hashing
  • Aliases: Multiple names for the same command
  • Restrictions: Guild-only, owner-only, permission-based access
  • Cooldowns: Per-command and global management
  • Categories: Organize by function/purpose

Creating Events

Events are automatically generated using the TemplateGen utility. The template generator will create the basic structure for you.

Event Structure

constdb=require('../../dashboard/server/database/DB');const{ ChannelType }=require('discord.js');module.exports={event: "eventName",once: false,asyncexecute(message,client){}};

Template Generated Events

The TemplateGen utility automatically generates event templates:

module.exports={name: '${name}',once: false,asyncexecute(client, ...args){client.logs.event(`${name} event fired`);}};

Event Properties

  • event/name: The Discord.js event name
  • once: Whether the event should only fire once
  • execute: The function that runs when the event is triggered

Creating Components

Components handle UI interactions like buttons, select menus, and modals. The TemplateGen utility automatically generates component templates.

Component Structure

module.exports={customId: 'componentid',asyncexecute(interaction,client){awaitinteraction.reply('Component activated!');}};

Component Types

  • Buttons: Interactive buttons in messages
  • Select Menus: Dropdown selection menus
  • Modals: Pop-up forms for user input

Template Generation

The TemplateGen utility creates these components automatically with proper structure and error handling.


Dashboard

The dashboard provides a comprehensive web interface for bot management.

Features

Command Management:

  • Real-time command toggling
  • Settings modification
  • Command reloading
  • Category filtering
  • Search functionality
  • Statistics tracking

Interface:

  • Modern, responsive design
  • Dark theme
  • Interactive modals
  • Toast notifications
  • Loading indicators

API Endpoints:

  • /api/commands/:name/settings - Update command settings
  • /api/commands/:path/reload - Reload specific commands
  • /api/commands/refresh - Refresh all commands
  • /api/shutdown - Graceful shutdown

Database

  • SQLite database at dashboard/server/database/dashboard.db
  • Schema in dashboard/server/database/dashboard.sql
  • Access via DB.js utility
  • Prepared statements for security and performance

Development Tools

Template Generation

The TemplateGen utility (utils/TemplateGen.js) automatically generates:

  • Command templates with proper structure
  • Event listeners with error handling
  • Component handlers with interaction logic
  • Database schemas and utilities

Hot Reloading

  • HotReloader for live updates without restarts
  • Command hash tracking for change detection
  • State persistence across reloads

Logging System

  • Detailed logging with multiple levels
  • Error tracking with unique IDs
  • Color-coded console output
  • File logging for persistence

Backup & Restore

Backups include:

  • Configuration files
  • Database
  • Custom commands and events
  • Dashboard settings

Troubleshooting

Common Issues

Bot not starting:

  • Verify bot token in config.json
  • Check Node.js version (v18+ required)

Dashboard not loading:

  • Ensure port is available
  • Check firewall settings
  • Verify dependencies installed

Database errors:

  • Check SQLite file permissions
  • Verify schema integrity
  • Ensure database directory exists

Debugging Tools

  • Console logs with detailed error information
  • Environment checks via EnvironmentCheck.js
  • Package validation via PackageChecker.js
  • Intent verification via IntentChecker.js

Credits

-- Developed by Ghost!

About

No description, website, or topics provided.

Resources

Stars

5 stars

Watchers

2 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Universal Dark Mode - works on any site\n(function() {\n var enabled = true;\n \n function applyDarkMode() {\n if (!enabled) return;\n \n // Create style element if it doesn't exist\n var style = document.getElementById('universal-dark-mode-style');\n if (!style) {\n style = document.createElement('style');\n style.id = 'universal-dark-mode-style';\n document.head.appendChild(style);\n }\n \n // Dark mode CSS - inverts colors but preserves images/video\n style.textContent = '\n /* Invert everything except media */\n html {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #1a1a2e !important;\n }\n \n /* Restore images, videos, iframes, canvas */\n img, video, iframe, canvas, svg, picture, [style*=\"background-image\"] {\n filter: invert(1) hue-rotate(180deg) !important;\n }\n \n /* Preserve specific elements that should not be inverted */\n .no-dark-mode, .no-dark-mode *,\n [data-theme=\"light\"], [data-theme=\"light\"],\n .ace_editor, .ace_editor *,\n .CodeMirror, .CodeMirror *,\n .monaco-editor, .monaco-editor *,\n .markdown-body pre, .markdown-body pre *,\n .highlight, .highlight *,\n pre code, pre code * {\n filter: none !important;\n }\n \n /* Fix common UI elements */\n .modal, .popup, .dropdown-menu, .tooltip, .popover {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #2d2d44 !important;\n border-color: #444 !important;\n }\n \n /* Scrollbars */\n ::-webkit-scrollbar { background: #1a1a2e !important; }\n ::-webkit-scrollbar-thumb { background: #444 !important; }\n ::-webkit-scrollbar-thumb:hover { background: #555 !important; }\n \n /* Selection */\n ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ';\n }\n \n function removeDarkMode() {\n var style = document.getElementById('universal-dark-mode-style');\n if (style) style.remove();\n }\n \n // Toggle with Alt+Shift+D\n document.addEventListener('keydown', function(e) {\n if (e.altKey && e.shiftKey && e.key === 'D') {\n e.preventDefault();\n enabled = !enabled;\n if (enabled) {\n applyDarkMode();\n console.log('[Universal Dark Mode] Enabled');\n } else {\n removeDarkMode();\n console.log('[Universal Dark Mode] Disabled');\n }\n }\n });\n \n // Apply on load\n applyDarkMode();\n \n // Re-apply on dynamic content\n var observer = new MutationObserver(function(mutations) {\n if (enabled && !document.getElementById('universal-dark-mode-style')) {\n applyDarkMode();\n }\n });\n observer.observe(document.head, { childList: true });\n \n console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle');\n})();", "Universal Dark Mode"); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
Skip to content

Repository files navigation

Synapse V5

Overview

Synapse V5 is a modular, extensible, and highly customizable Discord bot and dashboard system designed for advanced users and developers who want full control over bot commands, event handling, dashboard management, and data persistence.


Table of Contents


Features

Advanced Command System

  • Hot-reloadable commands with automatic state tracking
  • Command aliases support
  • Granular permission controls
  • Cooldown management
  • Guild-only and owner-only restrictions
  • Command categories

Interactive Dashboard

  • Real-time command management
  • Live command enabling/disabling
  • Command settings modification
  • Search and filtering
  • Command statistics

Robust Event System

  • Custom event listeners
  • Interaction handling (Buttons, Menus, Modals)
  • Error tracking and reporting

Security & Database

  • SQLite with prepared statements
  • Permission validation
  • Settings management

Development Tools

  • Hot Module Reloading
  • Template generation for rapid development
  • Detailed logging system
  • Environment validation

Installation

Prerequisites

  • Node.js v18+
  • npm (comes with Node.js)
  • Discord Bot Token

Setup Steps

Important: Before anything, run npm init in the console and spam through the prompts.

  1. Start the setup process:

    node .
  2. Follow the prompts:

    • Enter prefix: Common prefix is !
    • Enter dashboardPort: Typical port is 3000
    • Enter bot token: Your Discord bot token
    • Enter package manager: Common is npm
  3. Access your dashboard: After setup, Ctrl+LeftClick the https://localhost:yourport link


Directory Structure

synapse-v5/
├── config.json
├── index.js
├── package.json
├── backups/
├── commands/ # Bot commands by category
├── components/ # UI components (buttons, menus, modals)
├── dashboard/ # Web dashboard server and assets
├── events/ # Discord event listeners
├── prefix/ # Command prefix configuration
└── utils/ # Core utilities and helpers

Creating Commands

Commands are automatically generated using the TemplateGen utility. Place command files in the commands/ directory organized by category.

Command Structure

module.exports={data: newSlashCommandBuilder().setName('command').setDescription('Command description'),category: 'Category',cooldown: 5,// secondsguildOnly: true,// server only commanddevOnly: false,// developer only commandpermission: 'MANAGE_MESSAGES',// required permission, supports both V13 and V14 syntaxalias: ['cmd','cm'],// command aliasesexecute: async(interaction)=>{// Command logic}};

Command Features

  • Hot Reloading: Modify and reload without restarting
  • State Tracking: Changes tracked using CRC32 hashing
  • Aliases: Multiple names for the same command
  • Restrictions: Guild-only, owner-only, permission-based access
  • Cooldowns: Per-command and global management
  • Categories: Organize by function/purpose

Creating Events

Events are automatically generated using the TemplateGen utility. The template generator will create the basic structure for you.

Event Structure

constdb=require('../../dashboard/server/database/DB');const{ ChannelType }=require('discord.js');module.exports={event: "eventName",once: false,asyncexecute(message,client){}};

Template Generated Events

The TemplateGen utility automatically generates event templates:

module.exports={name: '${name}',once: false,asyncexecute(client, ...args){client.logs.event(`${name} event fired`);}};

Event Properties

  • event/name: The Discord.js event name
  • once: Whether the event should only fire once
  • execute: The function that runs when the event is triggered

Creating Components

Components handle UI interactions like buttons, select menus, and modals. The TemplateGen utility automatically generates component templates.

Component Structure

module.exports={customId: 'componentid',asyncexecute(interaction,client){awaitinteraction.reply('Component activated!');}};

Component Types

  • Buttons: Interactive buttons in messages
  • Select Menus: Dropdown selection menus
  • Modals: Pop-up forms for user input

Template Generation

The TemplateGen utility creates these components automatically with proper structure and error handling.


Dashboard

The dashboard provides a comprehensive web interface for bot management.

Features

Command Management:

  • Real-time command toggling
  • Settings modification
  • Command reloading
  • Category filtering
  • Search functionality
  • Statistics tracking

Interface:

  • Modern, responsive design
  • Dark theme
  • Interactive modals
  • Toast notifications
  • Loading indicators

API Endpoints:

  • /api/commands/:name/settings - Update command settings
  • /api/commands/:path/reload - Reload specific commands
  • /api/commands/refresh - Refresh all commands
  • /api/shutdown - Graceful shutdown

Database

  • SQLite database at dashboard/server/database/dashboard.db
  • Schema in dashboard/server/database/dashboard.sql
  • Access via DB.js utility
  • Prepared statements for security and performance

Development Tools

Template Generation

The TemplateGen utility (utils/TemplateGen.js) automatically generates:

  • Command templates with proper structure
  • Event listeners with error handling
  • Component handlers with interaction logic
  • Database schemas and utilities

Hot Reloading

  • HotReloader for live updates without restarts
  • Command hash tracking for change detection
  • State persistence across reloads

Logging System

  • Detailed logging with multiple levels
  • Error tracking with unique IDs
  • Color-coded console output
  • File logging for persistence

Backup & Restore

Backups include:

  • Configuration files
  • Database
  • Custom commands and events
  • Dashboard settings

Troubleshooting

Common Issues

Bot not starting:

  • Verify bot token in config.json
  • Check Node.js version (v18+ required)

Dashboard not loading:

  • Ensure port is available
  • Check firewall settings
  • Verify dependencies installed

Database errors:

  • Check SQLite file permissions
  • Verify schema integrity
  • Ensure database directory exists

Debugging Tools

  • Console logs with detailed error information
  • Environment checks via EnvironmentCheck.js
  • Package validation via PackageChecker.js
  • Intent verification via IntentChecker.js

Credits

-- Developed by Ghost!

About

No description, website, or topics provided.

Resources

Stars

5 stars

Watchers

2 watching

Forks

Releases

Packages

Contributors

Languages