OpenBotClient is an open-source desktop application built with Electron and React. It allows developers to securely log in using a Discord Bot Token and interact with Discord servers and channels through a Graphical User Interface (GUI) that mimics the official Discord client.
The missing GUI for your Discord Bot. Chat, interact, and manage communities directly as your Bot
- Download
- Features
- Tech Stack
- Prerequisites
- Installation
- Usage
- Architecture
- Contributing
- Community
- License
- Disclaimer
Get the latest version of OpenBotClient:
- Secure Login: Log in directly using your Discord Bot Token.
- Security: The token is stored securely in the Electron Main Process memory and is never exposed to the frontend (Renderer Process).
- Server List: View all servers (Guilds) the bot is a member of.
- Channel List: Browse text channels within the selected server.
- Message Viewing: Read messages in real-time as they are sent to channels.
- Message Sending: Send messages to channels directly from the interface.
- Rich Text Support: Full Markdown rendering support, including:
- Bold, Italic, Strikethrough
- Links
- Code blocks and inline code
- Blockquotes
- Custom Emojis: Automatically renders Discord custom emojis (static and animated) inline with text.
- Dark Mode: Features a dark theme inspired by the official Discord application.
- Responsive Design: Adjusts layout gracefully when resizing the window.
- Bot Identification: Visual indicators clearly show the current session is running as a Bot.
- Runtime: Electron
- Frontend Framework: React
- Language: TypeScript
- Styling: TailwindCSS
- Discord Integration: discord.js (Backend/Main Process)
- State Management: Zustand
- Build Tool: Vite
Before running the application, ensure you have the following installed:
- Node.js (v18 or higher recommended)
- npm (Node Package Manager)
- Clone the repository:
git clone [https://github.com/finn001023-cpu/-OpenBotClient-.git](https://github.com/finn001023-cpu/-OpenBotClient-.git) cd -OpenBotClient- Install dependencies: Bash npm install
Usage Development Mode
To start the application in development mode with hot-reloading: Bash
npm run dev
This command runs the Vite server and Electron simultaneously. Building for Production
To compile the application into an executable file:
Build the source code:
Bash
npm run build
Package the application for your operating system:
Windows: npm run dist:win
macOS: npm run dist:mac
Linux: npm run dist:linux
The output files will be located in the release directory. Configuration
To ensure the client functions correctly, you must enable the specific Privileged Gateway Intents for your bot in the Discord Developer Portal:
Go to your Application > Bot settings.
Scroll down to "Privileged Gateway Intents".
Enable Message Content Intent (Required to read message text).
Enable Server Members Intent (Recommended for member lists).
Architecture
This project follows a secure architecture pattern to handle sensitive data:
Main Process (Node.js): Handles the discord.js client. It connects to the Discord Gateway, listens for events (like messageCreate), and manages the Bot Token.
Renderer Process (React): Handles the UI display. It communicates with the Main Process via a secure IPC (Inter-Process Communication) bridge.
Preload Script: Exposes a limited, secure API (window.electronAPI) to the frontend, preventing direct Node.js access from the UI.
Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
Fork the project
Create your feature branch (git checkout -b feature/AmazingFeature)
Commit your changes (git commit -m 'Add some AmazingFeature')
Push to the branch (git push origin feature/AmazingFeature)
Open a Pull Request
Community
Join our Discord community to discuss features, report bugs, or just hang out!
Join the Discord Server License
This project is licensed under the MIT License - see the LICENSE file for details. Disclaimer
This tool is intended for educational purposes and for managing your own bots. Please ensure you comply with Discord's Terms of Service when using this application. Do not use this tool for user accounts (self-bots), as this is against Discord TOS.
