Plugin System Overview
DisGoLink defines three types of plugin interfaces:Plugin: Base plugin interface with metadataOpPlugin: Handles custom WebSocket operationsEventPlugin: Handles custom player events
Plugin Interfaces
Base Plugin
All plugins must implement the base interface:OpPlugin
Handle custom WebSocket operations from Lavalink:EventPlugin
Handle custom player events:PluginEventHandler
Optional interface for lifecycle hooks:Registering Plugins
Plugins are registered when creating the DisGoLink client:Multiple Plugins
Register multiple plugins at once:Iterating Plugins
Access registered plugins:Available Lavalink Plugins
These popular Lavalink plugins can be integrated with DisGoLink:SponsorBlock
Skip sponsored segments in YouTube videos. Lavalink Server Setup:LavaQueue
Server-side queue management. Features:- Persistent queues
- Shuffle and repeat
- History tracking
LavaSrc
Additional audio sources (Spotify, Apple Music, Deezer, Yandex Music). Lavalink Server Setup:LavaLyrics
Fetch synchronized lyrics for tracks. Lavalink Server Setup:LavaSearch
Enhanced search capabilities with filtering. Lavalink Server Setup:Creating Custom Plugins
Here’s a complete example of a custom plugin:Plugin Filters
Some plugins add custom audio filters:Best Practices
- Error Handling
- Thread Safety
- Logging
FAQ
FAQ
Next Steps
Filters
Learn about built-in and plugin audio filters
Error Handling
Handle plugin errors properly