DEV Community

KEI
KEI

Posted on

I built a GUI Client for Discord Bots using Electron & React (Open Source)

Hey developers!

If you code Discord bots, you've probably faced this annoyance:

"I just want to check if my bot can see this channel." "I want to test how this Embed looks without writing a temporary script." "I want to send a message as my bot manually."
Enter fullscreen mode Exit fullscreen mode

The official Discord client doesn't allow you to log in with a Bot Token. For years, we've had to write throwaway scripts just to perform simple interactions as our bots.

So, I decided to build a solution.
Introducing OpenBotClient

OpenBotClient is a desktop application that mimics the Discord UI but authenticates using a Bot Token. It allows you to "log in" as your bot and interact with servers, channels, and users visually.

It’s open-source, built with Electron + React, and designed to be a lightweight debugger for your bot development workflow.

Key Features

I focused on making it feel familiar and safe:

GUI Login: Just paste your Bot Token (stored securely in memory).

Real-time Messaging: View channels and send messages/embeds as your bot.

Markdown Support: Full rendering for bold, italic, code blocks, and links.

Multi-Server Navigation: Easily switch between all the Guilds your bot is in.

Zero Setup: No Python scripts, no config files. It's a standalone app.
Enter fullscreen mode Exit fullscreen mode

The Tech Stack

I built this to practice modern desktop development. Here's what's under the hood:

Runtime: Electron (Main/Renderer process architecture)

Frontend: React + TypeScript

State Management: Zustand (for handling messages and user state)

Styling: TailwindCSS (to replicate the dark mode UI)

Build Tool: Vite
Enter fullscreen mode Exit fullscreen mode

Security First

One of the biggest concerns with third-party clients is token safety. OpenBotClient is designed with security in mind:

Local Only: Your token never leaves your machine. It is stored in the app's volatile memory.

Open Source: You can audit the code yourself on GitHub to see exactly how the token is handled.

IPC Bridge: I used Electron's contextBridge to securely communicate between the Node.js backend and the React frontend.
Enter fullscreen mode Exit fullscreen mode

Try it out

I just released v0.1.2, which adds a smoother login flow and multi-language support (English/Chinese).

You can grab the latest release or check out the source code here:

GitHub Repository: https://github.com/finn001023-cpu/-OpenBotClient-

I'd love to hear your feedback! If you find any bugs or have feature requests, feel free to open an issue or drop a comment below.

Happy coding!

Top comments (0)