FilterRegistration

Registration options for a filter.

Signature

export interface FilterRegistration

Properties

6

Methods

0

No methods.

Properties

name: RegistryFilterName;

The canonical filter name. Used as the registry identity/index key. Unless {@link FilterRegistration.wireName} is set, it is also the key written into the wire payload.

wireName?: string;

The key actually written into the wire payload, when it differs from {@link FilterRegistration.name}. Needed when two distinct filters share the same wire key in different envelopes — e.g. the `lavadspx-plugin` echo (`pluginFilters.echo`, flat) and the `lavalink-filter-plugin` echo (`pluginFilters["lavalink-filter-plugin"].echo`, nested) both write `echo` but must be registered under different canonical names so the registry can resolve each unambiguously.

@defaultname
pluginName?: RegistryPluginName;

The Lavalink plugin that owns this filter — relevant when `scope === FilterScope.Plugin`. When provided, the filter is nested under `pluginFilters[pluginName][name]` (Lavalink spec). When omitted on a Plugin-scoped filter, the filter is placed flat at `pluginFilters[name]`.

capability?: RegistryCapability;

The plugin capability that backs this filter — used to validate via {@link PluginRegistry} at apply time. Recommended whenever `scope === FilterScope.Plugin`.

aliases?: string[];

Alternative names that should resolve to this same filter (e.g. fork renames sharing the same payload shape). Aliases that collide with an already-registered canonical name are ignored to avoid hijacking.