A Discord.js bot designed for the Clicker Heroes Discord server. It provides a wide array of game-specific information, moderation assistance, and automated role assignments based on player progress. The core functionality and event handling are managed in index.js.
- Extensive Game Information: Over 80 slash commands providing detailed information about Clicker Heroes 1 mechanics, ancients, outsiders, strategies, and more (e.g.,
/active,/ancients,/as,/firsttrans,/hybrid,/idle,/merc,/outsiders,/rubies,/skills,/timelapse,/trans). - Utility Commands: Includes
/calclistfor links to useful calculators,/faq,/glossary, and an/imagecommand with autocomplete for posting catered images. All commands can be found in the/commandsfolder. - Moderation & Auto-Moderation: Features basic moderation tools and robust auto-moderation capabilities, including anti-spam, detection of scam links (e.g., fake Nitro), filtering of racist comments, and restrictions on posting external Discord links by new members.
- Automated Role Assignment: Assigns Discord roles to users based on their in-game progress. Players can DM the bot their
.txtsave file, which the bot processes to determine the highest hero unlocked and assign a corresponding role. - Automated Responses: Provides quick answers to common questions and phrases within the community.
npm installCreate your environment configuration file:
cp .env.example .envThen edit the .env file and replace the placeholder values with your actual:
DISCORD_TOKEN: Your Discord bot token.DISCORD_CLIENT_ID: Your bot's client ID.DISCORD_GUILD_ID: The ID of the Discord server (guild) where the bot will operate.
If you are developing locally, you may want to use a dedicated test server and its ID for
DISCORD_GUILD_ID.
node index.jsIf the configuration is correct, the bot should appear online in Discord, and its slash commands will be registered/updated for the specified guild.
Simply create a new release in GitHub and the website will be automatically deployed to the server.
Note
How it works: When you create a new Github release, a GitHub Action will merge the main branch into the production branch and Forge will deploy the changes. The deployment is handled by Laravel Forge using the production branch.
Note
Always create releases from the main branch to ensure all tested changes are included in the deployment.
The uploads folder is used to store the attachments sent by users, such as .txt save files. Make sure this folder is writable by the bot process.
This project is licensed under the ISC License (as specified in package.json).