A simple Discord bot built with discord.js
that automatically sends a scheduled command monthly to keep the Discord Active Developer Badge forever.
Discord removes Active Developer badges for inactive applications after 60 days. This project solves this issue for you so you never have to manually intervene or worry about losing the badge again!
- Easy Setup: Interactive setup script for configuration.
- Input Validation: Ensures correct configuration during setup.
- Scheduled Command: Automatically sends a scheduled command in a specified channel monthly, weekly, daily or custom. (cron)
- Persistent Scheduling: Maintains the schedule even after stops or restarts.
Follow these steps to set up and run your own Discord Active Developer Badge bot in less than 5 minutes.
- A Discord Developer Application
- Click
New Application
found in the top-right
- Click
- A Bot for the Discord Developer Application
- Click the
Bot
tab inside your Application
- Click the
- A Discord server and Discord account with server permissions to add and manage bots
- Your Discord Server needs to be a Community Server
For local hosting (optional):
Decide if you would like to run the bot locally or remotely.
Click one of the arrows below to reveal the steps.
Steps for Remote Hosting on Replit
- Go to Replit
- Click the Run button
- Answer the 5 prompts
- Answer the 5 prompts in the console in the bottom-right.
- Don't know the answers? No worries! Check the Interactive Configuration section.
- You're done!
- The bot should already have sent a command, if not use
/ping
- The schedule to maintain active status is logged in
src/schedule.json
.
- The bot should already have sent a command, if not use
- Retrieving the Badge
Steps for Local Hosting
-
Clone the repository:
Download the repository directly or open your terminal in your desired folder, copy/paste and execute the following:
git clone https://github.com/Sanquinary/discord-active-developer-badge-forever.git cd discord-active-developer-badge-forever
-
Install dependencies:
npm install
-
Start the bot:
Run
start-app.bat
orstart-app.sh
or execute from your terminal:node index.js
-
(Optional) Start the bot with PM2:
npm install pm2 -g pm2 start index.js --name "discord-bot" pm2 save pm2 startup
When you run the project for the first time, you will be prompted to provide the following:
-
Bot Secret Token:
- Go to: Applications -> YOUR_APPLICATION -> Bot Tab -> Reset Token ->
Copy this token
- Go to: Applications -> YOUR_APPLICATION -> Bot Tab -> Reset Token ->
-
Bot Client ID:
- Go to: Applications -> YOUR_APPLICATION -> Application ID ->
Copy this ID
- Go to: Applications -> YOUR_APPLICATION -> Application ID ->
-
Discord Server (Guild) ID:
- Open Discord -> Navigate to your server -> Right-click the server name ->
Copy Server ID
- If
Copy Server ID
doesn't show, enable Developer Mode in Settings -> Appearance -> Developer Mode
- Open Discord -> Navigate to your server -> Right-click the server name ->
-
Discord Channel ID:
- Open Discord -> Navigate to your server -> Right-click the desired text channel ->
Copy Channel ID
- Open Discord -> Navigate to your server -> Right-click the desired text channel ->
-
Choose Schedule:
- Choose between a monthly (recommended), weekly, daily or custom cron schedule.
- The schedule will be stored and a command displaying your server stats will be executed on the schedule date.
- The schedule automatically renews once it has passed.
To retrieve the badge:
- Make sure your bot have executed a command in your Discord Server after starting your bot in Replit with
Run
or withnode index.js
locally. - Ensure you meet Discord's requirements for the Active Developer Badge
Wait at least 24 hours and check this page: Active Developer Badge to claim your badge.
Contributions are welcome! Please open an issue or submit a pull request for any changes.
This project is licensed under the MIT License. See the LICENSE file for details.