A feature-rich Discord bot combining counting game, welcome messages, leveling system, anti-spam protection, and bad words filter. Uses MongoDB for data persistence and includes web dashboard.
- Detects multiple messages sent within 5 seconds
- Triggers on 4+ messages in quick succession
- Auto-deletes spam messages
- Temporary timeout for offenders
- Warning messages with auto-cleanup
- Immune roles for trusted users
- Detailed logging with timestamps
- Customizable timeout duration
- Extensive predefined word list
- Custom word additions
- Smart word detection
- Automatic message removal
- DM notifications to users
- Detailed logging system
- Role-based immunity
- Per-server configuration
- Allows users to count in sequence
- Deletes incorrect numbers and notifies users
- Prevents consecutive counting by the same user
- Special reactions for milestone numbers:
- ✅ Regular correct numbers
- ✨ Multiples of 25
- ⭐ Multiples of 50
- 🎉💯 Multiples of 100
- Stores progress in MongoDB
- Customizable welcome messages for new members
- Support for welcome images with URL validation
- Automatic fallback to text-only if image fails
- Uses placeholders for dynamic mentions
- Configurable welcome channel
- Experience (XP) gain from chat activity
- Level-up notifications with custom messages
- Beautiful rank cards showing progress
- Server-wide leaderboard with error handling
- Anti-spam cooldown system
- Custom level-up channel
- Node.js
- MongoDB database
- Discord Bot Token
-
Clone the repository:
git clone https://github.com/iammonsterbunny/counting-discord-bot.git cd counting-discord-bot -
Install dependencies:
npm install
-
Configure your
.envfile:DISCORD_TOKEN=your_discord_token MONGO_URI=your_mongodb_uri BOT_STATUS=idle
-
Start the bot:
node index.js
/setup [channel]- Set the counting channel/setwelcome [channel] [message] [imagelink?]- Configure welcome messages/levelsetup [channel] [message]- Set up level-up notifications
/rank [user?]- Check your or someone else's rank/leaderboard- View server XP leaderboard
- Welcome Messages:
{@user}- Mentions the new member - Level-up Messages:
{@user}and{@level}- Mentions user and shows new level
- discord.js - Discord API library
- mongodb - Database driver
- canvas - Rank card generation
/setwelcome channel:#welcome message:"Welcome {@user} to our server!" imagelink:https://example.com/welcome.png
/levelsetup channel:#level-ups message:"🎉 {@user} has reached level {@level}!"
This project is licensed under the MIT License.
Made with ❤️ by Monster Bunny