A powerful, multi-purpose Discord utility bot built for millions of servers
π Quick Start β’ π Documentation β’ π§ Installation β’ π€ Support
InfiniBot is a multipurpose Discord utility bot designed to scale across millions of servers using SQLite for storage, docker for containerization, and sharding for distribution. InfiniBot is in thousands of servers, with well over half a million active users. It's built to be fast, efficient, and easy to use.
- Advanced Profanity Filter - Customizable word filtering with strike system
- Intelligent Spam Detection - Multi-layered anti-spam protection
- Comprehensive Logging - Track all messages and moderator actions, including message edit and deletion history
- Automated Moderation - Smart auto-moderation with configurable thresholds and punishments
- Leveling System - Reward active members with XP and role rewards
- Birthday Celebrations - Never miss a community member's special day
- Reaction Roles - Self-assignable roles via emoji reactions
- Custom Role Messages - Automated role assignment messages
- Welcome/Leave Messages - Personalized greetings for new members
- Joke Commands - Built-in entertainment features
- Motivational Messages - Boost server morale
- And more!
Note: External contributions are welcome! You're free to fork, contribute, and self-host for personal use or small friend groups. However, please do not create competing public instances that would conflict with the official InfiniBot service.
If you just want to use the official InfiniBot, you can invite it to your server using the button below:
If you want to self-host InfiniBot, you'll need to set up your own instance. Here's what you need:
InfiniBot runs inside a Docker container, so Docker must already be installed. You can find documentation for setting up Docker here.
Additionally, you need to have a Discord bot registered with Discord. You can register your bot at the Discord Developer Portal.
Follow these steps to set up InfiniBot for a Linux environment. Some steps may vary for certain operating systems.
Get InfiniBot up and running in just a few minutes:
git clone https://github.com/cypress-exe/InfiniBot.git
cd InfiniBotsudo bash build.bashDocker will begin building the container, which may take some time on the first run.
π‘ Tip: Use
--use-cacheflag for faster builds (after initial setup)
sudo bash run.bash
β οΈ Expected: You'll see an error about missing environment variables - this is normal!
sudo vim .envSet your Discord bot token:
DISCORD_AUTH_TOKEN=your_bot_token_here
β οΈ Important: Only modify theDISCORD_AUTH_TOKENvariable. Leave others unchanged.
sudo bash rebuild_and_run.bashπ Success! InfiniBot should now be running. Don't forget to invite your bot to a server!
Due to the way the bot works under the hood, you may need to restart InfiniBot after adding it to its first server. You can do this by running the previous command again:
sudo bash rebuild_and_run.bashIn addition, you may need to wait a few hours before all of InfiniBot's commands appear in your Discord client. This is due to Discord's caching system, which can take time to update. Try restarting your Discord client for the changes to take effect.
You can customize InfiniBot's behavior through the ./generated/configure folder:
- π€¬ Profanity Filter - Add/remove words from
default_profane_words.txt - π¨βπ» Developer Settings - Configure admin IDs and bot settings in
config.json
π Note: Most settings are pre-configured for the official InfiniBot and should be left unchanged for self-hosted instances.
There are a few development scripts in the root directory of the repository to help you manage the docker container and environment. These scripts are designed to be run with sudo to ensure proper permissions for Docker operations.
User documentation is available on the InfiniBot Docs Website and provides detailed information on:
- Installation - Step-by-step setup guide
- Configuration - How to customize settings
- Commands - List of available commands and their usage
- Features - Overview of all bot features and functionalities
Developer documentation is available in the ./docs folder of this repository.
- π Bug Reports - Create an issue
- π‘ Feature Requests - Submit a request
- π¬ Discord Support - Join the server
- π Python - Core bot logic
- π nextcord - Discord API wrapper
- ποΈ SQLite - Database storage
- π³ Docker - Containerization
- β‘ Asyncio - Asynchronous programming
This project is licensed under a Custom Open Source License based on GPL v3 - see the LICENSE file for details.
Usage Guidelines:
- β Personal Use - Fork, modify, and self-host for personal use or small friend groups
- β Contributions - Pull requests and contributions are welcome!
- β Open Source Derivatives - Any modifications must also be open source
- β Learning - Use the code for educational purposes
- β Public Competition - Hosting competing public instances is prohibited
- β Commercial Use - Commercial use without explicit permission is prohibited
Contributing:
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add some amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
Made by cypress.exe
β Star this repository if you found it helpful!
