{"id":14983262,"url":"https://github.com/sanquinary/discord-active-developer-badge-forever","last_synced_at":"2025-10-29T21:30:47.257Z","repository":{"id":245619522,"uuid":"818772549","full_name":"Sanquinary/discord-active-developer-badge-forever","owner":"Sanquinary","description":"A Discord bot that automatically sends a command monthly to maintain the Discord Active Developer Badge without manual intervention. Quick 5-minute setup, no server or programming required!","archived":false,"fork":false,"pushed_at":"2024-08-21T22:37:39.000Z","size":53,"stargazers_count":5,"open_issues_count":1,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-02-02T04:51:13.384Z","etag":null,"topics":["active-dev-badge","active-developer-badge","discord","discord-active-badge","discord-active-dev-badge","discord-active-developer","discord-active-developer-badge","discord-bot","discord-developer-badge","discord-js","discordbot","discordjs"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Sanquinary.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-06-22T20:25:30.000Z","updated_at":"2024-11-02T10:58:34.000Z","dependencies_parsed_at":"2024-08-22T00:05:25.533Z","dependency_job_id":"47ea6014-8fcd-4599-a143-9b4ba064cc8d","html_url":"https://github.com/Sanquinary/discord-active-developer-badge-forever","commit_stats":null,"previous_names":["sanquinary/discord-active-developer-badge-forever"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Sanquinary%2Fdiscord-active-developer-badge-forever","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Sanquinary%2Fdiscord-active-developer-badge-forever/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Sanquinary%2Fdiscord-active-developer-badge-forever/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Sanquinary%2Fdiscord-active-developer-badge-forever/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Sanquinary","download_url":"https://codeload.github.com/Sanquinary/discord-active-developer-badge-forever/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":238892425,"owners_count":19548185,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["active-dev-badge","active-developer-badge","discord","discord-active-badge","discord-active-dev-badge","discord-active-developer","discord-active-developer-badge","discord-bot","discord-developer-badge","discord-js","discordbot","discordjs"],"created_at":"2024-09-24T14:06:58.665Z","updated_at":"2025-10-29T21:30:46.879Z","avatar_url":"https://github.com/Sanquinary.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Discord Active Developer Badge Forever\n\n![Node.js](https://img.shields.io/badge/node.js-339933?style=flat\u0026logo=node.js\u0026logoColor=white)\n![License](https://img.shields.io/github/license/Sanquinary/discord-active-developer-badge-forever)\n\nA simple Discord bot built with `discord.js` that automatically sends a scheduled command monthly to keep the Discord Active Developer Badge forever.\n\nDiscord 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!\n\n## Features\n\n- [x] **Easy Setup**: Interactive setup script for configuration.\n- [x] **Input Validation**: Ensures correct configuration during setup.\n- [x] **Scheduled Command**: Automatically sends a scheduled command in a specified channel monthly, weekly, daily or custom. ([cron](https://crontab.guru/))\n- [x] **Persistent Scheduling**: Maintains the schedule even after stops or restarts.\n\n## Getting Started\n\nFollow these steps to set up and run your own Discord Active Developer Badge bot in less than 5 minutes.\n\n### Prerequisites\n\n1. A [Discord Developer Application](https://discord.com/developers/applications)\n    - Click `New Application` found in the top-right\n2. A Bot for the [Discord Developer Application](https://discord.com/developers/applications)\n    - Click the `Bot` tab inside your Application\n3. A Discord server and Discord account with server permissions to add and manage bots\n    - Your Discord Server needs to be a [Community Server](https://support.discord.com/hc/en-us/articles/360047132851-Enabling-Your-Community-Server)\n\nFor local hosting (optional):\n- [git](https://git-scm.com/downloads)\n- [Node.js](https://nodejs.org/) (v16.6.0 or higher)\n- [npm](https://www.npmjs.com/)\n\nDecide if you would like to run the bot [locally](#remote-hosting-on-replit-option-1) or [remotely](#remote-hosting-on-replit-option-1).\n\nClick one of the arrows below to reveal the steps.\n\n****\n\n### Remote Hosting on Replit (Option 1)\n\u003cdetails\u003e\n   \u003csummary\u003e\u003cu\u003eSteps for Remote Hosting on Replit\u003c/u\u003e\u003c/summary\u003e\n\n1. **Go to Replit**\n   - Import this repo by clicking this button: [![Run on Repl.it](https://replit.com/badge/github/Sanquinary/discord-active-developer-badge-forever)](https://replit.com/new/github/Sanquinary/discord-active-developer-badge-forever)\n   - You will need a Replit account. Sign up with Google/GitHub for quick registration.\n2. **Click the Run button**\n3. **Answer the 5 prompts**\n   - Answer the 5 prompts in the console in the bottom-right.\n   - Don't know the answers? No worries! Check the [Interactive Configuration](#interactive-configuration) section.\n4. **You're done!**\n   - The bot should already have sent a command, if not use `/ping`\n   - The schedule to maintain active status is logged in `src/schedule.json`.\n5. **[Retrieving the Badge](#retrieving-the-badge)**\n\n\u003c/details\u003e\n\n### Local Hosting (Option 2)\n\u003cdetails\u003e\n   \u003csummary\u003e\u003cu\u003eSteps for Local Hosting\u003c/u\u003e\u003c/summary\u003e\n\n1. **Clone the repository:**\n\n   [Download](https://github.com/Sanquinary/discord-active-developer-badge-forever/archive/refs/heads/main.zip) the repository directly or open your terminal in your desired folder, copy/paste and execute the following:\n    ```sh\n    git clone https://github.com/Sanquinary/discord-active-developer-badge-forever.git\n    cd discord-active-developer-badge-forever\n    ```\n\n3. **Install dependencies:**\n    ```sh\n    npm install\n    ```\n\n4. **Start the bot:**\n\n   Run `start-app.bat` or `start-app.sh` or execute from your terminal:\n    ```sh\n    node index.js\n    ```\n\n6. **(Optional) Start the bot with [PM2](https://pm2.keymetrics.io/):**\n    ```sh\n    npm install pm2 -g\n    pm2 start index.js --name \"discord-bot\"\n    pm2 save\n    pm2 startup\n    ```\n    \n\u003c/details\u003e\n\n****\n\n### Interactive Configuration\n\nWhen you run the project for the first time, you will be prompted to provide the following:\n\n1. **Bot Secret Token**:\n   - Go to: [Applications](https://discord.com/developers/applications) -\u003e YOUR_APPLICATION -\u003e Bot Tab -\u003e Reset Token -\u003e `Copy this token`\n\n2. **Bot Client ID**:\n   - Go to: [Applications](https://discord.com/developers/applications) -\u003e YOUR_APPLICATION -\u003e Application ID -\u003e `Copy this ID`\n\n3. **Discord Server (Guild) ID**:\n   - Open Discord -\u003e Navigate to your server -\u003e Right-click the server name -\u003e `Copy Server ID`\n   - If `Copy Server ID` doesn't show, enable Developer Mode in Settings -\u003e Appearance -\u003e Developer Mode\n\n4. **Discord Channel ID**:\n   - Open Discord -\u003e Navigate to your server -\u003e Right-click the desired text channel -\u003e `Copy Channel ID`\n\n5. **Choose Schedule**:\n   - Choose between a monthly (recommended), weekly, daily or custom cron schedule.\n   - The schedule will be stored and a command displaying your server stats will be executed on the schedule date.\n   - The schedule automatically renews once it has passed.\n\n****\n\n### Retrieving the Badge\n\nTo retrieve the badge:\n- Make sure your bot have executed a command in your Discord Server after starting your bot in Replit with `Run` or with `node index.js` locally.\n- Ensure you meet [Discord's requirements](https://support-dev.discord.com/hc/en-us/articles/10113997751447-Active-Developer-Badge) for the Active Developer Badge\n\nWait at least 24 hours and check this page: [Active Developer Badge](https://discord.com/developers/active-developer) to claim your badge.\n\n![Claim your badge](https://i.imgur.com/DM4Hvie.png)\n\n## Contributing\n\nContributions are welcome! Please open an issue or submit a pull request for any changes.\n\n## License\n\nThis project is licensed under the MIT License. See the LICENSE file for details.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsanquinary%2Fdiscord-active-developer-badge-forever","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsanquinary%2Fdiscord-active-developer-badge-forever","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsanquinary%2Fdiscord-active-developer-badge-forever/lists"}