diff --git a/README.md b/README.md index 985f845..f8c82b8 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -# Discord Multipurpose Bot +# Circuitrix Discord Bot --- @@ -8,32 +8,72 @@ This bot includes game statistics functionality (currently supports Valorant, CS --- -Welcome to the **Discord Multipurpose Bot**! This bot manages user verification for Discord servers through email authentication, includes a fun trivia game feature, and provides role management and leaderboard tracking functionalities. +Welcome to **Circuitrix Discord Bot**! A powerful multipurpose Discord bot featuring email verification, trivia games, music functionality, and comprehensive server management tools. -## Features +## ✨ Features -- **Email Verification**: Users receive a verification code via email and must enter it in Discord to verify their account. -- **Role Management**: Automatically assigns a specific role to users once they have been verified. -- **Trivia Game**: Play a video game-themed trivia game with various categories such as Anime & Manga, Computers, Board Games, Comics, Cartoons & Animations, Film, General Knowledge, Science, Animals, Music, History, Mythology, and Geography & Nature. -- **Leaderboard**: Displays the top players based on correct trivia answers. -- **User Information**: Retrieve information about a specific user or yourself, including roles and account details. -- **Warning System**: Issue warnings to users with a reason logged for future reference. -- **Message Purge**: Moderators can delete messages from a channel. -- **Ping and Uptime**: Check the bot's latency and how long it has been running. -- **Admin Log**: Admins can review logs of verification attempts and trivia games in a designated channel. -- **Customizable Settings**: Configure email domains, channels, roles, and more to suit your server. -- **Help Command**: List all available commands and their descriptions for easy reference. +### 🔐 Verification System -### Installation +- **Email Verification**: Secure verification system where users receive a verification code via email +- **Role Management**: Automatically assigns roles to verified users +- **Customizable Settings**: Configure allowed email domains, verification channels, and roles + +### 🎮 Entertainment + +- **Trivia Game**: Video game-themed trivia with multiple categories: + + - Anime & Manga + - Computers & Technology + - Board Games + - Comics + - Film & TV + - General Knowledge + - Science & Nature + - Music + - History & Mythology + - Geography + +- **Music System**: Advanced music player with support for multiple platforms: + - YouTube, Spotify, SoundCloud integration + - High-quality audio playback + - Queue management + - Volume control + - Loop functionality (track/queue) + - Lyrics display + - Live synchronized lyrics + +### ⚙️ Moderation Tools + +- **Warning System**: Issue and track user warnings with reasons +- **Message Purge**: Bulk delete messages from channels +- **User Information**: Detailed user profiles with role information +- **Admin Logs**: Comprehensive logging of moderation actions + +### 📊 Statistics & Tracking + +- **Leaderboard System**: Track top trivia players +- **Game Statistics**: Valorant, CS2, and TFT stats (requires API access) +- **Server Analytics**: Monitor server activity and usage + +### 🎵 Music Commands + +- `/play` - Play songs from YouTube, Spotify, or SoundCloud +- `/skip` - Skip the current song +- `/stop` - Stop playback and clear queue +- `/queue` - View current music queue +- `/volume` - Adjust playback volume +- `/loop` - Loop current track or entire queue +- `/lyrics` - Display lyrics for current or specified song +- `/pause` / `/resume` - Control playback +- `/nowplaying` - Show current track information + +## 🚀 Installation 1. **Clone the Repository** ```sh -git clone git@github.com:aydenjahola/discord-multipurpose-bot.git -``` - -```sh -cd discord-multipurpose-bot +git clone git@github.com:aydenjahola/circuitrix.git +cd circuitrix ``` 2. **Install Dependencies** @@ -42,24 +82,75 @@ cd discord-multipurpose-bot npm install ``` -3. **Set Up Environment Variables** +3. **Environment Configuration** -rename the [`.env.example`](./.env.example) to `.env` and fill in the required environments + - Rename `.env.example` to `.env` + - Fill in all required environment variables: + - Discord Bot Token + - MongoDB Connection URI + - Email Service Credentials + - Genius API Key (for lyrics functionality) + - Custom API Keys for game statistics -4. **Run the Bot** +4. **Start the Bot** ```sh -node bot.js +node index.js ``` -## Setup +## ⚙️ Setup -make sure to run `/setup` or otherwise the verification process wont work. +After inviting the bot to your server, run `/setup` to configure the verification system and other essential settings. -## Usage +## 💡 Usage -run `/help` command to get list of all avaiable commands, or visit the [commands](./commands/) directory to view them. +Use `/help` to view all available commands and their descriptions. For detailed information about specific commands, visit the [commands directory](./commands/). -## Dashboard (WIP) +## 🎵 Music Setup -I am currently working on a dashboard to manage the bot as well, currently this is in the `dashboard` branch and still work in progress. if you know how to build discord bot dashboards then please feel free to contribute. +The bot requires FFmpeg for audio processing. Ensure FFmpeg is installed on your system: + +**Windows:** + +```sh +choco install ffmpeg +``` + +**macOS:** + +```sh +brew install ffmpeg +``` + +**Linux (Ubuntu/Debian):** + +```sh +sudo apt install ffmpeg +``` + +## 🔧 Docker Deployment + +The bot includes Docker support for easy deployment: + +```sh +docker-compose up --build +``` + +## 📊 Dashboard (Work in Progress) + +I'm currently developing a web dashboard for bot management in the `dashboard` branch. Contributors with experience in Discord bot dashboards are welcome to help! + +## 🤝 Contributing + +Contributions are welcome! Please feel free to submit pull requests or open issues for bugs and feature requests. + +## 📞 Support + +For questions about the game statistics API or general support: + +- Email: [info@aydenjahola.com](mailto:info@aydenjahola.com) +- GitHub Issues: [Create an issue](https://github.com/aydenjahola/discord-multipurpose-bot/issues) + +--- + +**Circuitrix Discord Bot** - Developed with ❤️ by [Ayden Jahola](https://github.com/aydenjahola)