Chiyoko Haruka is a feature-rich Discord bot designed to enhance your server experience with entertainment, utility, and music functionality. Built with Discord.js v14 and featuring a modern web dashboard, this bot combines reliability with extensive customization options.
- π΅ Advanced Music System - High-quality audio streaming with queue management
- π Web Dashboard - Real-time monitoring and control interface
- π οΈ Utility Commands - Server management and information tools
- π Entertainment Features - Interactive commands and content sharing
- π Resource Monitoring - Built-in performance tracking
- π Auto-restart - PM2 ecosystem for production reliability
- YouTube Integration - Stream music directly from YouTube
- Queue Management - Add, remove, and organize your playlist
- Mix Support - YouTube Mix and playlist integration
- Voice Controls - Play, pause, skip, and volume controls
- Multiple Servers - Simultaneous playback across different servers
- Download Options - Save your favorite tracks locally
Command | Description |
---|---|
/ping |
Check bot latency and response time |
/info |
Display bot information and statistics |
/serverinfo |
Get detailed server information |
/userinfo |
View user profile and statistics |
/invite |
Generate bot invite link |
Access the built-in web interface at http://localhost:3000
(or your configured port) to:
- π Monitor bot performance and resource usage
- π΅ Control music playback across servers
- π View real-time statistics and logs
- π₯οΈ Check system information and uptime
- π₯ Track active voice connections
- Node.js (v16.x or higher)
- Git
- Discord Developer Portal access
- Code editor (VSCode recommended)
-
Clone the Repository
git clone https://github.com/Harleythetech/Chiyoko-Haruka.git cd Chiyoko-Haruka
-
Install Dependencies
npm install
-
Configure Discord Application
Go to Discord Developer Portal and create a new application:
-
Generate Bot Invite Link
Navigate to OAuth2 > URL Generator and configure permissions:
Recommended Permissions:
- Read Messages/View Channels
- Send Messages
- Connect (for voice)
- Speak (for music)
- Use Slash Commands
-
Environment Configuration
Create a
.env
file in the project root:# Discord Bot Configuration TOKEN=your_bot_token_here APP_ID=your_application_id_here GUILD_ID=your_guild_id_here CHANNEL_ID=your_log_channel_id_here # Web Dashboard (Optional) PORT=3000
How to get these values:
- TOKEN: Bot section > Reset Token
- APP_ID: General Information > Application ID
- GUILD_ID: Enable Developer Mode > Right-click server > Copy ID
- CHANNEL_ID: Enable Developer Mode > Right-click channel > Copy ID
-
Deploy Commands
node CommandPush.js
npm start
# or
node index.js
Quick Start:
# Install PM2 globally
npm install -g pm2
# Start with ecosystem
pm2 start ecosystem.config.js
# View status
pm2 status
Using Helper Scripts:
# Windows users can use the provided batch files
.\start-pm2.bat # Start the bot
.\stop-pm2.bat # Stop the bot
.\pm2-manager.bat # Interactive management menu
# Process Control
pm2 start Chiyoko-Haruka # Start the bot
pm2 stop Chiyoko-Haruka # Stop the bot
pm2 restart Chiyoko-Haruka # Restart the bot
pm2 reload Chiyoko-Haruka # Zero-downtime reload
# Monitoring
pm2 status # View process status
pm2 logs Chiyoko-Haruka # View logs
pm2 monit # Resource monitor
# Advanced
pm2 save # Save current processes
pm2 startup # Enable auto-start on boot
Chiyoko-Haruka/
βββ Commands/ # Bot commands
β βββ media/ # Music-related commands
β β βββ MusicPlayer.js # Main music functionality
β β βββ PlayStatus.js # Playback status commands
β β βββ modules/ # Music system modules
β βββ Utility/ # Utility commands
β βββ info.js # Bot information
β βββ invite.js # Invite link generation
β βββ ping.js # Latency checking
β βββ serverinfo.js # Server information
β βββ userinfo.js # User information
βββ WEBGUI/ # Web dashboard
β βββ public/ # Static files
β βββ views/ # EJS templates
βββ handlers/ # Configuration and utilities
β βββ config.json # Bot configuration
β βββ embed.js # Message embeds
βββ logs/ # PM2 log files
βββ downloads/ # Temporary music files
βββ .env # Environment variables
βββ ecosystem.config.js # PM2 configuration
βββ index.js # Main application file
βββ CommandPush.js # Slash command deployment
{
"BOT_VERSION": "10.0.0-Catalyst",
"INVLINK": "your_bot_invite_link_here"
}
The bot includes a production-ready PM2 configuration with:
- High Process Priority - Optimized performance
- Auto-restart - Automatic recovery from crashes
- Memory Management - 712MB limit with smart restart
- Logging - Comprehensive log rotation
- Health Monitoring - Resource usage tracking
Bot not responding:
- Verify bot token in
.env
file - Check if bot has necessary permissions
- Ensure slash commands are deployed with
CommandPush.js
Music not working:
- Verify voice channel permissions
- Check if bot can connect to voice channels
- Ensure FFmpeg is installed (usually bundled with Node.js)
PM2 issues:
- Install PM2 globally:
npm install -g pm2
- Check logs:
pm2 logs Chiyoko-Haruka
- Restart PM2:
pm2 restart ecosystem.config.js
- π Create an Issue
- π View Documentation
- π¬ Discord Support Server (Link to be added)
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature
) - Commit your changes (
git commit -m 'Add some amazing feature'
) - Push to the branch (
git push origin feature/amazing-feature
) - Open a Pull Request
This project is licensed under the AGPL-3.0 License - see the LICENSE file for details.
- Discord.js - Discord API wrapper
- PM2 - Process management
- Express.js - Web framework
- Socket.IO - Real-time communication
Made with β€οΈ by Harleythetech