Waterfall is a modular, slash-commandβdriven, scalable Discord bot designed for clarity, maintainability, and performance.
Note: Sharding in still a work in progress, so it is not recommended to use sharding for now. You may need to modify the sharding system for it to work as desired.
- Slash Commands
- Clean, consistent UX
- Stable long-running behavior
- Strong moderation suite
- AI & search utilities
- Admin & management tools
- utility features
- Webhook-based logging
- Developer-friendly architecture
- ComponentsV2 embeds
- localization (i18n)
- Automod system
- Anti-spam / anti-mention
- Kick / ban
- Warnings with mod-logs
- Bot detection
- History tracking
- Tiered escalation
- Member info, server info
- Message utilities
- Channel utilities
- Role helpers
- Server statistics
- Gemini AI
- WolframAlpha
- Lookup utilities
- Dictionary stuff
- Hot reload commands
- Hot reload events
- Shard management
- GitHub integration
- Debug tools
- Centralized logging system
- Analytics system with 30 day history
- Shards status
Use this link to invite the bot:
https://discord.com/oauth2/authorize?client_id=1435231722714169435
- Node.js 22+
- MongoDB instance
- Discord bot token
- Optional: Gemini / SerpAPI / OMDb / WolframAlpha / Other API keys
git clone https://github.com/DevSiege-Studios/waterfall.git
cd waterfall
npm installcp .env.example .envNow fill in the .env file:
token=YOUR_DISCORD_BOT_TOKEN
CLIENT_ID=YOUR_CLIENT_ID
MONGO_URI=YOUR_MONGO_URI
# shard config (Default: 0)
SHARD_ID=0
GOOGLE_API_KEY=your_google_api_key
GOOGLE_CSE_ID=your_google_cse_id
SERPAPI_KEY=your_serpapi_key
OMDB_API_KEY=your_omdb_api_key
WOLFRAM_APP_ID=your_wolfram_app_id
GEMINI_API_KEY=your_gemini_api_key
Copy the example settings file and configure it:
cp util/settings.json.example util/settings.jsonEdit util/settings.json with your configuration:
{
"logWebhook": ["CHANNEL_ID", "TOKEN"], // Primary logging webhook
"logWebhook2": ["CHANNEL_ID", "TOKEN"], // Secondary logging webhook
"reportWebhook": ["CHANNEL_ID", "TOKEN"], // User reports webhook
"suggestWebhook": ["CHANNEL_ID", "TOKEN"], // Suggestions webhook
"joinWebhook": ["CHANNEL_ID", "TOKEN"], // Bot guild join events
"leaveWebhook": ["CHANNEL_ID", "TOKEN"], // Bot guild leave events
"devs": ["USER_ID"], // Developer user IDs
"testers": ["USER_ID"], // Beta tester user IDs
"moderators": ["USER_ID"], // Bot moderator user IDs
"event": "none", // Special event mode
"debug": "false", // Debug mode (true/false)
"prefix": ">", // Legacy prefix (if needed)
"version": "1.1.0" // Bot version
}Webhook URLs: To get webhook URLs, create a webhook in Discord and use the format:
- Channel ID: The number after
/webhooks/in the webhook URL - Token: The string after the channel ID
Example: https://discord.com/api/webhooks/123456789/abcdefghijklmnop
- Channel ID:
123456789 - Token:
abcdefghijklmnop
npm run startnpm run deploywaterfall/
ββ commands/
β ββ prefix commands... # Disabled, can be enabled from /events/message.js
ββ slashCommands/
β ββ gen/
β ββ mod/
β ββ dev/
β ββ utility/
β ββ bot/
ββ events/
ββ schemas/
ββ scripts/
ββ util/
β ββ i18n.js
β ββ settingsModule.js
β ββ settings.json
β ββ ...
ββ bot.js
ββ shardManager.js
ββ generateCommands.js
ββ deploy-commands.js
ββ logger.js
ββ package.json
ββ hourlyWorker.js
ββ dailyWorker.js
ββ crowdin.yml
ββ README.md
We support community translations through Crowdin:
If you'd like to contribute, join the project and help translate Waterfall into more languages!
Contributions are welcome!
If you'd like to help:
- Fork the repo
- Create a feature branch
- Submit a pull request
For larger changes, open an issue or chat with us in the support server:
Waterfall is developed and maintained by DevSiege Studios.
Special thanks to:
- Community translators
- Contributors who helped shape the codebase
- Testers & early adopters
- Our Discord community
Waterfall is licensed under the GPL-3.0 license.
This means:
- You may use, modify, and distribute Waterfall
- You must disclose source if redistributed
- You must keep the same license
Full license text is available in LICENSE.
Need help or want to discuss Waterfall?
Join our support server:
Thank you for using or contributing to Waterfall!
If you enjoy the bot, consider starring the repository and sharing it with others.
- DevSiege Studios