Documentation Index
Fetch the complete documentation index at: https://mintlify.com/betterdiscord/betterdiscord/llms.txt
Use this file to discover all available pages before exploring further.
BdApi.Plugins is a utility class for working with plugins. It provides methods to enable, disable, reload, and retrieve plugin instances.
Properties
folder
The path to the plugins folder.
BdApi.Plugins.folder: string
Example
console.log(BdApi.Plugins.folder);
// Output: /path/to/BetterDiscord/plugins
Methods
isEnabled
Determines if a particular plugin is enabled.
BdApi.Plugins.isEnabled(idOrFile: string): boolean
Returns: boolean - true if the plugin is enabled, false otherwise
Example
if (BdApi.Plugins.isEnabled("MyPlugin")) {
console.log("MyPlugin is currently enabled");
}
enable
Enables the given plugin.
BdApi.Plugins.enable(idOrFile: string): void
Example
BdApi.Plugins.enable("MyPlugin");
disable
Disables the given plugin.
BdApi.Plugins.disable(idOrFile: string): void
Example
BdApi.Plugins.disable("MyPlugin");
toggle
Toggles whether a particular plugin is enabled.
BdApi.Plugins.toggle(idOrFile: string): void
Example
// Toggle plugin state
BdApi.Plugins.toggle("MyPlugin");
reload
Reloads a particular plugin if it is enabled.
BdApi.Plugins.reload(idOrFile: string): void
Example
// Reload plugin to apply changes
BdApi.Plugins.reload("MyPlugin");
get
Gets a particular plugin instance.
BdApi.Plugins.get(idOrFile: string): object | undefined
Returns: object | undefined - The plugin instance, or undefined if not found
Example
const plugin = BdApi.Plugins.get("MyPlugin");
if (plugin) {
console.log(`Plugin name: ${plugin.name}`);
console.log(`Plugin version: ${plugin.version}`);
}
getAll
Gets all plugin instances.
BdApi.Plugins.getAll(): Array<object>
Returns: Array<object> - Array of all plugin instances
Example
const allPlugins = BdApi.Plugins.getAll();
console.log(`Total plugins: ${allPlugins.length}`);
allPlugins.forEach(plugin => {
console.log(`${plugin.name} v${plugin.version}`);
});
Common patterns
Check and enable a plugin
if (!BdApi.Plugins.isEnabled("RequiredPlugin")) {
console.log("Enabling required plugin...");
BdApi.Plugins.enable("RequiredPlugin");
}
List all enabled plugins
const enabledPlugins = BdApi.Plugins.getAll()
.filter(plugin => BdApi.Plugins.isEnabled(plugin.id));
console.log("Enabled plugins:", enabledPlugins.map(p => p.name));
Safe plugin reload
function safeReload(pluginId) {
const plugin = BdApi.Plugins.get(pluginId);
if (plugin && BdApi.Plugins.isEnabled(pluginId)) {
BdApi.Plugins.reload(pluginId);
return true;
}
return false;
}