Skip to content

Harleythetech/Chiyoko-Haruka

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

93 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Chiyoko Haruka - V14.2.0-Catalyst


Node.js Discord.js License PM2

πŸ“– About

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.

✨ Key Features

  • 🎡 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

🎡 Music Features

  • 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

πŸ› οΈ Utility Commands

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

🌐 Web Dashboard

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

πŸš€ Quick Start

Prerequisites

Installation

  1. Clone the Repository

    git clone https://github.com/Harleythetech/Chiyoko-Haruka.git
    cd Chiyoko-Haruka
  2. Install Dependencies

    npm install
  3. Configure Discord Application

    Go to Discord Developer Portal and create a new application:

    Discord Application Creation

  4. Generate Bot Invite Link

    Navigate to OAuth2 > URL Generator and configure permissions:

    OAuth2 Configuration

    Recommended Permissions:

    • Read Messages/View Channels
    • Send Messages
    • Connect (for voice)
    • Speak (for music)
    • Use Slash Commands

    Permission Selection

  5. 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
  6. Deploy Commands

    node CommandPush.js

πŸƒ Running the Bot

Development Mode

npm start
# or
node index.js

Production with PM2 (Recommended)

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

PM2 Management Commands

# 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

πŸ“ Project Structure

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

βš™οΈ Configuration

Bot Configuration (handlers/config.json)

{
  "BOT_VERSION": "10.0.0-Catalyst",
  "INVLINK": "your_bot_invite_link_here"
}

PM2 Ecosystem (ecosystem.config.js)

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

πŸ”§ Troubleshooting

Common Issues

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

Support


🀝 Contributing

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add some amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

πŸ“„ License

This project is licensed under the AGPL-3.0 License - see the LICENSE file for details.


πŸ™ Acknowledgments


Made with ❀️ by Harleythetech

About

Chiyoko Haruka is a feature-packed Discord bot designed to provide a wide range of useful features and utilities to users.

Topics

Resources

License

Stars

Watchers

Forks

Contributors 2

  •  
  •