Skip to main content
Freesona splits its features into core modules that always load and optional modules you can enable or disable at runtime. No restart and no config file edits are required. Use /module commands directly in Discord to control what is active. Enabled/disabled state is saved to config.json and survives restarts automatically.

Module Types

Core modules are always loaded and cannot be toggled: Optional modules are toggleable at runtime:

Commands

Manage optional modules with these slash commands: Module names support autocomplete in Discord. Start typing and the bot suggests matching names.
All /module commands require Administrator permission.
The mvsep module requires ytdlp to be enabled. The bot enforces this dependency at runtime. Attempting to enable mvsep while ytdlp is disabled, or to disable ytdlp while mvsep is active, will raise an error.

Module State Persistence

  • Enabled/disabled state is stored in config.json under the enabled_modules key.
  • State persists across bot restarts. You only need to configure it once.
  • When you enable or disable a module, Freesona automatically re-syncs slash commands so Discord’s command list stays accurate.

Example Workflow

  1. Check what’s running. Run /module list to see every optional module’s current enabled state and whether it is loaded in memory.
  2. Disable a module you don’t need. Run /module disable hello to unload the hello module. The bot confirms the unload and re-syncs slash commands.
  3. Verify the change. Run /module list again. hello should now show as disabled.
  4. Re-enable it. Run /module enable hello to load it back. Slash commands are re-synced automatically.