Extension Manager
DexComX includes a built-in extension manager that lets you install, update, and remove BallsDex packages directly from Discord.
What is the Extension Manager?
The extension manager allows you to:
- Install packages from GitHub repositories
- Manage installed packages without editing config files
- Update packages to their latest versions
- Remove packages cleanly
Why Use It?
Before:
# Manually edit config/extra.toml
[[ballsdex.packages]]
location = "git+https://github.com/User/Package.git"
path = "package_name"
enabled = true
editable = false
Now:
Available Commands
All extension manager commands are under the m.dexadmin extension group:
- add - Install a new extension
- remove - Remove an installed extension
- list - Show all installed extensions
- update - Update an extension to latest version
Quick Example
Install a Package
DexComX will:
- Download the package via pip
- Add it to
config/extra.toml - Attempt to load the extension
- Show success or error message
List Installed Packages
Shows all packages with their URLs and status.
Update a Package
Pulls the latest version and reinstalls.
Remove a Package
Removes from config and unloads the extension.
How It Works
Installation Flow
- User runs
m.dexadmin extension add <url> - DexComX validates the git URL
- Package is downloaded via
pip install git+<url> - Entry is added to
config/extra.toml - Extension is loaded (if possible)
- Success/failure message is shown
Configuration
All changes are saved to config/extra.toml in the standard BallsDex format:
[[ballsdex.packages]]
location = "git+https://github.com/User/Package.git"
path = "package_name"
enabled = true
editable = false
Requirements
- Bot owner permissions (all
m.dexadmincommands are owner-only) - Git-based package URLs (GitHub, GitLab, etc.)
- Package must follow BallsDex package structure
Limitations
- Some packages may require a bot restart to fully activate
- Only works with git URLs (not local paths)
- Package names are auto-generated from URLs
Best Practices
- Always list first - Run
m.dexadmin extension listbefore adding - Test in development - Try new packages on a test bot first
- Keep updated - Regularly update packages with
m.dexadmin extension update - Remove unused - Clean up packages you're not using
Troubleshooting
Package won't load
Try restarting the bot. Some packages need a full restart to activate.
"Package already installed"
Use m.dexadmin extension list to see what's installed, or use update instead of add.
Permission errors
Ensure you're the bot owner. All m.dexadmin commands are owner-only.
See Also
- Add Extension - Install packages
- Remove Extension - Uninstall packages
- List Extensions - View installed packages
- Update Extension - Update to latest versions