Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/coslynx/discord-status-management-bot
Project: Discord Status Bot with 50+ Features and Slash Commands. Created at https://spectra.codes, which is owned by @Drix10
https://github.com/coslynx/discord-status-management-bot
api-integration code-generation code-quality community-engagement developer-tools devops discord-bot discord-js docker github-actions javascript machine-learning member-status mongodb mongoose node-js openai server-management slash-commands software-development
Last synced: 21 days ago
JSON representation
Project: Discord Status Bot with 50+ Features and Slash Commands. Created at https://spectra.codes, which is owned by @Drix10
- Host: GitHub
- URL: https://github.com/coslynx/discord-status-management-bot
- Owner: coslynx
- Created: 2024-10-26T18:58:59.000Z (2 months ago)
- Default Branch: main
- Last Pushed: 2024-10-26T19:04:48.000Z (2 months ago)
- Last Synced: 2024-10-26T20:56:21.722Z (2 months ago)
- Topics: api-integration, code-generation, code-quality, community-engagement, developer-tools, devops, discord-bot, discord-js, docker, github-actions, javascript, machine-learning, member-status, mongodb, mongoose, node-js, openai, server-management, slash-commands, software-development
- Language: JavaScript
- Size: 59.6 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
discord-status-management-botA Discord bot for managing member status with custom titles, images, and badges, offering a wide range of commands and advanced features.
Developed with the software and tools below.
## ๐ Table of Contents
- ๐ Overview
- ๐ฆ Features
- ๐ Structure
- ๐ป Installation
- ๐๏ธ Usage
- ๐ Hosting
- ๐ License
- ๐ Authors## ๐ Overview
This repository contains a Discord bot project called "discord-status-management-bot." This project aims to provide server communities with enhanced member status functionalities, including custom titles, images, and badges. Built using Discord.js, Node.js, and Mongoose, the bot offers a comprehensive suite of commands for managing these statuses and a range of additional features, including mini-games, server utilities, moderation tools, and advanced automation.## ๐ฆ Features
| | Feature | Description |
|----|--------------------|--------------------------------------------------------------------------------------------------------------------|
| โ๏ธ | Architecture | The bot utilizes a modular architecture with separate directories for commands, services, models, and utilities, promoting maintainability and scalability. |
| ๐ | Documentation | This README file provides a detailed overview of the project, its dependencies, and instructions for installation and usage.|
| ๐ | Dependencies | The project relies on external libraries and packages such as `discord.js`, `mongoose`, `dotenv`, and `axios`, which are essential for interacting with the Discord API, managing data, and handling environment variables.|
| ๐งฉ | Modularity | The modular structure allows for easy maintenance and reusability of the code, with separate directories for different functionalities, including commands, services, and models.|
| ๐งช | Testing | The project includes unit tests for critical components, ensuring code reliability and preventing regressions. |
| โก๏ธ | Performance | The bot is optimized for performance by utilizing asynchronous operations, caching strategies, and efficient data structures. |
| ๐ | Security | Security measures are implemented to protect user data and prevent unauthorized access, including input validation, sanitization, and rate limiting. |
| ๐ | Version Control| Utilizes Git for version control with GitHub Actions workflow files for automated build and release processes.|
| ๐ | Integrations | The bot integrates with various services, including Discord API for interacting with Discord servers and channels, and OpenAI for natural language processing and AI-powered features.|
| ๐ถ | Scalability | The project is designed to handle a growing number of users and commands, utilizing efficient database and server configurations, and leveraging cloud-based hosting platforms for scalability. |## ๐ Structure
```
discord-status-management-bot/
โโโ commands
โ โโโ status
โ โ โโโ set.js
โ โ โโโ update.js
โ โ โโโ remove.js
โ โ โโโ show.js
โ โ โโโ help.js
โ โโโ minigames
โ โ โโโ trivia.js
โ โ โโโ wordle.js
โ โ โโโ hangman.js
โ โ โโโ help.js
โ โโโ server
โ โ โโโ settings.js
โ โ โโโ roles.js
โ โ โโโ channels.js
โ โ โโโ help.js
โ โโโ moderation
โ โ โโโ mute.js
โ โ โโโ unmute.js
โ โ โโโ kick.js
โ โ โโโ ban.js
โ โ โโโ warn.js
โ โ โโโ help.js
โ โโโ info
โ โ โโโ serverinfo.js
โ โ โโโ userinfo.js
โ โ โโโ help.js
โ โ โโโ stats.js
โ โโโ profile
โ โ โโโ settheme.js
โ โ โโโ setbackground.js
โ โ โโโ setprofilepic.js
โ โ โโโ help.js
โ โโโ polls
โ โ โโโ create.js
โ โ โโโ vote.js
โ โ โโโ results.js
โ โ โโโ help.js
โ โโโ music
โ โ โโโ play.js
โ โ โโโ skip.js
โ โ โโโ stop.js
โ โ โโโ queue.js
โ โ โโโ loop.js
โ โ โโโ nowplaying.js
โ โ โโโ help.js
โ โโโ roles
โ โ โโโ create.js
โ โ โโโ assign.js
โ โ โโโ remove.js
โ โ โโโ help.js
โ โโโ automation
โ โ โโโ schedule.js
โ โ โโโ remind.js
โ โ โโโ help.js
โ โโโ help.js
โโโ events
โ โโโ ready.js
โ โโโ messageCreate.js
โ โโโ interactionCreate.js
โ โโโ guildMemberAdd.js
โ โโโ guildMemberRemove.js
โ โโโ guildMemberUpdate.js
โโโ services
โ โโโ statusService.js
โ โโโ minigameService.js
โ โโโ serverService.js
โ โโโ moderationService.js
โ โโโ infoService.js
โ โโโ profileService.js
โ โโโ pollService.js
โ โโโ musicService.js
โ โโโ roleService.js
โ โโโ automationService.js
โโโ models
โ โโโ statusModel.js
โ โโโ userModel.js
โ โโโ serverModel.js
โ โโโ pollModel.js
โ โโโ musicQueueModel.js
โ โโโ automationModel.js
โโโ utils
โ โโโ commandHandler.js
โ โโโ logger.js
โ โโโ errorHandler.js
โ โโโ helperFunctions.js
โ โโโ configLoader.js
โโโ config
โ โโโ env.config.js
โ โโโ database.config.js
โโโ .env
โโโ package.json
โโโ README.md
```## ๐ป Installation
### ๐ง Prerequisites
- Node.js (v16 or higher)
- npm (or yarn)
- MongoDB
- Docker (optional)### ๐ Setup Instructions
1. Clone the repository:
- `git clone https://github.com/coslynx/discord-status-management-bot.git`
2. Navigate to the project directory:
- `cd discord-status-management-bot`
3. Install dependencies:
- `npm install`
4. Set up MongoDB:
- Create a new MongoDB database.
- Set up environment variables in the `.env` file:
- `MONGO_URI`: Your MongoDB connection string.
5. Create a Discord bot application:
- Go to the [Discord Developer Portal](https://discord.com/developers/applications) and create a new application.
- Create a bot user for your application.
- Obtain your bot token (keep it secret!).
6. Set up bot token:
- Add your bot token to the `.env` file:
- `DISCORD_TOKEN`: Your bot token.
7. Start the bot:
- `npm start`## ๐๏ธ Usage
### Adding the Bot to Your Server:
1. Go to the Discord Developer Portal and navigate to your bot application.
2. In the "OAuth2" tab, select "Bot" for the "Scope" and check the "bot" permission.
3. Click on "Copy" to copy the generated link.
4. Open this link in your browser and authorize the bot to join your server.### โ๏ธ Configuration
Adjust configuration settings in `config/env.config.js` and `config/database.config.js`.### ๐ Examples
Setting a Status:
```
/set status "Playing my favorite game" -image [image url] -badge [badge name]
```Playing a Trivia Game:
```
/trivia start
```Muting a Member:
```
/mute [member id] [reason]
```Using the Help Command:
```
/help [command name]
```Additional Command Examples:
- `/update status`: Updates your current status.
- `/remove status`: Removes your current status.
- `/show status`: Displays your current status.
- `/serverinfo`: Displays server information.
- `/userinfo [member id]`: Displays user information.
- `/music play [song name]`: Plays a song.
- `/music skip`: Skips the current song.
- `/music stop`: Stops music playback.
- `/poll create [question] [options]`: Creates a poll.
- `/role create [role name] [permissions]`: Creates a role.
- `/role assign [member id] [role name]`: Assigns a role to a member.
- `/role remove [member id] [role name]`: Removes a role from a member.
- `/schedule [time] [task]`: Schedules a task.
- `/remind [time] [message]`: Sets a reminder.## ๐ Hosting
### ๐ Deployment Instructions
1. Build the project:
- `npm run build`
2. Deploy the build output to a hosting platform:
- Heroku:
- Create a new Heroku app.
- Set up environment variables (MONGO_URI, DISCORD_TOKEN) in the Heroku app settings.
- Push the build output to the Heroku app's Git repository.
- AWS:
- Create a new AWS EC2 instance.
- Install Node.js, npm, and MongoDB on the instance.
- Configure environment variables.
- Deploy the build output to the EC2 instance.
- Other Platforms:
- Use a similar process based on the chosen hosting platform's documentation.
### ๐ Environment Variables
- `MONGO_URI`: MongoDB connection string.
- `DISCORD_TOKEN`: Discord bot token.## ๐ License
This project is licensed under the [MIT License](https://choosealicense.com/licenses/mit/).## ๐ฅ Authors
- Author Name - [Spectra.codes](https://spectra.codes)
- Creator Name - [DRIX10](https://github.com/Drix10)
๐ Spectra.Codes
Why only generate Code? When you can generate the whole Repository!