BetterDiscord is a client modification for Discord. This allows you to add plugins and themes to your personal copy of Discord. BetterDiscord also adds a number of other features out of the box.
BetterDiscord is currently broken up into three packages--the local injector, the preload, and the renderer application. They form this miniature monorepo that is managed by pnpm
.
The main job of this package is to inject into Discord and load the renderer package. The injector and its code live in the injector
folder.
Preload is the preload script for Discord's main BrowserWindow
object. This sets up our cross-context APIs. The preload package and its code live in the preload
folder.
This is the main payload of BetterDiscord. This is what gets executed in the renderer context by the injector. This portion is where most of the user interaction and development will be. This module is responsible for loading plugins and themes, as well as handling settings, emotes and more. The renderer and its code live in the renderer
folder.