DarkBot is a Discord bot made with discord.js that serves the DarkCode Community Discord Server.
As a programmer, I've always wanted to build things that directly improve my workflow. I listen to music a lot while studying and coding, so I needed a music player that would run on my server, allowing my friends and me to enjoy music together. I also needed to ensure that they could interact with it easily, which is why I opted for a Discord bot.
Additionally, when I was in 9th grade, I joined a team at my school whose purpose was to maintain school discipline. We had members from various classes, so we needed a point system to identify the most active monitors. I implemented this feature in this bot, allowing monitor representatives from different classes to easily grade their lap monitors.
- Music playback
- Notifications
- User presence tracking
- Moderation tools
- Subscription management
To install DarkBot, you will need to have Node.js installed on your machine. Once you have installed, follow these steps:
- Clone the repository:
git clone https://github.com/realDarkCode/DarkBot.git
or, Download latest release - Navigate to the project directory:
cd DarkBot
- Install the dependencies:
npm install
- Rename the
.env.example
file to.env
and add your variables - Start the bot:
npm start
Replies with pong! and shows latency and API latency.
Posts an announcement as an embed to a configured public announcement channel or specified channel.
bot_post
(boolean): Post as a bot or admin (optional)title
(string): Set the embed title (optional)color
(string): Set the embed color (optional)description
(string): Set the embed description (optional)thumbnail
(string): Set the embed thumbnail (optional)image
(url): Set the embed image (optional)footer_text
(string): Set the embed footer text (optional)mention1
(mentionable): Mention roles/user at the beginning of the announcement (optional)mention2
(mentionable): Mention roles/user at the beginning of the announcement (optional)mention3
(mentionable): Mention roles/user at the beginning of the announcement (optional)channel
(channel): Select the channel to post the announcement (optional)
Clears messages from a channel.
amount
(number): Number of messages to remove (required)reason
(string): Specify the reason for removing these messages (required)target
(user): Specify a member if you want to remove that member's messages (optional)
See the recent active times of a user.
individual
target
(user): Target user (required)
guild
- View the members' presence status of the guild.
Plays a song.
query
(string): Enter the song name or link (required)
Searches for a video/playlist.
query
(string): The search term for the video/playlist (required)type
(string): Select the video type (optional)- Playlist
- Video
limit
(number): Number of search results (optional, min: 1, max: 10)
Sets the volume.
volume
(number): Set the volume (required, min: 0, max: 100)
Shows the list of songs that you've played the most.
Plays your favorite songs as a playlist.
Skips music to a specific position in the queue.
amount
(number): How many songs you want to skip (required, min: 1)
Sets the playing time to another position.
seconds
(number): Enter the duration in seconds (required, min: 5)
Sets a filter for the music player.
filter
(string): Select the filter (required)
Removes all the filters from the music player.
Shows the list of all available filters.
Sets a scheduled message with an image.
time
(number): Set the delay time for the notify in minutes (required)message
(string): Set the message for the notify [max 4000 characters] (required)recipient
(user): Set the user for the notify [mention the @user] (optional)image
(url): Provide the exact image link which will be attached to the message [max 350 length] (optional)
Subscribes to a specific service.
service
(string): Select the service (required)
Unsubscribes from a specific service.
service
(string): Select the service (required)
Shows the list of available services in the server.
Shows the list of services you have used or are currently using.
If you would like to contribute to DarkBot, please follow these steps:
- Fork the repository.
- Create a new branch:
git checkout -b my-branch
- Make your changes and commit them:
git commit -m "my changes"
- Push to the branch:
git push origin my-branch
- Create a pull request.