A modern, feature-rich desktop application for managing Discord bots. Built with Electron and Discord.js, this control panel provides an intuitive interface for monitoring and controlling your Discord bot.
- Real-time bot status monitoring
- Start/Stop/Restart bot controls
- Server list with detailed statistics
- Command management interface
- Auto-restart capability
- Live status indicators
- Server count and member statistics
- Quick action buttons
- Real-time updates
- List of all servers the bot is in
- Detailed server information
- Member count tracking
- Role and channel information
- Server-specific settings
- Real-time log viewing
- Log level filtering (Info, Warning, Error, Debug)
- Text search functionality
- Auto-scroll option
- Export logs to file
- Save logs with filtering options
- Log file management
discord-bot-frontend/
├── src/
│ ├── app/ # Electron application
│ │ ├── main.js # Main process
│ │ ├── preload.js # Preload script
│ │ ├── renderer/ # Frontend UI
│ │ │ ├── app.js
│ │ │ ├── index.html
│ │ │ └── modules/ # UI components
│ │ │ ├── console.js
│ │ │ ├── servers.js
│ │ │ ├── settings.js
│ │ │ ├── status.js
│ │ │ └── navigation.js
│ │ ├── services/ # Application services
│ │ └── styles/ # CSS modules
│ │ ├── base.css
│ │ ├── console.css
│ │ ├── dashboard.css
│ │ ├── servers.css
│ │ ├── settings.css
│ │ └── sidebar.css
│ └── bot/ # Discord bot
│ ├── index.js # Bot entry
│ └── core/ # Bot core modules
│ ├── BotManager.js
│ ├── CommandManager.js
│ ├── EventManager.js
│ └── LogManager.js
├── docs/ # Documentation
│ └── images/ # Screenshots
├── .env.example # Environment template
├── package.json # Dependencies
└── README.md # Documentation
- Clone the repository:
git clone https://github.com/rytale/discord-bot-dashboardv10.git
cd discord-bot-frontend
- Install dependencies:
npm install
- Create a
.env
file based on.env.example
:
cp .env.example .env
- Configure your Discord bot token in
.env
:
DISCORD_BOT_TOKEN=your_bot_token_here
Start the application in development mode:
npm start
Run the bot without the UI:
npm run bot
-
Through the UI:
- Go to Settings
- Enter your bot token
- Configure other settings as needed
- Click Save
-
Through environment variables:
- Set
DISCORD_BOT_TOKEN
in.env
- Set other configuration options as needed
- Set
The application provides comprehensive logging features:
-
Viewing Logs:
- Real-time log display in the console
- Filter by log level
- Search functionality
- Auto-scroll option
-
Exporting Logs:
- Click "Export" in the console
- Select log level and time range
- Logs are saved to Downloads folder
-
Saving Logs:
- Click "Save" in the console
- Choose filtering options
- Logs are saved to application's log directory
- Main Process: Handles system operations and bot communication
- Renderer Process: Manages UI and user interactions
- Bot Core: Discord.js bot implementation
- IPC Bridge: Communication between processes
CSS is organized into modules:
base.css
: Core styles and variablessidebar.css
: Navigation stylesdashboard.css
: Dashboard componentssettings.css
: Settings panelservers.css
: Server list and detailsconsole.css
: Console and logging UI
- Create new module in
src/app/renderer/modules/
- Add styles in
src/app/styles/
- Register in
app.js
- Add IPC handlers in
main.js
if needed
-
Bot Won't Start
- Check if token is valid in settings
- Verify .env file configuration
- Check console for error messages
- Ensure no other instances are running
-
UI Not Responding
- Check DevTools console for errors
- Verify all modules are loaded
- Try clearing application cache
- Restart the application
-
Logs Not Saving
- Check write permissions for log directory
- Verify disk space availability
- Check console for file system errors
-
Connection Issues
- Verify internet connection
- Check Discord API status
- Ensure bot token has proper permissions
- Check firewall settings
-
Hot Reloading
- Use
npm run dev
for development - Changes to renderer process reload automatically
- Restart app for main process changes
- Use
-
Debugging
- Use Chrome DevTools (View > Toggle Developer Tools)
- Check main process logs in terminal
- Use logger.debug() for detailed logging
- Enable verbose mode in settings
-
Testing
- Run unit tests:
npm test
- Test bot commands separately
- Verify UI components in isolation
- Test across different platforms
- Run unit tests:
- Fork the repository
- Create a feature branch
- Commit your changes
- Push to the branch
- Create a Pull Request
- Use ES6+ features
- Follow modular design patterns
- Add comments for complex logic
- Include unit tests for new features
- Update documentation as needed
This project is licensed under the MIT License - see the LICENSE file for details.
- Discord.js team for the excellent bot framework
- Electron team for the desktop application framework
- Looking forward to future contributors! Join us in improving this project.
This is an active project and we welcome contributions! Whether you're fixing bugs, adding features, or improving documentation, check out our issues page to get started.
Join our growing community of developers and help make this Discord bot control panel even better!