A powerful, open-source GUI tool to create and manage Discord bots without writing code.
Built with Python 3.13 and PySide 6.
Discord Bot Creator is a desktop application designed to simplify the process of creating Discord bots. It provides a user-friendly interface to configure commands, automated replies, and moderation actions. Whether you are a beginner looking to make your first bot or a developer needing a quick GUI solution, this tool utilizes the robust discord.py library and a modern MVC architecture to deliver performance and stability.
- Interactive Interface: Clean and responsive GUI built with Qt 6 (PySide 6.10).
- Logic Builder: Create complex message triggers using conditions (Equal to, Contains, Starts with, Regex).
- Automated Responses: Configure replies, reactions, and delays.
- Moderation Actions: Set up auto-kick, auto-ban, pin messages, or delete messages based on triggers.
- Multi-Language Support: Fully localized interface (English and Portuguese).
- Visual Feedback: Real-time logs and status indicators.
This project relies on modern Python libraries to ensure a native and fluid experience:
- Core: Python 3.13+
- GUI Framework: PySide6 ( v6.10.1) & QtAwesome
- Bot Logic: discord.py
- Widgets: QExtraWidgets
- Emojis: Twemoji API & Emoji Data Python
Ensure you have Python 3.10 or higher installed. This project specifically targets Python 3.13.3.
-
Clone the repository:
git clone https://github.com/gpedrosobernardes/discord_bot_creator cd discord_bot_creator -
Install dependencies:
pip install -r requirements.txt
-
Run the application:
python main.py
If you are running the compiled version (.exe) or launching the script for the first time, Windows SmartScreen may
display a warning: "Windows protected your PC".
This happens because the application is not signed with a paid digital certificate. To run it:
- Click on "More info".
- Click on "Run anyway".
Upon launching the application, you will need to provide your Discord Bot Token.
- Go to the Discord Developer Portal.
- Create a new application and generate a Bot Token.
- Paste the token into the application's Token field.
Use the Editor Window to define how your bot reacts:
- Expected Message: The trigger (e.g., "!hello").
- Conditions: Refine the trigger (e.g., User is not admin OR Channel name contains "general").
- Actions: Define what happens (Reply "Hi there!", React with 😎, etc.).
Click the "Turn on Bot" button in the interface. You can view real-time logs in the "Logs" window.
Alternatively, you can run the bot process headless (without GUI):
python bot.pyTo create a standalone executable (.exe) for distribution, use the included setup.py script which utilizes
cx_Freeze.
python setup.py buildThe executable will be generated in the build/ directory, including all necessary assets and translations.
This project follows a strict Model-View-Controller (MVC) architectural pattern to ensure scalability and maintainability.
source/models: Data logic, database interactions, and strict typing.source/views: GUI layouts using Qt Model/View delegates.source/controllers: Connects models to views and handles business logic.translations/: Contains.tsand compiled.qmfiles for i18n.
To add or update languages, you need Qt Linguist tools.
- Generate/Update translation files:
pyside6-lupdate -extensions py ./source -no-obsolete -ts translations/generated/en_us.ts-
Edit the
.tsfile using Qt Linguist. -
Compile to
.qm:
pyside6-lrelease translations/generated/en_us.ts -qm translations/build/en_us.qmThis project is licensed under the MIT License - see the LICENSE file for details.