The ETS Discord Bot is a feature-rich bot designed to enhance your Discord server experience. Built using Node.js, this bot integrates with various APIs to provide real-time functionalities, such as managing server activities, responding to user commands, and delivering notifications. Whether you're a server admin looking to streamline operations or a community member seeking interactive features, this bot has something for everyone!
- 🎤 Voice Channel Management: Automatically manage voice channels based on user activity.
- 📅 Event Scheduling: Schedule events and send reminders to server members.
- 🔔 Notification System: Receive notifications about server updates and activities.
- 🎮 Game Integration: Play and manage games directly within Discord.
- 🛠️ Custom Commands: Create and customize commands to suit your server's needs.
To install the ETS Discord Bot, follow these steps:
-
Clone the repository:
git clone https://github.com/ElvinIsmayil/ETS_Discord_Bot.git
-
Navigate to the project directory:
cd ETS_Discord_Bot -
Install dependencies:
npm install
-
Create a
.envfile to store your Discord bot token and other sensitive information:touch .env
-
Add your bot token to the
.envfile:DISCORD_TOKEN=your_bot_token_here -
Run the bot:
node main.js
The ETS Discord Bot can be configured via the .env file. Here are the main configuration options:
| Option | Description | Example |
|---|---|---|
DISCORD_TOKEN |
Your Discord bot token | DISCORD_TOKEN=abc123xyz456 |
PREFIX |
Command prefix for bot commands | PREFIX=! |
GUILD_ID |
The ID of the Discord server (guild) | GUILD_ID=123456789012345678 |
Once the bot is running, you can interact with it using commands. Here are a few examples:
-
Create an event:
!createEvent "Game Night" "2023-10-30T20:00:00Z"This command will schedule a game night event on the specified date and time.
-
List all events:
!listEventsUse this command to see all scheduled events in the server.
-
Join a voice channel:
!joinThis command allows the bot to join your current voice channel.
- Parameters:
eventName(String): The name of the event.eventDate(String): The ISO 8601 formatted date and time of the event.
- Returns: A confirmation message about the scheduled event.
- Example:
const response = createEvent("Game Night", "2023-10-30T20:00:00Z"); console.log(response); // "Event 'Game Night' scheduled for 2023-10-30T20:00:00Z"
- Returns: An array of scheduled events.
- Example:
const events = listEvents(); console.log(events); // ["Game Night on 2023-10-30T20:00:00Z"]
The architecture of the ETS Discord Bot is designed to be modular and maintainable. Below is a simple text-based diagram representing the core components:
+-------------------+
| Discord API |
+---------+---------+
|
|
+---------v---------+
| ETS Discord Bot |
| (main.js) |
+---------+---------+
|
|
+---------v---------+
| Commands Module |
+-------------------+
- Always keep your bot token secure and never expose it in public repositories.
- Use environment variables to store sensitive information.
- Regularly update dependencies to mitigate vulnerabilities.
To run tests for the ETS Discord Bot, execute the following command:
npm testMake sure you have set up your testing environment properly by following the instructions in the test folder.
Contributions are welcome! Please follow these guidelines:
- Fork the repository.
- Create a new branch for your feature or bug fix.
- Make your changes and commit them with descriptive messages.
- Open a pull request detailing your changes.
This project is licensed under the MIT License. See the LICENSE file for more details.
Thank you for checking out the ETS Discord Bot! If you have any questions or feedback, feel free to open an issue on GitHub. Happy coding! 🎉