Skip to main content

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
idOrFile
string
required
Plugin ID or filename
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
idOrFile
string
required
Plugin ID or filename
Example
BdApi.Plugins.enable("MyPlugin");

disable

Disables the given plugin.
BdApi.Plugins.disable(idOrFile: string): void
idOrFile
string
required
Plugin ID or filename
Example
BdApi.Plugins.disable("MyPlugin");

toggle

Toggles whether a particular plugin is enabled.
BdApi.Plugins.toggle(idOrFile: string): void
idOrFile
string
required
Plugin ID or filename
Example
// Toggle plugin state
BdApi.Plugins.toggle("MyPlugin");

reload

Reloads a particular plugin if it is enabled.
BdApi.Plugins.reload(idOrFile: string): void
idOrFile
string
required
Plugin ID or filename
Example
// Reload plugin to apply changes
BdApi.Plugins.reload("MyPlugin");

get

Gets a particular plugin instance.
BdApi.Plugins.get(idOrFile: string): object | undefined
idOrFile
string
required
Plugin ID or filename
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;
}