DamonJS is a modified Shoukaku wrapper for Lavalink that provides enhanced queue management, voice state handling, and track resolution. Version 2.1.8 supports Node >=16.5.0, ships TypeScript definitions, and offers a drop-in replacement for Shoukaku with additional features like built-in queue support, custom filters, and improved error handling. It is designed for Discord music bots, simplifying audio streaming with Lavalink nodes. Active maintenance is indicated by recent updates and community use.
npm install damonjsNo compatibility data collected yet for this library.
Verified import paths — ran on the pinned version, not inferred.
Initializes a Damon client connecting to a Lavalink node with Discord.js, showing essential setup with environment variable for password.
Use import instead of require; set type: module in package.json if needed
Implement a proper voice state update handler that forwards payloads to Discord
Pass source parameter like { source: 'youtube' } to search()Remove protocol prefix; use host: 'myhost.com' instead of 'http://myhost.com'
Make send() async or return a Promise to ensure proper voice state propagation
const client = new Damon(...); client.on('ready', ...) if you have a wrapper, or use the library's built-in eventsCheck node host/port and auth; ensure Lavalink is running and accessible
Provide a 'send' function that takes (guildId, payload) and sends it to Discord