Zeres Plugin Library
ZeresPlugin Library is an open-source library designed specifically for BetterDiscord plugin developers. BetterDiscord is a widely used client modification tool that allows users to customize Discord's interface and functionality beyond what the standard client offers. ZeresPlugin Library was created to simplify the plugin development process by providing a robust toolkit that handles complex tasks such as:
While the Zeres Plugin Library is a mature and stable framework, there are opportunities for future development and improvement:
[Bug] BD crashing on startup with any plugin installed #1583 zeres plugin library
You have 200 normal maps (DDS format) that need to be split into RGB and alpha channels to be recompiled for a different game engine. The Solution: Using the Zeres FileType plugin to open DDS files, then the Channel Splitter tool built into the library, you can export the Red channel as a separate PNG and the Alpha channel as a separate JPEG.
ZLibrary also provided a way for developers to access its functions from within plugins. This cross‑plugin communication is essential when you want to build on top of existing functionality. The Solution: Using the Zeres FileType plugin to
This is normal behavior for client modifications.
Zeres introduces a standardized lifecycle state machine: Registered -> Instantiated -> Active -> Suspended -> Unloaded . Unlike simple factories, the Lifecycle Manager handles dependency injection. If Plugin A requires Plugin B, Zeres resolves the dependency graph topologically before instantiation, preventing circular dependency deadlocks. This is normal behavior for client modifications
| Feature | ZPlugin | MEF (Managed Extensibility Framework) | Prism Modularity | NLua (scripting) | |---------|---------|----------------------------------------|------------------|------------------| | | Low | High | High | Medium | | Plugin unloading | No | Partial (with AppDomains) | No | Yes (via script domains) | | Dependency injection | No | Yes | Yes | No | | Cross-platform | Yes (Core) | Yes | Yes | Yes | | Learning curve | Very low | Steep | Steep | Low (if Lua is known) |
Please provide the or the exact application it extends, and I’ll generate a thorough report for you.
Drop that plugin file into your BetterDiscord plugins folder.
In software development, developers often have to write the same pieces of code repeatedly to handle common tasks—such as creating settings menus, sending notifications, or fetching data from Discord's internal systems.